Status eines Ereignisses nicht automatisch löschen

Guten Morgen,

ich habe folgende Cards erstellt für einen Wassersensor, der Wasser auf den Boden anzeigt. Dies wird auf dem Dashboard mittels dieser Card angezeigt.
Screenshot 2024-06-23 124039

Da er auch nur Feuchtigkeit anzeigt und dieses Ereignis öfters nur kurz anhält, sehe ich das auf dem Dashboard nicht mehr. Könnte diese Card (button-card) das Ereignis auch merken und zum Beispiel blinken, bis manuell (Knopfdruck) zurück gesetzt wird?

Mein jetziger Code sieht so aus:

  - type: vertical-stack
    cards:
      - type: custom:button-card
        color_type: card
        entity: binary_sensor.wassersensor_waschkuche_wasserstand_erkannt
        show_icon: false
        double_tap_action:
          action: more-info
          entity: binary_sensor.wassersensor_waschkuche_alarmzustand
        name: Wassereinbruch<br>Sensor
        styles:
          card:
            - height: 70px
            - font-size: 14px
              color: black
            - font-weight: bold
            - font-family: Helvetica
        state:
          - value: 'on'
            color: red
            icon: mdi:alert
            styles:
              card:
                - animation: blink 1s linear infinite
                - filter: drop-shadow(0 0 1.0rem rgb(255,255,255))
                - border: 5px
                - font-size: 14px
                - filter: opacity (70%)
          - operator: default
            name: Wassereinbruch<br>Sensor
            color: rgb(0,255,0)

Du könntest gleichzeitig eine Automatisierung mit persistent_notifocation schalten.

OK, das würde das Verhalten der Karte aber nicht ändern, oder? Hiermit würde nur eine persistente Benachrichtigung erfolgen?

Wie wäre es, wenn du einen Bool-Helper anlegst, welcher bei Nässe per Automation auf TRUE gesetzt wird. Den Status des Helpers könntest du dann aufs Dashboard bringen. Mit einem separatem Button oder auch Automatisierung per Zeit könnte dieser Helper dann wieder auf FALSE gesetzt werden.

Wäre die Automation so schon einmal korrekt?

alias: Status Wassermeldung Waschküche
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.wassersensor_waschkuche_feuchtigkeit_erkannt
    to: "on"
condition: []
action:
  - service: input_boolean.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.wasseralarm_boolean
mode: single

Wie erhalte ich nun den Status dieses Schalters ausgelesen?

ja, wäre richtig.
Dann noch einen "Gegen"Automatisierung, wann der input_boolean wieder off geschaltet werden soll.

Das würde ich gern per Tastendruck auf meine beiden Cards legen. Wie würde die toggle_action dazu lauten?

Screenshot 2024-06-24 105356

      - type: custom:button-card
        color_type: card
        entity: binary_sensor.wassersensor_waschkuche_feuchtigkeit_erkannt
        show_icon: false
        double_tap_action:
          action: more-info
          entity: binary_sensor.wassersensor_waschkuche_alarmzustand
        name: Feuchtigkeits<br>Sensor
        styles:
          card:
            - height: 70px
            - font-size: 14px
              color: black
            - font-weight: bold
            - font-family: Helvetica
        state:
          - value: 'on'
            color: auto
            styles:
              card:
                - filter: drop-shadow(0 0 1.0rem rgb(255,255,255))
                - border: 5px
                - font-size: 14px
                - filter: opacity (70%)
                - color: red
          - operator: default
            name: Feuchtigkeits<br>Sensor
            color: rgb(0,255,0)
layout:
  width: 126
  max_cols: 4
  padding: 9px 9px 9px 9px

ich würde aber noch das “from” mit rein nehmen

trigger:
  - platform: state
    entity_id:
      - binary_sensor.wassersensor_waschkuche_feuchtigkeit_erkannt
    from: "off"
    to: "on"

Zum Button: da holst du dir einfach den input_boolean mit rein, anstelle des sensors

