Ich möchte unter nachfolgend beschriebenen Randbedingungen eine Brauchwasserheizung einschalten. Geschafft habe ich:
Einschalten 11:00 Uhr, Abschalten über kWh Grenze, Abschalten unter SOC Grenze.
Die Automation startet aber immer schon erstmals um Mitternacht/0 Uhr.
Hat hier jemand eine Lösung?
Bedingungen:
Heizstab einschalten wenn
Uhrzeit 11:00 Uhr UND
Batterie SOC > 50% UND (im Sommer wird die Batterie meist sehr früh geladen)
heute schon verbrauchte Heizenergie < 3.8 kWh (der Brauchwasser wurde noch nicht beheizt))
Heizstab auschalten wenn
Batterie SOC < 50% ODER (falls wider Erwarten die PV Einstrahlung abfällt)
heute schon verbrauchte Heizenergie > 3.8 kWh (Erfahrungswert, Brauchwasser ausreichend erwärmt, Thermostat regelt schon an/aus).
Ich bin nicht gerade Experte, was YAML angeht, aber so wie ich das sehe, hast du jede Menge Trigger und jeder einzelne davon kann deine Automation auslösen.
Bei dir dürfte es dieser teil sein, der dir um Mitternacht die Automation auslöst, wenn energie täglich (sensor.brauchwasserheizung_energie_tagl_h) auf null gesetzt wird. Dabei gehe ich davon aus, daß es ein Verbrauchszähler mit täglicher Rücksetzung um null Uhr ist.)
Conditions, also Bedingungen, wann die Automation wirklich eingeschaltet werden soll, hast du keine und die if-Abfrage dürfte in den actions ebenfalls true sein, weil ja “Brauchwasser Energie unterschritten” in diesem Moment true ist.
4. Juli 2025 um 00:00:00
4. Juli 2025
Brauchwasserheizung ausgelöst durch numerischen Zustand von Brauchwasserheizung Energie tägl._H
00:00:00 - Vor 12 Stunden
Brauchwasserheizung Brauchwasserheizung eingeschaltet ausgelöst durch Automation Brauchwasserheizung ausgelöst durch numerischen Zustand von Brauchwasserheizung Energie tägl._H
00:00:00 - Vor 12 Stunden
Der Auslöser ist wohl die Brauchwasserenergie_tgl. (wird ja Mitternacht auf 0 gesetzt). Ist meine if -condition für “Einschalten” keine UND Bedingung sondern ODER?
Könntest du mir das “richtig” formulieren (YAML-code)?
Die ODER- Ausschaltbedingungen scheinen zu stimmen:
4. Juli 2025 um 11:45:19
4. Juli 2025
Brauchwasserheizung ausgelöst durch numerischen Zustand von Brauchwasserheizung Energie tägl._H
11:45:19 - Vor 1 Stunde
Brauchwasserheizung Brauchwasserheizung ausgeschaltet ausgelöst durch Automation Brauchwasserheizung ausgelöst durch numerischen Zustand von Brauchwasserheizung Energie tägl._H
11:45:19 - Vor 1 Stunde
Die IF-Bedingung ist eher unnötig an dieser Stelle. So wich ich es verstanden habe, löst alles, was unter
triggers:
steht, die Automation aus (oder) und alles was unter
conditions:
steht sind die Bedingungen (und)
Ich würde es im grafischen Editor machen und als "Auslöser (trigger) nur die Uhrzeit nehmen.
Unter “und wenn” (conditions) die Bedingungen (Also Akku voll und die Energie) eintragen.
Fürs Ausschalten dann eine zweite Automation, bei der der Batteriestand und die Energie in als Auslöser (trigger) stehen.
Der Grafische Editor spuckt mir dazu folgende YAML aus:
Allerdings solltest du noch beim Batteriestand und der Energie eine Hysterese einbauen, sonst kann es passieren, daß der Ausgang nur kurz an ist, wenn die Energie bereits fast erreicht ist oder der Akku nur knapp über 50% steht.
Das ist eine ODER und somit falsch. Und ich würde bei der Aktion auch nicht nur nach Ausgelöst durch abfragen sondern noch mal die Bedingungen in eine UND-Abfrage setzen.
action, wenn die 3 trigger (UND)-bedingungen zutreffen (verstanden)
dann, Bedingung ,wenn nochmal 2*SOC zutreffen. Ist hier einmal versehentlich doppelt, oder ist noch mal Ober-/Untergrenze SOC gemeint?
danke, schaut auch gut aus, Hysterese wäre dann wichtig. Ich probiere mal die “komplexere” Lösung von “sirector” mit einer Automation aus (…falscher Ehrgeiz). Eine Rückfall Ebene ist bei mir immer gut.
Läuft noch nicht, in erster Variante gestern wurde die Automation noch mitternachts gestartet (hatte nur die eine Triggerbedingung Bat SOC).
Habe dann die Automation nach meiner Interpretation deines Vorschlages erweitert .
Ergebnis: um 0:00 Uhr nicht gestartet, um 11:00 Uhr auch nicht.
Trigger Eintrag um 0:00 Uhr gibt es nicht, Trigger um 11:00 Uhr:
6. Juli 2025 um 11:00:00
Durch time am 6. Juli 2025 um 11:00:00 ausgelöst
Wenn: then-Aktion ausgeführt
Wenn: Keine Aktion ausgeführt
Habe wohl den Vorschlag falsch interpretiert oder umgesetzt. Kannst/willst du noch korrigieren? Ansonsten werde ich meinen Ehrgeiz zügeln und die für mich taugliche “einfachere” Lösung probieren,
Danke Frank, ich habe jetzt deine “einfache” Lösung (1 Ein-, 1 Aus- Automation) umgesetzt, läuft zumindest richtig an: 11:00 Uhr + SOC >x + energie <x. Schaltet aus bei energie >x. Die anderen Bedingungen sind noch nicht eingetreten und testbar.
Danke
Danke sirector, deinen Lösungsansatz werde ich auch noch mal versuchen, ich teste erst mal noch den “einfachen” 2- automationen- Ansatz aus.
Wenn das stabil läuft (unter allen Triggern), spiele ich mit deinem Ansatz weiter. (obwohl: never change a running system)