Hallo Zusammen, ich habe eine Automation die täglich meine Beetbewässerung startet. Mittels Regler im Lovelave lege ich die Dauer fest und habe einen Schalter ob die Bewässerung Automatik aktiviert ist oder nicht.
Aktuell startet die Bewässerung meist zur gewünschten Uhrzeit, ich habe jedoch das Problem meine Automation nicht immer abschaltet und das ist schlecht. Ich habe hierzu eine Failsafe Automation die um 2 uhrzeiten (feste Uhrzeiten) prüft ob das Relais noch an ist und ausschaltet. Leider kommt es häufiger vor, dass diese Automation greift. Lieber wäre es mir jedoch, wenn meine eigentliche Automation klappen würde. Ich glaube der Fehler liegt darin, dass die Restzeit nicht abläuft.
Hierfür habe ich eine Input Number: restzeit_beet_auto
Ich kann es leider aber nicht prüfen ob es daran liegt, weil meine Failsafe Auto diese Input Number wieder auf 0min resettet.
Kann mal ein Experte ein Auge darauf werfen, was hier falsch läuft?
Den genauen Fehlfunktionsgrund könnte ich nur rausfinden, wenn ich den Code bei mir laufen lassen würde. Mir erscheint der Code etwas zu kompliziert.
Grundsätzlich würde ich für eine Bewässerung immer eine Hardware wählen, die von selbst nach einer Maximalzeit abschaltet (und wahrscheinlich noch zusätzlich eine unabhängige Durchflussüberwachung einbauen mit Abschaltventil über die HA den Wasseranschluss abdreht, wenn zu unerlaubten Zeiten ein Duchfluss registriert wird). Wenn das Abschalten über Homeasistant läuft, dann kann eine kurze Verbindungsstörung oder ein Neustart von Homassistant dazu führen, das nie abgeschaltet wird.
Ich bin mir auch nicht sicher, wie gut einfache Controller/Raspi’s/ESPHome und Homeassistant mit Multi-Threading, Parallelverarbeitung usw. zurechtkommen. Wird korrekt auf eine Variablenänderung von außen reagiert, während ich mich in einer Warteschleife innerhalb einer Automation befinde? Wieviele Zweige können parallel bearbeitet werden und wann kommt es zu ernsthaften Verzögerungen/Blockierungen/Abstürzen?
Grundsätzlich würde ich
Keine Schleifen über längere Zeiträume in eine Automation einbauen. Besser über einen Timer-Helfer einen Timer starten und bei Ablauf/Abbruch oder Homeassistant-Neustart die Bewässerung abschalten.
So schnell wie möglich eine Automation durchlaufen und wieder in die HA-Idle-Schleife zurückkehren. Weitere Aktionen durch erneutes Triggern auslösen. Dann hat Homeassistant die Resourcen für andere Aufgaben frei und hängt nicht mit einem Teil der Resourcen wartend in einer Schleife fest.
Du kannst bei Bewässerungsstart einen Time-Helfer starten und einen „Timer.finished“-Event Trigger zum Abschalten verwenden (siehe Timer - Home Assistant).
Bei Homeassistant Neustart
trigger:
- platform: homeassistant
event: start
würde ich das Bewässern sicherheitshalber stoppen (sonst wird es wieder kompliziert). Mit der Restore-Option werden Timer nach einem Naustart korrekt wiederhergestellt (zwischenzeitlich abgelaufene Zeit wird berücksichtigt) aber verpasste Finished-Event werden leider nicht nachgeholt (laut Copilot, habe ich selber noch nie ausprobiert, schalte bei Neustart zur Sicherheit ab).
Ohne eine Hardware, die nach einer Maximalzeit von selber abschaltet, wirst du wohl nicht um einen Failsafe-Mechanismus herum kommen, der den Abschaltbefehl in kurzen Intervallen wiederholt, wenn zu unerlaubten Zeiten Bewässert wird, da es ja immer vorkommen kann, das ein Abschaltbefehl über WLAN nicht am Ziel ankommt obwohl die Automation korrekt gearbeitet hat
Hi, ich weis gleich geht das Geschrei wieder los, warum nicht mit denAutomationen von HA. Ich verwende für meine Steuerung einfach node-red und hab das ganze nach einer Anleitung von Tristan gemacht, das funktioniert schon sehr lange ohne Probleme. Die Bewässerung wird vor Sonnenaufgang eingeschaltet und läuft über 30Minuten und abends nochmal für 30Minuten. Bei dem ganzen wird auch berücksichtigt ob genug Feuchtigkeit im Boden ist und wie hoch die Temperatur ist. Ausserdem wird nochmal abgefragt über DWD ob es regnen soll oder nicht, damit nicht unnötig Wasser vergeudet wird.
So ca. 8 Jahre hat lang meine Passagenschaltung über WLAN gut funktioniert (kann mich an keine Fehlfunktion erinnern). Nun bekomme ich immer wieder die Meldung “Passage konnte nicht geöffnet/geschlossen werden”. Liegt vielleicht an der neuen Fritzbox, dass sie diese Ecke des Gartens nicht so erreicht, wie die alte aber ich möchte dieses Problem nicht mit dem Abschaltbefehl für die Gartenbewässerung haben. Mein Gartenwasseranschluss hängt am öffentlichen Netz, das könnte teuer werden…
Ich mag daher eher Lösungen wie der ESP von Simon, der nach einer Maximalzeit auch ohne Netzwerk abschaltet und bei Stromausfall von selber schließt…
ich habe wohl das Problem gefunden. Meine Integration kommuniziert wohl zu selten mit meinen Relais. Ich möchte auch ungern diesen Wert noch weiter reduzieren um den Traffic nicht unnötig zu erhöhen, sodass ich wohl die zeitliche Steuerung am Gerät selbst belasse. Durch HA Automationen hätte ich halt tolle Möglichkeiten gehabt einfach die nächste Bewässerungsdauer einzustellen, aber auch so Dinge wie nächste Bewässerung überspringen. Das bekomme ich aber auch mit einem anderen Ansatz besser gelöst.
Es ist eine Verzögerungsschleife in node-red die das abschaltet. Ob der Befehl erst von node-red kommt oder wo der herkommt kann ich gar nicht mit Sicherheit sagen. Bis jetzt hat es damit noch keine Probleme gegeben.