tap_action:
  action: call-service
  service: input_boolean.turn_off
  target:
    entity_id: input_boolean.wasseralarm_boolean
entity: input_boolean.wasseralarm_boolean

OK. Das habe ich so weit alles hinbekommen. Aber…

Wie kann ich in einer Automation die beiden Sensoren wieder auf trocken stellen? Finde dazu kein Gerät bzw. binary_Sensor von Wassersensoren, nur Entitäten?

So sieht es aus. Würde auch gerne alles mittig haben und nicht oben angeklatscht?
Screenshot 2024-06-24 115709

     - type: custom:button-card
        color_type: card
        entity: binary_sensor.wassersensor_waschkuche_feuchtigkeit_erkannt
        show_icon: false
        show_state: true
        tap_action:
          action: call-service
          service: input_boolean.turn_off
          target:
            entity_id: input_boolean.wasseralarm_boolean
            entity: input_boolean.wasseralarm_boolean
        double_tap_action:
          action: more-info
          entity: binary_sensor.wassersensor_waschkuche_alarmzustand
        name: Feuchtigkeits<br>Sensor
        styles:
          card:
            - height: 70px
            - font-size: 14px
              color: black
            - font-weight: bold
            - font-family: Helvetica
        state:
          - value: 'on'
            color: auto
            styles:
              card:
                - filter: drop-shadow(0 0 1.0rem rgb(255,255,255))
                - border: 5px
                - font-size: 14px
                - filter: opacity (70%)
                - color: red
          - operator: default
            name: Feuchtigkeits<br>Sensor
            color: rgb(0,255,0)````

Der Sensor stellt sich doch autom. wieder auf trocken, das war doch dein ursprüngliches Problem, oder?

Ja richtig, hatte ich vergessen :slight_smile:

Aber das dauert sehr lange, würde also zusätzlich per Knopfdruck zurück stellen können.

kurz oder lang scheint relativ :wink:

Ein binary_sensor lässt sich nicht so leicht “manipulieren”, evtl. über die Entwickler-Werkzeuge den Zustand ändern.

Ich würde dann einfach den binary_sensor nicht ins Dashboard holen, sondern nur den input_boolean.

- type: custom:button-card
        color_type: card
        entity: input_boolean.wasseralarm_boolean
        show_icon: false
        show_state: true
        tap_action:
          action: call-service
          service: input_boolean.turn_off
          target:
            entity_id: input_boolean.wasseralarm_boolean
            entity: input_boolean.wasseralarm_boolean
        double_tap_action:
          action: more-info
          entity: binary_sensor.wassersensor_waschkuche_alarmzustand
        name: Feuchtigkeits<br>Sensor
        styles:
          card:
            - height: 70px
            - font-size: 14px
              color: black
            - font-weight: bold
            - font-family: Helvetica
        state:
          - value: 'on'
            color: auto
            styles:
              card:
                - filter: drop-shadow(0 0 1.0rem rgb(255,255,255))
                - border: 5px
                - font-size: 14px
                - filter: opacity (70%)
                - color: red
          - operator: default
            name: Feuchtigkeits<br>Sensor
            color: rgb(0,255,0)````

Also so steht es jetzt drinnen:

      - type: custom:button-card
        color_type: card
        entity: input_boolean.wasseralarm_boolean
        show_icon: false
        show_state: true
        tap_action:
          action: call-service
          service: input_boolean.turn_off
          target:
            entity_id: input_boolean.wasseralarm_boolean
            entity: input_boolean.wasseralarm_boolean
        double_tap_action:
          action: more-info
          entity: binary_sensor.wassersensor_waschkuche_alarmzustand
        name: Feuchtigkeits<br>Sensor
        styles:
          card:
            - height: 70px
            - font-size: 14px
              color: black
            - font-weight: bold
            - font-family: Helvetica
        state:
          - value: 'on'
            color: auto
            styles:
              card:
                - filter: drop-shadow(0 0 1.0rem rgb(255,255,255))
                - border: 5px
                - font-size: 14px
                - filter: opacity (70%)
                - color: red
          - operator: default
            name: Feuchtigkeits<br>Sensor
            color: rgb(0,255,0)

