Wiederholende Benachrichtigungen automatisch löschen

Hallo zusammen,

ich muss gestehen der Titel klingt verwirrend, daher eine kurze Erläuterung:

Ziel ist, dass ich bei einem definierten Zustand in regelmäßigen Abständen über die HA App auf dem Smartphone benachrichtigt werde… und zwar solange, bis ein anderer Zustand erreicht ist. Daraufhin soll die Benachrichtigung auf dem Smartphone aber auch automatisch verschwinden.

Grundsätzlich klappt die Wiederholung und auch die Löschung an und für sich sehr zuverlässig. Beides zusammen aber leider nicht…
Nachfolgend mein Beispielszenario:

alias: "❌ #Wiederkehrende Benachrichtigung löschen"
description: Benachrichtigung nur an anwesende Personen
trigger:
  - platform: state
    entity_id:
      - light.ambiente_buro
    to: "on"
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: LED AN
  - platform: state
    entity_id:
      - light.ambiente_buro
    to: "off"
    id: LED AUS
condition: []
action:
  - if:
      - condition: trigger
        id:
          - LED AN
    then:
      - repeat:
          sequence:
            - service: notify.mobile_app_pixel_7_pro
              data:
                message: LED an
                data:
                  tag: led-an
            - delay:
                hours: 0
                minutes: 0
                seconds: 10
                milliseconds: 0
          until:
            - condition: state
              entity_id: light.ambiente_buro
              state: "off"
  - if:
      - condition: trigger
        id:
          - LED AUS
    then:
      - service: notify.mobile_app_pixel_7_pro
        data:
          data:
            tag: led-an
          message: clear_notification
mode: single

Für hilfreiche Hinweise bin ich euch sehr dankbar :slight_smile:

:crayon:by HarryP: Codezeilen formatiert (bitte in </> einbinden)

Bei LED AUS würde ich vor das clear_notification noch ein WARTE 10 Sek. einbauen, da LED AN ja das Delay drin hat.
Oder oben beim Aus-Trigger ein FÜR 10 Sek. einbauen.

Vielen Dank für die schnelle Antwort, klappt leider nicht. Die Benachrichtigung erscheint zwar, wird aber nicht mehr gelöscht.

Hast du es mal so versucht?

alias: "❌ #Wiederkehrende Benachrichtigung löschen"
description: Benachrichtigung nur an anwesende Personen
trigger:
  - platform: state
    entity_id:
      - light.ambiente_buro
    to: "on"
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: LED AN
  - platform: state
    entity_id:
      - light.ambiente_buro
    to: "off"
    id: LED AUS
condition: []
action:
  - if:
      - condition: trigger
        id:
          - LED AN
    then:
      - repeat:
          sequence:
            - service: notify.mobile_app_pixel_7_pro
              data:
                message: LED an
                data:
                  tag: "led-an"
            - delay:
                hours: 0
                minutes: 0
                seconds: 10
                milliseconds: 0
          until:
            - condition: state
              entity_id: light.ambiente_buro
              state: "off"
  - if:
      - condition: trigger
        id:
          - LED AUS
    then:
      - service: notify.mobile_app_pixel_7_pro
        data:
          message: clear_notification
          data:
            tag: "led-an"
mode: restart

Ich hab die gesamt yaml übernommen. Klappt leider nicht. Die Initiale Benachrichtigung erscheint und jede 10 Sekunden eine neue Benachrichtigung. Aber nach dem ausschalten der LED, bleibt die Benachrichtigung weiterhin bestehen. :slightly_frowning_face:

Ach, habe ich eben übersehen. Es müsste
message: "clear_notification"
heißen.

Ich habe es ähnlich am laufen, nutze aber nur den Trigger on. Im repeat nutze ich “while” und prüfe dort noch einmal die condition, ist sie nicht mehr wahr, setzt er die sequenz fort und sendet die notification zum löschen. Würde bei dir so aussehen:

alias: "❌ #Wiederkehrende Benachrichtigung löschen"
description: Benachrichtigung nur an anwesende Personen
trigger:
  - platform: state
    entity_id:
      - light.ambiente_buro
    to: "on"
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: LED AN
condition: []
action:
  - repeat:
      sequence:
        - service: notify.mobile_app_pixel_7_pro
          data:
            message: LED an
            data:
              tag: "led-an"
        - delay:
            hours: 0
            minutes: 0
            seconds: 10
            milliseconds: 0
      while:
        - condition: state
          entity_id: light.ambiente_buro
          state: "on"
  - service: notify.mobile_app_pixel_7_pro
    data:
      message: clear_notification
      data:
        tag: "led-an"
mode: restart

Klasse, das hat jetzt geklappt. Vielen lieben Dank für die Unterstützung an alle! :handshake:

Problem: Grundsätzlich klappt das Vorgehen. Hat aber einen Nachteil in meinem Anwendungsfall.
Idee hinter dem ganzen ist, wir wohnen in einem 3-Personenhaushalt. Wenn ein bestimmtes Fenster länger als 7 Minuten offen steht, werden alle Handys der anwesenden Personen benachrichtigt. Sobald das entsprechende Fenster geschlossen wird, verschwindet die Nachricht bei allen. Bei der vorgeschlagenen Lösung, wird die Nachricht erst nach Ablauf der Zeit (in unserem Fall nach 7 Minuten) verschwinden. Das führt dazu, dass ich während dieser Zeit zum entsprechenden Fenster gehe, um dann ggf festzustellen, dass es schon zu ist… :face_with_spiral_eyes: Daher war es mir wichtig, den Trigger bei Fenster zu direkt auszulösen und die Nachrichten unmittelbar nach der Aktion verschwinden zu lassen.

Lösung: Aufbauend auf den Hinweis von d0neria, habe ich einen weiteren Trigger für “Led aus” hinzugefügt und lasse die Nachricht löschen, wenn der Zustand erreicht wird. Dankeschön