Neustart löst Benachrichtigung aus Automation aus

Hey, habe mehrere Automationen die auf Leistungsänderungen Benachrichtigungen auslösen, wie bspw. Waschmaschine, Trockner, wenn fertig usw.

Steckdosen sind Nous A1Z via Zigbee2MQTT

Seit den 2024.4 Versionen löst es immer die Benachrichtigungen aus, nachdem ich mal HA Restarten muss, obwohl die Geräte vorher gar nicht gelaufen sind. Jetzt nicht mega dramatisch aber war vorher nicht so.

Du könntest z.B. als Bedingung in deiner Nitofication Automation setzen, dass der letzte Start von HA länger als 5 Min. (600 Sek.) her sein muss

condition:
  - condition: template
    value_template: >
      {{ as_timestamp(now(), default=0) >= as_timestamp(states('sensor.system_monitor_letzter_start'), default=0) +
      600 }}

Voraussetzung dafür ist, dass der Systemmonitor installiert ist.

2 „Gefällt mir“

Lass mal bitte die Auslöser sehen, YAML Code.

Gruß
Osorkon

Der Auslöser ist ja recht simpel bei der Waschmaschine, wenn über 100W für 30 Sek., dann AN - wenn unter 1W für 1 Min. dann AUS. Beim Neustart triggert es ja dann aus irgendeinen Grund nur Waschmaschine AUS?

alias: Waschmaschine eingeschaltet
description: ""
trigger:
  - type: power
    platform: device
    device_id: aa235bfa46c6c0120df33ee96f3a37e8
    entity_id: sensor.waschmaschine_power
    domain: sensor
    above: 100
    id: an
    for:
      hours: 0
      minutes: 0
      seconds: 30
  - type: power
    platform: device
    device_id: aa235bfa46c6c0120df33ee96f3a37e8
    entity_id: sensor.waschmaschine_power
    domain: sensor
    id: aus
    below: 1
    for:
      hours: 0
      minutes: 1
      seconds: 0
condition: []
action:
  - if:
      - condition: trigger
        id: an
    then:
      - service: input_boolean.turn_on
        data: {}
        target:
          entity_id: input_boolean.waschmaschine_lauft
      - delay:
          hours: 0
          minutes: 0
          seconds: 5
          milliseconds: 0
      - service: input_datetime.set_datetime
        metadata: {}
        data:
          datetime: "{{ now() }}"
        target:
          entity_id: input_datetime.waschmaschine_startzeit
      - delay:
          hours: 0
          minutes: 0
          seconds: 5
          milliseconds: 0
  - if:
      - condition: trigger
        id: aus
    then:
      - service: input_boolean.turn_off
        data: {}
        target:
          entity_id: input_boolean.waschmaschine_lauft
      - service: input_datetime.set_datetime
        metadata: {}
        data:
          datetime: "{{ now() }}"
        target:
          entity_id: input_datetime.waschmaschine_fertig
      - delay:
          hours: 0
          minutes: 0
          seconds: 5
          milliseconds: 0
      - service: notify.notify
        data:
          message: Hey, Wäsche ist fertig! 👕
          title: Waschmaschine
mode: single

Du kannst den letzten Neustart als zusätzliche Bedingung einfügen. Das habe ich in diesem Video gezeigt. https://youtu.be/P2v9qqc3UNs

Diese Auslöser durften aber bei einem Home Assistant Neustart nicht auslösen?!

Bei einem Home Assistant Neustart sind die Entitäten für eine kurze Zeit „unavailable“ bis die jeweilige Integration voll geladen ist.
Eine Automatisierung mit einem Trigger, wo nur der Zustand ZU XYZ und nicht VON XYZ ZU angegeben wird. Sind Kandidaten bei welchen die Automatisierung nach eine Home Assistant Neustart ausgelöst wird.

Verwende mal anstatt Geräte, Entitäten in Deiner Automatisierung. Also Auslöser: Entität → Numerischer Zustand.

Unabhängig davon, würde ich immer Entitäten und Dienste in Automatisierungen verwenden und keine Geräte.

Gruß
Osorkon

1 „Gefällt mir“

Hätte jetzt auch gedacht, dass man es mit numerischen Zustand umgehen kann, aber Nachricht wird trotzdem ausgelöst. Wundert mich halt nur, weil das Verhalten in den vorherigen Versionen nicht so war.
Leider triggert er mir jedes mal auch, wann die Maschine ausgeschaltet wurde und schmeisst Laufzeiten durcheinander usw

alias: Waschmaschine eingeschaltet
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.waschmaschine_power
    for:
      hours: 0
      minutes: 0
      seconds: 30
    above: 100
    id: an
  - platform: numeric_state
    entity_id:
      - sensor.waschmaschine_power
    for:
      hours: 0
      minutes: 1
      seconds: 0
    id: aus
    below: 1
condition: []
action:
  - if:
      - condition: trigger
        id: an
    then:
      - service: input_boolean.turn_on
        data: {}
        target:
          entity_id: input_boolean.waschmaschine_lauft
      - delay:
          hours: 0
          minutes: 0
          seconds: 5
          milliseconds: 0
      - service: input_datetime.set_datetime
        metadata: {}
        data:
          datetime: "{{ now() }}"
        target:
          entity_id: input_datetime.waschmaschine_startzeit
      - delay:
          hours: 0
          minutes: 0
          seconds: 5
          milliseconds: 0
  - if:
      - condition: trigger
        id: aus
    then:
      - service: input_boolean.turn_off
        data: {}
        target:
          entity_id: input_boolean.waschmaschine_lauft
      - service: input_datetime.set_datetime
        metadata: {}
        data:
          datetime: "{{ now() }}"
        target:
          entity_id: input_datetime.waschmaschine_fertig
      - delay:
          hours: 0
          minutes: 0
          seconds: 5
          milliseconds: 0
      - service: notify.notify
        data:
          message: Hey, Wäsche ist fertig! 👕
          title: Waschmaschine
