Zeitsynchronisation Home Assistant => Buderus Controller #74
Replies: 5 comments 8 replies
|
Hallo Thomas, eigentlich sollte man das direkt in einer Lambda-Funktion abbilden können. Die Home-Assistant-Zeit kann man ganz easy mit ESPhome auf den ESP bringen, dafür ist nur ein Dreizeiler notwendig: time:
- platform: homeassistant
id: hasstimeIn einem Sensor-Lambda kann ich mir diese Zeit dann auch recht einfach besorgen (hier ein Beispiel aus meinem WROVER-Display-Code für eine kleine Statusanzeige): display:
- platform: ili9xxx
# ....
lambda: |-
auto tt = id(hasstime).now();
if(tt.second % 2 == 0 && tt.hour >= 5 && tt.hour <= 12) {
if(tt.day_of_week == 2 || tt.day_of_week == 4 || tt.day_of_week == 6) {
it.filled_rectangle(20, 150, 280, 30, my_red);
it.printf(160, 165, id(ttf14), id(my_yellow), TextAlign::CENTER, "!!! Mo-Mi-Fr Action !!!");
}
}
// ...
it.strftime(320, 207, id(ttf14), id(my_yellow), TextAlign::BOTTOM_RIGHT, "%a %d.%m.%Y %H:%M", tt);
// ...
Natürlich kannst Du genau so einen timer einrichten, dessen Lambda-Funktion dann den Wert bestimter Numbers setzt. Hoffe, das hilft Dir weiter... Kannst ja dann gerne mal einen Code posten, werde ihn gerne als snippet ins GitHub aufnehmen. Grüße, |
|
Hallo Daniel, endlich, nach Monaten, bin ich dazugekommen, das aktualisieren der RTC des Buderus Controller in mein YAML file zu implementieren und zu testen. Folgendes habe ich implementiert: `time:
sensor:
button:
Zusätzlich habe ich folgende Automatisierung erstellt: Das ganze funktioniert auch ohne Probleme und ich werde die nächsten Tage beobachten, ob das alles dauerhaft und stabil funktioniert. Falls alles stabil läuft, kannst Du diese Funktion ja (falls Du möchtest) übernehmen und implementieren. Grüße und schöne Weihnachten Thomas |
|
Hallo Daniel, das ganze funktioniert nun seit ca. 3 Wochen stabil und ohne Probleme. Grüße, Thomas |
|
Why do we need I see in km271.cpp that this should somehow affect, but how and why? |
|
I changed the code a little, because I don't like creating 8 extra sensors and it looks a little strange to record hours, minutes, etc. in each individual sensor, whereas if necessary, you can make one date and time sensor and it is not necessary, because in fact this is already the correct local synchronized HomeAssitant time. So this text_sensor can be ignored. But I still want to understand if I need to send isDaylightSavingsTime or if I should just always send zero. |

Uh oh!
There was an error while loading. Please reload this page.
Hallo zusammen,
ich setzte nun seit ein paar Wochen die KM271 Platine von Daniel ein und muss Euch mal ein ganz dickes Lob aussprechen.
Toll, was Ihr hier auf die Beine gestellt habt.
Ihr habt mit dem pull request #68 die Funktionalität eingebaut, dass man die RTC des Buderus Controller aktualisieren kann.
Hierzu muß man die Uhrzeit, Datum, ... über die jeweiligen entities in Home Assistant eingeben und dann an den Buderus Controller senden.
Ich habe diese Funktionalität in mein YAML file integriert und es funktioniert auch wunderbar.
Leider ist es ein bisschen mühselig, diese ganzen Zeit - Datum Einstellungen manuell vorzunehmen.
Ich habe mittlerweile Sensoren für Jahr, Monat, Tag des Monats, Tag der Woche, Stunden, Minuten und Sekunden mittels
state: >-
{{ now().XXX }}
angelegt und diese funktionieren auch problemlos.
Diese Sensoren basieren auf der Systemzeit von Home Assistant, im Detail vom Home Assistant Host ( in meinem Fall ein RasPi5).
Wäre es denkbar, das YAML file so abzuändern, dass diese Daten nicht mehr über eine manuelle Eingabe eingegeben werden, sondern auf den o.g. Sensoren basieren?
Das würde dann die Eingabe dieser Zeit / Datums Einstellungen ersetzten und sozusagen "automatisieren".
Den Wochentag könnte man ja bestimmt mittels einem Filter von "Tag der Woche" in "Wochentag" umwandeln.
Die Eingabe bzgl. Sommerzeit könnte ja weiterhin über ein Auswahlmenü erfolgen (ggf. kann man das auch noch über einen Filter automatisieren).
Best case noch eine entitiy anlegen, welche die Daten "live" anzeigt, damit man vor "senden" diese nochmal auf Korrektheit überprüfen kann.
Im nächsten Schritt könnten man dann noch eine Automatisierung erstellen, welche die entity "Datum und Zeit setzen" in einem festzulegenden Intervall aktiviert (z.B. 1x täglich um 24:00).
Danke für Eure Rückmeldung und ein schönes Wochenende
Thomas
All reactions