Ich erhalte aber die Fehlermeldung:

Fehler beim Aufrufen des Diensts input_boolean/turn_off. extra keys not allowed @ data[‘target’][‘entity’]. Got ‘input_boolean.wasseralarm_boolean’

Habs rausgefunden. Die entity: musste raus, nur die entity_id!

Es läuft dank Dir. Vielen Dank.

Nachtrag:
Kann ich den Status, den ich in der Karte ja unten aufführe (an/aus) ändern in Erkannt und Trocken?

Wie bekomme ich die 3 Zeilen mittig in dem Button?

Screenshot 2024-06-24 142426

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

sowas in der Art hatten wir hier schon mal

OK. Danke. Aber was mache ich falsch, da Fehlermeldungen kommen.

   
  - platform: template
    sensors:
      Waschkueche_Wasser_erkannt:
        value_template: >
          {{ 'ERKANNT' if is_state('input_boolean.wasseralarm_boolean_wasser', 'on')
             else 'NICHT ERKANNT' }}
        friendly_name: 'Wassersensor_Waschkueche_Wasser_erkannt'
 
  - platform: template
    sensors:
      Waschkueche_Feuchtigkeit_erkannt:
        value_template: >
          {{ 'ERKANNT' if is_state('input_boolean.wasseralarm_boolean_feuchtigkeit', 'on')
             else 'NICHT ERKANNT' }}
        friendly_name: 'Wassersensor_Waschkueche_Feuchtigkeit_erkannt'
        

Konfigurationswarnungen
Invalid config for ‘template’ from integration ‘binary_sensor’ at configuration.yaml, line 283: invalid slug Waschkueche_Wasser_erkannt (try waschkueche_wasser_erkannt) for dictionary value ‘sensors’, got {‘Waschkueche_Wasser_erkannt’: {‘value_template’: “{{ ‘ERKANNT’ if is_state(‘input_boolean.wasseralarm_boolean_wasser’, ‘on’)\n else ‘NICHT ERKANNT’ }}\n”, ‘friendly_name’: ‘Wassersensor_Waschkueche_Wasser_erkannt’}}
Invalid config for ‘template’ from integration ‘binary_sensor’ at configuration.yaml, line 291: invalid slug Waschkueche_Feuchtigkeit_erkannt (try waschkueche_feuchtigkeit_erkannt) for dictionary value ‘sensors’, got {‘Waschkueche_Feuchtigkeit_erkannt’: {‘value_template’: “{{ ‘ERKANNT’ if is_state(‘input_boolean.wasseralarm_boolean_feuchtigkeit’, ‘on’)\n else ‘NICHT ERKANNT’ }}\n”, ‘friendly_name’: ‘Wassersensor_Waschkueche_Feuchtigkeit_erkannt’}}

Habe dies in der configuration.yaml eingefügt. Falsch?

Hab’s nicht getestet:

template:
  - sensor:
    - name: Waschkueche_Feuchtigkeit_erkannt
      unique_id: c687f695-2064-43ba-a2d0-d1aee6349962
      state: >
        {{ 'ERKANNT' if is_state('input_boolean.wasseralarm_boolean_feuchtigkeit', 'on')
             else 'NICHT ERKANNT' }}

In die configuration.yaml? Das klappt nicht.

Eigentlich steht ja alles da:

Invalid … Waschkueche_Wasser_erkannt … try waschkueche_wasser_erkannt

Also versuch es mal mit Kleinbuchstaben.

Ja das war es. Aber dazu noch eine generelle Frage. Wird damit ein neuer Sensor erstellt oder forme ich den alten nur um, also den State?

Sensoren haben immer Kleinbuchstaben. Es sollte also kein neuer angelegt werden.