Der Raum in dem meine Brauchwassserwärmepumpe steht soll mit warmer Luft belüftet werden wenn es draußen 2 Grad wärmer ist als drinnen.
Hört sich simpel an aber ich scheitere an der YAML Syntax und das es anscheinend keine bedingten Anweisungen gibt und scoping durch Tab/Space habe ich damals mit Fortran abgelegt
Also in etwa
while(1) {
// Switch fan ON 2 Degree
if( (outerTemp >= innerTemp + 2) && pump-Power >= 50)
switchFan(ON);
// Switch fan OFF 1 Degree ( hysteresis )
if( (outerTemp < innerTemp + 1) || pump-Power < 50)
switchFan(OFF);
Oder Textform
Wenn die Pumpe mehr als 50W verbraucht und es draußen um 2 Grad wärmer ist als drinnen soll der Lüfter starten.
Verbraucht die Pumpe weniger als 50W oder ist die Temperatur draußen nur noch 1 Grad höher als drinnen geht der Lüfter aus.
Nach 5 Minuten werden die Bedingungen noch einmal geprüft
Das ganze soll endlos so weiter gehen und sofort nach starten von Home-Assistant aktiv sein.
Kann mir jemand da vielleicht ein Beispiel in YAML zeigen?
Um das zu erreichen, muss man ja nicht direkt mit YAML anfangen, dafür gibt es ja das Frontend
Zunächst sollte man etwas damit vertraut sein, wie Automationen in Home Assistant funktionieren. Sowas wie “nach 5 Minuten sollen die Bedingungen wieder geprüft werden” ist so direkt nicht abbildbar, aber natürlich umsetzbar.
Die Entitäten musst Du natürlich noch an Deine Gegebenheiten anpassen, aber so in etwa könnte das aussehen. Nachdem die Automation den Lüfter eingeschaltet hat, wartet die Automation bis entweder die Temperaturdifferenz <=1 ist, oder die Pumpe unter 50W Leistung fällt. Dann schaltet die Automation den Lüfter wieder aus.
Alternativ mehrere Trigger mit ID definieren (z.B. Pumpe > 50, Pumpe < 50, Temperaturdifferenz <=1) und dann im Ausführungsteil mit Auswahl (in YAYML choose) arbeiten um Lüfter an/aus zu schalten.
Also ich bin da leider etwas puristisch… GUI bedienen das dann “irgendwie” quellcode erzeugt war noch nie mein Ding. Wenn dann irgendwas nicht klappt ist man ja auch völlig aufgeschmissen.
Strukturell ist dein Beispiel ja gut verständlich. VIELEN DANKE dafür!
Die leeren Hüllen data:{} und metadata{} muss ich mal beleuchten. wait_template… lauter “geheimnisvolle” funktionen…
Ist aber deutlich zielführender, wenn man von YAML und/oder der Automatisierungen zu Grunde liegenden Struktur keine Ahnung hat (ist jetzt gar nicht auf Dich bezogen).
Liest man ja hier täglich, wenn Menschen sich mit Dingen beschäftigen oder in Dateien rumfroschen, von denen sie keine Ahnung haben oder Auswirkungen nicht abschätzen können.
Das Frontend generiert zumindest fehlerfreien validen YAML Code. Wenn es Probleme gibt ist die Ursache meist in der Logik zu suchen, bzw. es müssen Konzepte verstanden werden (Beispiel: Ein numerischer Trigger muss durschritten werden, es reicht nicht, wenn er schon den Zielwert erfüllt um auszulösen).