Ergänzung Feuchtewarnung von Simon42

Hallo Zusammen,

ich habe die Feuchtewarnungsautomation von Simon im Einsatz - funktioniert soweit auch gut!
Ein Problem habe ich aber in der Praxis festgestellt:
Gerade im Bad, nach dem Duschen, werden kurz nacheinander beide Auslöser (AboveRel und Above) getriggert.

Ich würde hier gern eine Abfrage einbauen, dass ich nur dann benachrichtigt werde, wenn nicht bereits innerhalb einer Zeitspanne der letzten 10 Minuten bereits über den anderen Auslöser ausgelöst wurde. Wie ist das umsetzbar? Da fehlt mir noch der Ansatz.

alias: Notify - Feuchtewarnung Badezimmer_V2
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.badezimmer_absolute_luftfeuchtigkeit_unterschied_2
    above: 4.5
    id: above
    for:
      hours: 0
      minutes: 5
      seconds: 0
  - platform: numeric_state
    entity_id:
      - sensor.bad_1_og_luftsensor_luftfeuchtigkeit
    above: 60
    id: aboverel
    for:
      hours: 0
      minutes: 5
      seconds: 0
  - platform: numeric_state
    entity_id:
      - sensor.badezimmer_absolute_luftfeuchtigkeit_unterschied_2
    for:
      hours: 0
      minutes: 5
      seconds: 0
    below: 3.5
    id: below
  - platform: numeric_state
    entity_id:
      - sensor.bad_1_og_luftsensor_luftfeuchtigkeit
    for:
      hours: 0
      minutes: 5
      seconds: 0
    below: 52
    id: below
condition:
  - condition: or
    conditions:
      - condition: trigger
        id: below
      - condition: and
        conditions:
          - condition: trigger
            id: above
          - condition: numeric_state
            entity_id: sensor.bad_1_og_luftsensor_luftfeuchtigkeit
            above: 55
      - condition: and
        conditions:
          - condition: trigger
            id: aboverel
          - condition: numeric_state
            entity_id: sensor.badezimmer_absolute_luftfeuchtigkeit_unterschied_2
            above: 3
