Kontrolliertes zurücksetzen nach HA Neustart

RudiP

Well-known member
@u5zzug hat mich mit einem großen fetten Balken gegen meinen Kopf (Danke dafür übrigens) auf ein Problem aufmerksam gemacht, an das ich so noch nie gedacht habe.

Automatisierungen mit einem Delay verhalten sich eventuell nach einem HA Neustart komisch.

Genauer gesagt, man schaltet z.B. per Automatisierung irgendetwas ein, wartet mit einem Delay eine bestimmte Zeit, um es dann wieder auszuschalten.
Was aber, wenn ich eine Wasserpumpe für 10 Minuten laufen lassen will und in dieser Zeit HA einen Neustart hinlegt ?
Richtig, die DELAY Funktion existiert quasi nicht mehr, die entsprechende Automatisierung wird eventuell auch nicht nochmal gestartet, mit der Folge, das unsere Wasserpumpe läuft und läuft und läuft.

Bei mir wäre das Problem, das ich einmal die Woche mein Warmwasser auf 70 Grad aufheize (Legionellen Schutz). Funktioniert perfekt, solange ich HA innerhalb dieser 30 Minuten nicht neu starte. Wenn aber doch, hätte ich über Stunden oder Tage, im Extremfall eine ganze Woche unnötig heißes Wasser, was natürlich Geld kostet.
Deswegen kam mir die Idee mit der Neustart Erkennung von HA. HA hat eine "Uptime" Integration.
Einstellungen -> Geräte & Dienste -> Integration hinzufügen und "uptime" eintippen und dann installieren.
Dieses Uptime zeigt uns nun an, wann HA das letzte mal neu gestartet wurde und zwar HA selbst und nicht wie im System Monitor das "Letzter Neustart", das uns nur anzeigt, wann das ganze System neu gestartet wurde. Ein reiner Neustart von HA soll damit nicht erfasst werden.
So, nun haben wir also eine Möglichkeit, Datum und Uhrzeit des letzten Neustart zu ermitteln. Ist in meinen Augen für das Handling mit den Automatisierungen nicht so toll. Deswegen hier ein Template, das mir nachher die Minuten seit dem letzten Neustart anzeigt.
Code:
  - sensor:
    - unique_id: ha_uptime_minutes
      name: HA Uptime Minuten
      icon: mdi:history
      state: >-
          {%- set up = ((now().timestamp()-as_timestamp(states('sensor.uptime')))/60)|int %}
          {{up}}
Man könnte jetzt eine Automatisierung erstellen, die durch diesen Wert getriggert wird.
Nach dem Motto: Wenn Uptime kleiner als 1, dann mache dies und jenes.
Ich würde in meinem Fall z.B: hergehen und das aufheizen auf 70 Grad einfach wieder auf 50 Grad setzen.
Im Fall unserer Wasserpumpe könnte man diese entweder auch einfach ausschalten, oder die entsprechende Automatisierung aufrufen, die dann einfach nur neu gestartet wird.

Das sollte eigentlich ein ständiges Laufen irgendeines Gerätes verhindern, das wir per Automatisierung und DELAY nur für eine bestimmte Zeit laufen lassen wollten.
 
Hallo @RudiP,

habe Deinen Code mal ausprobiert, aber da kommt nichts bei mir an...
1754663950609.png
Was mache ich wieder falsch?

Nachtrag:
Wer lesen kann ist klar im Vorteil....
HA hat eine "Uptime" Integration.
Einstellungen -> Geräte & Dienste -> Integration hinzufügen und "uptime" eintippen und dann installieren.
1754665550461.png

Nachtrag:
Ich habe jetzt noch in Stunden umgerechnet. Minuten sind/waren mir zu heftig.
1754729005632.png
1754729703419.png
 
Zuletzt bearbeitet:
Oder vielleicht in der Art:
YAML:
automation:
  - alias: "Setze Geräte beim Neustart auf Anfangswert"
    trigger:
      - platform: homeassistant
        event: start
    action:
      - service: input_number.set_value
        target:
          entity_id: input_number.dein_wert
        data:
          value: 0
      - service: switch.turn_off
        target:
          entity_id: switch.dein_licht
 
Genau das halte ich für nicht gut @Loxley
Wann genau erfolgt der Trigger "homeassistant.start" ?
Wenn der Core gestartet wurde ? Wenn alle Integrationen geladen wurden ? Wenn die Benutzeroberfläche bereit ist ?
Ich habe da lieber eine sichere Zeitspanne. Nach x-Minuten ist ganz sicher alles hochgelaufen, alle möglichen Trigger wurden ausgelöst.

@HA-DAU Stunden ? Wozu Stunden ?
Stunden nach dem Start will ich garantiert keine Entitäten mehr zurücksetzen.
 
Hallo @RudiP,

das mit den Stunden war für mich.
Ich war zu faul um durch 60 zu teilen, wenn 100.000 Minuten vergangen sind.
Und das noch im Kopf... ;)
 
Wenn man einen Helfer Timer nimmt, kann man sagen, der soll seinen Zustand nach Neustart wiederherstellen. Problem gelöst. Aber warum denn die vorgesehenen Wege beschreiten, wenn man es auch kompliziert haben kann :unsure:
 
Wenn man einen Helfer Timer nimmt, kann man sagen, der soll seinen Zustand nach Neustart wiederherstellen. Problem gelöst. Aber warum denn die vorgesehenen Wege beschreiten, wenn man es auch kompliziert haben kann :unsure:
Grob gesagt, weil ich ein DELAY ohne Probleme in eine Integration bringen kann.
Wie ich das mit dem Helfer Timer mache, puh, wäre ich auf die schnelle überfragt.
Klar, könnte man als Trigger setzen und dann mit zusätzlichen Abfragen und WENN DANN entscheiden, wer hat den die Automatisierung nun ausgelöst.

Ich weis nicht. Das DELAY kommt mir da doch immer noch einfacher vor und für Neulinge viel Verständlicher.

Nur mal als Beispiel.
Eine Automation für den Legionellenschutz.
Trigger jeden Tag 17:00:05. (Leider kann man hier noch nicht nach Wochentag Triggern)
Deswegen die Abfrage
UND WENN die Uhrzeit nach 17:00 Uhr und der Wochentag "Mittwoch" ist
DANN
Schalte die Warmwasseraufbereitung auf 70 Grad
WARTE 30 Minuten
Schalte die Warmwasseraufbereitung auf 50 Grad.

Wenn ich das nun mit dem Helfer Timer machen wollte, muß der ja Triggern.
Also oben einen zusätzlichen Trigger für den Helfer Timer rein.
UND WENN kann bleiben.
Bei DANN muß im Zweig Warmwasseraufbereitung aber zusätzlich der Helfer Timer gestartet werden
Das Delay raus
und das ganze so umbauen, das mit WENN DANN Anweisung erkannt wird, welcher Trigger hat ausgelöst und dementsprechend Warmwasser auf 70 Grad oder Warmwasser auf 50 Grad.

Puh, erhebliche Umbaumaßnahmen.
Ne, ich lass das so, wie es ist.
Und wenn HA neu startet, dann kommt meine Routine von oben, setzt das Warmwasser grundsätzlich auf 50 Grad und gut ist.
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Neueste Beiträge

Letzte Anleitungen

Statistik des Forums

Themen
6.962
Beiträge
67.685
Mitglieder
7.341
Neuestes Mitglied
Timo.
Zurück
Oben