mode: single

Was sagt der Trace denn, woher die Auslösung kommt?

Ist halt nach Neustart kurz nicht verfügbar

Edit:
Gerade mal ausgerechnet, das nicht verfügbar sind 91 Sekunden, also über eine Minute. Vielleicht muss ich beim Trigger AUS in der Automation einfach auf 2 Min. stellen

Edit 2:
Mir fällt gerade ein, Zeit hochsetzen hilft auch nicht, weil meine Spülmaschine hat einen AUS Timer von 30 Min. Maschine trocknet Geschirr ja nach und die Leistung ist schon auf 0 W. Wird mir beim Neustart aber auch immer ausgelöst

1 „Gefällt mir“

Hast du das denn mal mit der Bedingung probiert?

Nein noch nicht, weil das Verhalten war ja definitiv vorher anders.

Beim Neustart:

Nach 2 Min. Timer vom AUS Trigger:
(Spülmaschine triggert ja erst nach 30 Min.!)

Ich würde es auch so testen wie @maxe vorgeschlagen hat

alias: Waschmaschine eingeschaltet
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.waschmaschine_power
    for:
      hours: 0
      minutes: 0
      seconds: 30
    above: 100
    id: an
  - platform: numeric_state
    entity_id:
      - sensor.waschmaschine_power
    for:
      hours: 0
      minutes: 1
      seconds: 0
    id: aus
    below: 1
condition: []
action:
  - if:
      - condition: trigger
        id: an
    then:
      - service: input_boolean.turn_on
        data: {}
        target:
          entity_id: input_boolean.waschmaschine_lauft
      - delay:
          hours: 0
          minutes: 0
          seconds: 5
          milliseconds: 0
      - service: input_datetime.set_datetime
        metadata: {}
        data:
          datetime: "{{ now() }}"
        target:
          entity_id: input_datetime.waschmaschine_startzeit
      - delay:
          hours: 0
          minutes: 0
          seconds: 5
          milliseconds: 0
  - if:
      - condition: trigger
        id: aus
      - condition: template
        value_template: >-
          {{ as_timestamp(now(), default=0) >=
          as_timestamp(states('sensor.system_monitor_letzter_start'), default=0)
          + 600 }}
    then:
      - service: input_boolean.turn_off
        data: {}
        target:
          entity_id: input_boolean.waschmaschine_lauft
      - service: input_datetime.set_datetime
        metadata: {}
        data:
          datetime: "{{ now() }}"
        target:
          entity_id: input_datetime.waschmaschine_fertig
      - delay:
          hours: 0
          minutes: 0
          seconds: 5
          milliseconds: 0
      - service: notify.notify
        data:
          message: Hey, Wäsche ist fertig! 👕
          title: Waschmaschine
mode: single

Evtl. heißt der Sensor sensor.system_monitor_letzter_start bei dir etwas anders, z. B. irgendwas mit sensor.last_boot.

Die 600 Sekunden kannst du natürlich anpassen.

1 „Gefällt mir“

Du hast als Trigger für “aus” below: 1 für 1 Minute in deiner Automation. Bei einem Neustart ist der Sensor sensor.waschmaschine_power kurzzeitig unavailable und liefert danach aber wieder den Status 0, welches aber eben einer Statusänderung gleichkommt. Da er ja nach dem Restart von unavailable auf den State 0 wechselt und anschließend auch für länger als eine Minute 0 bleibt, wird dein Trigger below: 1 ausgelöst. Zumindest würde ich das so sehen.

1 „Gefällt mir“

Nimm doch einen Schwellenwertsensor. Den kannst Du von on zu off bzw. von off zu on triggern lassen.

Danke für eure Antworten, ich habe trotzdem dafür einen Github-Issue erstellt, weil sich das Verhalten ja definitiv verändert hat. Mal sehen ob da was rauskommt, ansonsten baue ich halt einen Workarround ein, wie hier schon genannt.

Ich habe seit 2024.4 das gleiche Problem.

Es betrifft aber scheinbar nur Zigbee Steckdosen bei mir. In meiner Wohnung hat Waschmaschine und Spüler WLAN Steckdosen (Shelly und Meross). In der Wohnung unten sind es Zigbee Steckdosen von Nous. Und die Steckdosen müssen eingeschaltet sein.

Wo hast du den Github-Issue erstellt? Vielleicht kann ich meine Info noch anfügen.

1 „Gefällt mir“

Habe auch überall Nous A1Z via Zigbee2MQTT

https://github.com/home-assistant/core/issues/116227

Kann ich nicht bestätigen. Keine der Automatisierungen mit Auslöser State mit Angabe von und zu oder numeric state, wert steigt über oder unter, lösen bei bei Home Assistant Neustart aus.

Weder mit 2024.4.4 noch davor. Das ist zumindest bei mir der Fall.

Ein generelles Problem kann es schon mal nicht sein.

Wenn Die Automatisierung auslöst, muss es auch ein trace geben!!

Gruß
Osorkon

Hatte ich ja schon geschrieben oben, meinst Du das?