Home Assistant Anleitung how to… Automation nur ausführen, wenn sie innerhalb einer bestimmten Zeit nicht bereits ausgeführt wurde

Bei manchen Automatisierungen in Home Assistant kann es sinnvoll sein, dass eine Bedingung der Automatisierung ist diese nur dann auszuführen, wenn die Automatisierung nicht innerhalb einer bestimmten Zeit ausgeführt wurde.

Ich selbst habe einige wenige Automatisierungen, welche in Abhängigkeit von sich nahezu willkürlich ändernden Werten ausgeführt werden werden. Der Wert eines Sensors unterschreitet einen Schwellwert für ein paar Minuten und soll dann die Automatisierung auslösen.

Home Assistant: How to... Kurzanleitungen und Nützliches für Home Assistant!

Eben dieser Wert kann aber auch wieder ansteigen und danach erneut unter den eben erwähnten Schwellwert wieder sinken. In dem Fall einer solchen Wiederholung, möchte ich keine erneute Ausführung der Automatisierung – zumindest nicht, wenn die letzte Ausführung nicht mindestens 12 Stunden zurückliegt.

Ein Beispiel gefällig?

Ich habe in unserer Sauna einen Temperatur-Sensor, welcher über ESPHome [offizielle Homepage ESPHome.io] die aktuelle Temperatur minütlich an Home Assistant meldet (hierzu werde ich bei Gelegenheit noch ein how-to schreiben). Immer dann, wenn die Temperatur unter 50 Grad gesunken ist, unterstelle ich, dass der Saunagang beendet ist. Nun möchte ich, dass immer am Folgetag eines Saunaganges der Boden gewischt wird.

Da ich ein leicht verhaltensgestörter Mensch bin ( 😉 ), möchte ich hierfür in todoist eine Aufgabe am Folgetag haben. Letztlich muss ich mit der Automatisierung nur abwarten, wenn die Temperatur tief genug sinkt und dann in todoist eine neue Aufgabe für den Folgetag anlegen.

Was aber, wenn nicht nur ich an einem Tag in die Sauna gehe, sondern einige Stunden später auch noch meine Frau? In einem solchen Fall, würde ich auch nach dem zweiten Saunagang wieder unterhalb den Schwellwert von beispielsweise 50 Grad sinken und erneut mit der zuvor beschriebenen Automatisierung eine Aufgabe in todoist erstellen.

Diese zweite Aufgabe wäre aber absolut identisch mit der ersten und somit definitiv überflüssig!

Also habe ich die beschriebene Automatisierung um eine Kondition ergänzt, welche prüft, wann die Automatisierung zuletzt ausgeführt wurde. Und nur, wenn die Automatisierung (also Erstellen einer Aufgabe in todoist für den Folgetag „Keller wischen“) nicht innerhalb der letzten 12 Stunden bereits ausgeführt wurde, darf die Automatisierung „feuern“.

Lange Rede, kurzer Sinn:

- alias: "Wischen nach Sauna"
  trigger:
    platform: numeric_state
    entity_id: sensor.temp_sauna
    below: 50
    for:
      minutes: 5
  condition:
    condition: template
    #12*60*60=43200
    value_template: '{{ as_timestamp(now()) - (as_timestamp(state_attr("automation.wischen_nach_sauna", "last_triggered")) or 0) > 43200 }}'
  action:
  - service: todoist.new_task 
    data:
      content: Keller wischen!
      project: F5c
      due_date_string: Tomorrow

Ein klein wenig Erklärung hierzu:

Mit der Zeile

value_template: '{{ as_timestamp(now()) - (as_timestamp(state_attr("automation.wischen_nach_sauna", "last_triggered")) or 0) > 43200 }}'

…prüfe ich, ob zwischen jetzt („as_timestamp(now())“) und der letzten Ausführung der Automatisierung („last_triggered“) mindestens 43200 Sekunden liegen, was exakt 12 Stunden entspricht (12x60x60 = 43200).

Nur, wenn diese Kondition wahr ist, wird die Automatisierung ausgeführt!

Hierbei handelt es sich um einen von mir so genannten Quicktipp. In dieser kleinen „Home Assistant how-to“ Reihe, gebe ich hilfreiche Tipps und Tricks, welche mir die Arbeit mit Home Assistant vereinfachen und deswegen vielleicht auch für dich hilfreich sein können!

Dieser Beitrag ist Teil einer kleinen Beitrags-Serie rund um den hass.io Home Assistant.

AngebotBestseller Nr. 1
Echo Dot (3. Gen.) Intelligenter Lautsprecher mit Alexa,...*
  • Unser beliebtester smarter Lautsprecher – Jetzt mit neuem...
  • Steuern Sie die Musikwiedergabe per Sprachbefehl – Streamen Sie...

*= Preis inkl. MwSt., ggf. zzgl. Versandkosten. Letzte Aktualisierung vor 60 Minuten / Affiliate Links / Bilder von der Amazon Product Advertising API. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.

Schreibe einen Kommentar

Die folgenden im Rahmen der DSGVO notwendigen Bedingungen müssen gelesen und akzeptiert werden:
Durch Abschicken des Formulares wird dein Name, E-Mail-Adresse und eingegebene Text in der Datenbank gespeichert. Für weitere Informationen wirf bitte einen Blick in die Datenschutzerklärung.