ich habe mal eine Frage.
Ich habe noch eine alte elektr. Fußbodenheizung. Die möchte ich über meine PV Anlage (2x29kW) betreiben, nur über den Überschuss. Leider fehlt die Regelung, sodass ich das ganze nur über die Einschaltzeit steuern kann. Die Heizung soll in Summe max. 3h eingeschaltet sein, damit der Boden nicht zu heiß wird. So, es kann nu ja mal eine Wolke vorbeizieht und die Fußbodenheizung mal für 30 aus ist.
Wie kann man einen Time einrichten, der die „On Time“ zählt, sodass ich in der Ausschaltbedingung „bei timer > 180 min schalte aus) einrichten kann. Der Timer sollte sich dann um 00.00 Uhr zurücksetzten.
Danke
Haase
Servus!
Ich würde mit einem Timer-Helfer arbeiten, der auf 3 h eingestellt ist. Über die timer-Aktionen (timer.start, timer.pause, etc.) kannst Du den dann starten, wenn die Heizung läuft bzw. pausieren, wenn die Heizung nicht läuft. Ist der Timer auf 0, sind die 3 h Stunden/pro Tag verbraucht: kannst Du also als condition bzw. trigger verwenden.
In der Nacht bzw. beim Tageswechsel kannst Du den Timer dann zurücksetzen.
Die Timer-Doku (für die teuflischen Details ) findest Du hier: Timer - Home Assistant
Viel Erfolg!
danke, ich denke, ich habe es.
Mal eine Frage… Ich bin (noch) nicht so ganz mit den ganzen Schreibweisen vertraut.
Mit welcher Codezeile kann ich unter Entwicklung / Template den Timerwert auslesen?
Das brauche ich zum Überprüfen.
ja, das ist richtig, wenn man das alles schon mal gemacht hat. Genau so wie ein Bronstein für Mathe. Nur, wenn Du noch nie ein Lapace Tranformation durchgeführt hast, dann kannst Du mit dem Buch auch keine DLG mit Laplace lösen.
Gemäß der Anleitung bringt
{{ states(‘timer.timer_fussbodenheizung’) }} Active, paused oder idel zurück.
Aber, wie kann ich den Wert für die verbelibende Zeit abfragen?
{{ states(‘timer.timer_fussbodenheizung.duration’) }} liefert unkwown.
Aber warum ist das falsch?
Weißt Du, wie man das abfragt?
Wie ich gerade sehe, ist die aktuell verbleibende Zeit bei einem Timer in einem Attribut (“remaining”) der Entität abgelegt. Kannst Du Dir ansehen, wenn Du in den Entwicklerwerkzeugen bei “Zustände” die timer-Entität anschaust. So ein Timer hat auch noch ein paar andere nützliche Attribute.
Um den Wert eines Attributs einer Entität mittels Template abzufragen nutzt Du state_attr(). In Deinem Fall also
P.S.: Wir sind hier aber eher bei binomischen Formeln als bei Laplace… und ich hatte Dir - um im Bild zu bleiben - den Bronstein ja auch nicht kommentarlos auf den Tisch gelegt sondern Dir sogar Seitenzahlen genannt. Aber sei’s d’rum: mit der obigen Anweisung solltest du weiterkommen.
Danke, das hilft weiter. Das zurücksetzten hat auch funktioniert. Nun kann man unterscheiden, ob bei einem ausgeschaltetem Teil der Timer angelaufen ist oder zurückgesetzt wurde. {{ states(‘timer.timer_fussbodenheizung’) }} liefert in beiden Fällen idle zurück. Damit kann man das nicht unterscheiden.
Ja, Thema Bronstein… richtig, wenn man wieder weiß, dass man Attribute anders abfragen muss. Wenn man das aber nicht weiß…… Damit bewahrheitet sich der alte Spruch: Lernen ist Erfahrung. Alles andere ist einfach nur Information. c’est la vie.
Ich danke Dir, für Deine Geduld mit einem HA Rookie.
Ich komme leider immer noch nicht weiter. Das Problem ist, dass das Attribut remainung verschwindet, sobald der timer abgelaufen ist. Ich dachte, das hat dann den Wert „0“, aber {{state_attr(‘timer.timer_fussbodenheizung’,‘remaining’)}} gibt ein none zurück. Damit haben wir wieder das Problem, dass man nicht erkennen kann, ob der Timer abgelaufen ist, oder nicht
Anbei mal ein BSP
Wenn P supply > 1900 und SOC > 98% dann schalte Fußbodenheizung ein, starte timer. Klappt auch. Der Wert {{state_attr(‘timer.timer_fussbodenheizung’,‘remaining’)}} ändert sich auch erst bei der nächsten schaltflanke und nicht kontinuierlich. So, in dem BSP anbei. Um 00:00 Uhr wird der Timer restet, klappt auch. Dann ist der Status „idle“ und „none“. Um 12.00 Uhr wird die P supply und die SOC-Grenze überschritten. Man kann einschalten. Um 14.00 ziehen mal ein paar Wolken vorbei und P Supply < 0 also aus. Timer geht auf paused. Sprngt um 15.00 Uhr wieder an läuft bis 17.00 Uhr.
So, nun kommt das Problem, die Fragen
Wie kann ich das Event timer.finished abfragen, bzw. gibt es da einen Wert, den man in die Einschaltbedingung mit aufnehmen kann?
Das Attribut timer remaing ist immer none, damit kann man den Zustand um 17.00 Uhr nicht von dem um 06.00 Uhr unterscheiden.
Wie kann ich die Information „Timer abgelaufen“ in die Schaltbedingungen mit einfügen?
Jepp: ist der Timer abgelaufen, triggert er ein Event und ist dann wieder “einsatzbereit”.
Nimm den o. a. Trigger des Timers (timer.finished) als Trigger für eine (separate) Automation, die einen Switch-Helfer (“Timer ist heute schonmal gelaufen…”) schaltet. Den Helfer resettest Du wie den Timer um 0:00 Uhr.
Den Status des Helfers kannst Du dann wiederum in der eigentlichen Ein-/Ausschalt-Automation als Condition verwenden.
Okay?