Ich will meinen Luftentfeuchter einschalten, wenn ich einen Überschuss in der Solarproduktion habe und der Luftentfeuchter zumindest 5 Minuten ausgeschaltet war. (Den Zweig zum Ausschalten lasse ich zur Vereinfachung weg.)
Wenn die 5 Minuten “Verweilzeit” im Status “aus” nicht erfüllt sind, dann möchte ich - die restliche Zeit auf die 5 Minuten warten. Wenn danach immer noch Überproduktion vorhanden ist, dann möchte ich den Luftentfeuchter einschalten.
Mir ist bei dieser Aufgabenstellung leider nicht vollkommen klar wie ich die Lösung angehe. Überproduktion ist der Trigger. Die Wartezeit auf 5 Minuten würde ich auch hinbekommen. Aber dann zu prüfen ob der Trigger immer noch Gültigkeit hat (es könnte auch eine dicke Wolke gekommen sein und ich habe keine Überproduktion mehr) und ggf. einschalten - da fehlt mir die Fantasie. Hat jemand so etwas schon gelöst und kann mir bitte helfen?
Eine Möglichkeit wäre, einen Countdown von 5 Minuten zu starten, wenn eine Überproduktion erkannt wird. Nach Ablauf des Countdowns wird dann der Luftentfeuchter eingeschaltet. Sollte keine Überproduktion mehr vorhanden sein, schaltet eine zweite Automation den Countdown einfach aus.
Du brauchst also drei Automationen:
Überproduktion erkannt → Countdown (neu)starten
Keine Überproduktion erkannt → Countdown anhalten
Countdown abgelaufen → Entfeuchter einschalten
Den Anteil zum Ausschalten kannst Du entsprechend gestalten.
Danke, jotka. Das wäre das, woran ich auch gedacht hätte. Aber: wenn zum Zeitpunkt der Auslösung des Triggers der Schalter noch keine 15 Minuten “aus” war, dann wird nicht eingeschaltet. Erst, wenn der Trigger wieder auslöst. Und genau das ist mein Problem das ich lösen will. Wenn also um 9:00 ein Überschuss da ist, dann wird eingeschaltet (vernachlässigen wir mal die Batterie), weil zuvor abgeschaltet war. Nach 10 Minuten kommt eine dicke Wolke - du schaltest ab (ich gehe mal davon aus, ist nicht in deinem Beispiel). Die Wolke verschwindet nach 3 Minuten für den Rest des Tages und du hat Überschuss bis Sonnenuntergang. Weil aber zum Zeitpunkt, als der Überschuss begonnen hat der Schalter nicht lange genug auf “aus” war, schaltet er nicht mehr ein - trotz hellem Sonnenschein. Oder hast du da andere Erfahrungen?
So ähnlich habe ich mir das gedacht (unter 2. sollte ich die Automation beenden, weil der Schalter 5 Minuten durchgehend auf “aus” sein sollte. Diese Zeit kann ich doch vom Schalter abfragen - denke ich).
Nur in der Praxis ist mir nicht klar wie ich das handhabe, denn während des “Wartens” kann ich doch nicht auf Überproduktion prüfen. Oder?
Beim Abschalten habe ich ähnliche Verzögerungen drin. Es muss mehr als N Minuten weniger eingespeist werden als N Watt. Nur dann wird abgeschaltet.
Ebenfalls wird erst nach frühestens N Minuten wieder abgeschaltet. Außer der SOC ist unter einem definierten Wert. Soll ich dir morgen mal die Abschaltlogik schicken?
Viele Wege führen nach Rom. Ich habe mich gestern Abend noch hingesetzt und etwas gelesen. Im Kern ist die Berechnung der Verzögerung herausgekommen die so aussieht:
Damit berechne ich die noch abzuwartenden Sekunden seit der letzten Statusänderung des Schalters des Luftentfeuchters, bis 5 Minuten (300 Sekunden) vergangen sind. Wenn >5 Minuten vergangen sind wird 0 (keine Wartezeit mehr) zurückgegeben, ansonsten eben die noch zu wartende Zeit.
Danach prüfe ich nochmals die Bedingung des Auslösers. Ist unschön, mir fällt aber nichts besseres ein um das alles in einer Automation (das erhöht aus meiner Sicht die Übersichtlichkeit, da ich eben nur EINE Automation “angreifen” muss).
Also: ich setze als Auslöser >650W Überproduktion habe (und vergebe eine entity-ID) oder eben <100W Überproduktion (und vergebe ebenfalls eine entity-ID).
Nun berechne ich (siehe oben) wie lange es dauert bis 5 Minuten vergangen sind und setze einen Wait-timer (der eben auch “0” reinkann). Diesen Wait-Timer brauche ich auf jeden Fall, da ich sowohl beim Einschalten, als auch beim Ausschalten die 5 Minuten Schaltzeit abwarten möchte.
Im Anschluss prüfe ich - je nach Entity.ID - der Auslöser immer noch “wahr” ist und schalte entsprechend (oder auch nicht). Den Status des Schalters überprüfe ich, da beispielsweise die Überproduktion von 800 auf 600 und zurück auf 800 Überproduktion wechseln kann und unter dieser Bedingung nicht abgeschaltet wird. Einen Eingeschaltenen Schalter einschalten erzeugt aus meiner Sicht nur Overhead.
Ob das mit der Wartezeit/Verzögerung von eventuell >60 Sekunden funktioniert oder ich “umrechnen” muss wird der heutige Tag zeigen.