@damrak2022 sagte in Zeiten addieren und den Wert in Datenpunkt schreiben:
@glasfaser Nicht wirklich, aber ich habe es schlichtweg nicht kapiert
Was hast Du nicht kapiert?
Der erste Befehl liest aus Deinem Datenpunkt den bislang aktuellen Wert aus Deinem Datenpunkt TV_Wohnzimmer_Tagesaktivität in eine Variable TV_Wohnzimmer. Das ist wichtig, wenn Du Dein System neu startest, dass dann die bislang ermittelte Aktivität nicht verloren geht.
Der Zeitplan mit den 5 Sternen, bedeutet, er wird jede Minute ausgeführt. Was dann in dem Block steht:
Schau in dem Power Datenpunkt des Shellie’s, ob dieser größer oder gleich 40W ist. Wenn ja dann zähle 1 in der Variablen TV_Wohnzimmer dazu. Da der Zeitplan ja alle Minuten ausgeführt wird, enthält diese Variable somit die Anzahl der Minuten die Dein TV aktiv ist. Der Inhalt dieser Variablen wird dann wieder in den Datenpunkt TV_Wohnzimmer_Tagesaktivität geschrieben und damit gesichert, falls Du Dein System neu startest oder der Strom ausfällt. Ich würde aber wie gesagt, statt steuere lieber aktualisiere nehmen.
Um exakt 23:59 Uhr wird dann der aktuelle Wert der Variablen TV_Wohnzimmer in den Datenpunkt TV_Wohnzimmer_Tagesaktivität_History geschrieben, den Du dann mit Grafana auswertest. Er enthält also immer den Vortageswert und kann bzw. darf ja erst geschrieben werden, wenn ein Tag vollendet ist.
Um exakt 0:00 Uhr wird die Variable TV_Wohnzimmer auf 0 gesetzt und dann in den Datenpunkt TV_Wohnzimmer_Tagesaktivität geschrieben, also genullt.
Das ist das ganze Geheimnis. Wenn Du also nicht gerade Stromausfall über Mitternacht hast oder das System genau um Mitternacht neu startest, sollte es wie gewünscht arbeiten. Und falls Du Dir mit dem Blockly lesen, so schwer tust, solltest Du vielleicht doch mal über Alternativen nachdenken 😉😉😉
Theoretisch hättest man auch Punkt 3 und 4 zusammenfassen können, aber wichtig ist ja, dass Du generell verstehst, was warum gemacht wird.