action:
  - choose:
      - conditions:
          - condition: or
            conditions:
              - condition: trigger
                id: above
              - condition: trigger
                id: aboverel
          - type: is_not_open
            condition: device
            device_id: 384af0a49f3601ffb39faa73ce008b7f
            entity_id: 8c35f0f1fe171d554dfe8c13b2799fd6
            domain: binary_sensor
        sequence:
          - if:
              - condition: state
                entity_id: binary_sensor.homepod_benachrichtigungen_tagsuber_ein
                state: "on"
            then:
              - service: media_player.volume_set
                metadata: {}
                data:
                  volume_level: 0.52
                target:
                  entity_id:
                    - media_player.kuche
                    - media_player.badezimmer_homepod
              - if:
                  - condition: state
                    entity_id: input_boolean.homepod_stummschaltung_esszimmer
                    state: "on"
                then:
                  - service: media_player.volume_set
                    metadata: {}
                    data:
                      volume_level: 0
                    target:
                      entity_id: media_player.esszimmer
                alias: Lautstärke Einstellen Esszimmer HomePod
                else:
                  - service: media_player.volume_set
                    metadata: {}
                    data:
                      volume_level: 0.52
                    target:
                      entity_id: media_player.esszimmer
              - alias: Lautstärke Einstellen Büro HomePod
                if:
                  - condition: state
                    entity_id: input_boolean.homepod_stummschaltung_buro
                    state: "on"
                then:
                  - service: media_player.volume_set
                    metadata: {}
                    data:
                      volume_level: 0
                    target:
                      entity_id: media_player.buro
                else:
                  - service: media_player.volume_set
                    metadata: {}
                    data:
                      volume_level: 0.52
                    target:
                      entity_id: media_player.buro
              - parallel:
                  - service: tts.cloud_say
                    data:
                      entity_id: media_player.alle_homepods
                      message: >-
                        Die Luftfeuchtigkeit im Bad ist hoch im Vergleich zu
                        außen. Bitte Fenster öffnen!
                  - if:
                      - condition: state
                        entity_id: media_player.badezimmer_homepod
                        state: playing
                    then:
                      - delay:
                          hours: 0
                          minutes: 0
                          seconds: 12
                          milliseconds: 0
                      - service: media_player.media_play
                        metadata: {}
                        data: {}
                        target:
                          entity_id: media_player.badezimmer_homepod
                    alias: Badezimmer HomePod
                  - alias: Büro HomePod
                    if:
                      - condition: state
                        entity_id: media_player.buro
                        state: playing
                    then:
                      - delay:
                          hours: 0
                          minutes: 0
                          seconds: 12
                          milliseconds: 0
                      - service: media_player.media_play
                        metadata: {}
                        data: {}
                        target:
                          entity_id: media_player.buro
                  - alias: Küche HomePod
                    if:
                      - condition: state
                        entity_id: media_player.kuche
                        state: playing
                    then:
                      - delay:
                          hours: 0
                          minutes: 0
                          seconds: 12
                          milliseconds: 0
                      - service: media_player.media_play
                        metadata: {}
                        data: {}
                        target:
                          entity_id: media_player.kuche
                  - alias: Esszimmer HomePod
                    if:
                      - condition: state
                        entity_id: media_player.esszimmer
                        state: playing
                    then:
                      - delay:
                          hours: 0
                          minutes: 0
                          seconds: 12
                          milliseconds: 0
                      - service: media_player.media_play
                        metadata: {}
                        data: {}
                        target:
                          entity_id: media_player.esszimmer
          - service: notify.alle_gerate
            metadata: {}
            data:
              message: >-
                Die Luftfeuchtigkeit im Bad ist hoch im Vergleich zu außen.
                Bitte Fenster öffnen!
              title: Bitte Fenster öffnen
      - conditions:
          - condition: or
            conditions:
              - condition: trigger
                id: above
              - condition: trigger
                id: aboverel
          - type: is_open
            condition: device
            device_id: 384af0a49f3601ffb39faa73ce008b7f
            entity_id: 8c35f0f1fe171d554dfe8c13b2799fd6
            domain: binary_sensor
        sequence:
          - service: notify.alle_gerate
            metadata: {}
            data:
              message: >-
                Die Luftfeuchtigkeit im Bad ist hoch und es wird bereits
                gelüftet
              title: Status Lüften
    default:
      - condition: state
        entity_id: binary_sensor.badezimmer_fenster_tur
        state: "on"
      - if:
          - condition: state
            entity_id: binary_sensor.homepod_benachrichtigungen_tagsuber_ein
            state: "on"
        then:
          - service: media_player.volume_set
            metadata: {}
            data:
              volume_level: 0.6
            target:
              entity_id:
                - media_player.kuche
                - media_player.badezimmer_homepod
          - alias: Lautstärke Einstellen Esszimmer HomePod
            if:
              - condition: state
                entity_id: input_boolean.homepod_stummschaltung_esszimmer
                state: "on"
            then:
              - service: media_player.volume_set
                metadata: {}
                data:
                  volume_level: 0
                target:
                  entity_id: media_player.esszimmer
            else:
              - service: media_player.volume_set
                metadata: {}
                data:
                  volume_level: 0.6
                target:
                  entity_id: media_player.esszimmer
          - alias: Lautstärke Einstellen Büro HomePod
            if:
              - condition: state
                entity_id: input_boolean.homepod_stummschaltung_buro
                state: "on"
            then:
              - service: media_player.volume_set
                metadata: {}
                data:
                  volume_level: 0
                target:
                  entity_id: media_player.buro
            else:
              - service: media_player.volume_set
                metadata: {}
                data:
                  volume_level: 0.6
                target:
                  entity_id: media_player.buro
          - parallel:
              - service: tts.cloud_say
                data:
                  entity_id: media_player.alle_homepods
                  message: >-
                    Die Luftfeuchtigkeit hat sich ausreichend angeglichen. Das
                    Fenster im Bad kann geschlossen werden
              - alias: Badezimmer HomePod
                if:
                  - condition: state
                    entity_id: media_player.badezimmer_homepod
                    state: playing
                then:
                  - delay:
                      hours: 0
                      minutes: 0
                      seconds: 16
                      milliseconds: 0
                  - service: media_player.media_play
                    metadata: {}
                    data: {}
                    target:
                      entity_id: media_player.badezimmer_homepod
              - alias: Büro HomePod
                if:
                  - condition: state
                    entity_id: media_player.buro
                    state: playing
                then:
                  - delay:
                      hours: 0
                      minutes: 0
                      seconds: 16
                      milliseconds: 0
                  - service: media_player.media_play
                    metadata: {}
                    data: {}
                    target:
                      entity_id: media_player.buro
              - alias: Küche HomePod
                if:
                  - condition: state
                    entity_id: media_player.kuche
                    state: playing
                then:
                  - delay:
                      hours: 0
                      minutes: 0
                      seconds: 16
                      milliseconds: 0
                  - service: media_player.media_play
                    metadata: {}
                    data: {}
                    target:
                      entity_id: media_player.kuche
              - alias: Esszimmer HomePod
                if:
                  - condition: state
                    entity_id: media_player.esszimmer
                    state: playing
                then:
                  - delay:
                      hours: 0
                      minutes: 0
                      seconds: 16
                      milliseconds: 0
                  - service: media_player.media_play
                    metadata: {}
                    data: {}
                    target:
                      entity_id: media_player.esszimmer
      - service: notify.alle_gerate
        metadata: {}
        data:
          message: Das Fenster kann wieder geschlossen werden.
          title: Die Luftfeuchtigkeit im Bad hat sich ausreichend angeglichen.
          data:
            actions:
              - action: URI
                title: Zum Bad
                uri: http://192.168.178.44:8123/dashboard-schlaitdorf/bad
mode: single

Du könntest zusätzlich abfragen wann die Automatisierung zuletzt ausgelöst wurden, quasi ob das länger als 10 Minuten her ist.

Dazu ersetzt du die 1800 durch z. B. 600 (=10 Min.)

Danke für die Idee, darauf bin ich noch nicht gekommen :smiley:

Habe es jetzt folgendermaßen unter der Aktionsbedingung eingefügt.

condition: template
value_template: >-
  {{
  (as_timestamp(state_attr('automation.notify_feuchtewarnung_badezimmer,'last_triggered'))
  | int) + 600 <= now().timestamp() | int }}

Das kann ich aber nicht speichern, sondern erhalte folgenden Fehler:
Message malformed: invalid template (TemplateSyntaxError: expected token ‘,’, got ‘last_triggered’) for dictionary value @ data[‘action’][0][‘choose’][0][‘conditions’][2][‘value_template’]

da fehlt ein Hochkomma.

Danke, so einfach kann es sein :)!

Bin jetzt aber dennoch auf ein Problem gestoßen, das nichts mit dem Code selbst zu tun hat:

Dieser bezieht sich ja auf den Trigger der Automation als ganzes, da dort aber ja mit Bedingungen gearbeitet wird und unter den Triggern somit auch die Benachrichtigung für das schließen der Fenster enthalten ist, würde das zu Fehlern führen.

Die Bedingung müsste also doch an die beiden Trigger “Above” und AboveRel" gekoppelt werden, die für die Ausführung der Feuchtewarnung zuständig sind.

Die Bedingung kannst du doch unten mit bei den Aktionen prüfen.

Stimmt so sollte es gehen, danke!