NEWS
Zeiten addieren und den Wert in Datenpunkt schreiben
-
@damrak2022 Also erstmal kannst Du die gelben Blöcke rausnehmen weil diese Dir eigentlich helfen sollten.
Du brauchst 2 eigene Datenpunkte jeweils als Zahl angelegt. Es macht ja keinen Sinn den Powerdatenpunkt (read-only) zu beschreiben. Wie Du die Datenpunkte benennst bleibt Dir überlassen. Schau nochmal in mein Blockly und da siehst Du die beiden eigenen Datenpunkte.
Dann hast Du in Deinem Skript "falls kleiner als 40" ... ist natürlich falsch - "grösser" bitte auswählen.
Und der obere Steuerblock liegt auch ausserhalb von "falls" -
@djmarc75 Ja, ich sehe das was falsch ist.
Ich habe unter 0.Userdata jetzt zwei Datenpunkte.
Mein Blockly sieht jetzt so aus:
Wie hast Du das mit der History gemacht?
Und der obere Block sieht doch genauso aus wie bei Dir -
@damrak2022 sagte in Zeiten addieren und den Wert in Datenpunkt schreiben:
Und der obere Block sieht doch genauso aus wie bei Dir
Nein weil
@djmarc75 sagte in Zeiten addieren und den Wert in Datenpunkt schreiben:
Dann hast Du in Deinem Skript "falls kleiner als 40" ... ist natürlich falsch - "grösser" bitte auswählen.
Und der obere Steuerblock liegt auch ausserhalb von "falls"@damrak2022 sagte in Zeiten addieren und den Wert in Datenpunkt schreiben:
Wie hast Du das mit der History gemacht?
Was meinst Du damit?
Und bitte vergleiche NOCHMAL Deins mit meinem, da sind immernoch einige Unterschiede wie oben erklärt.
-
@djmarc75 So, habe nochmal geschaut.
Bei dem mit der History meine ich ob das in dem Fall dann ein 3. Datenpunkt ist, was ich eigentlich nicht glaube
Mit der gesamten Logik tue ich mich echt schwer.
-
@damrak2022
Mir scheint echt dass Du meiner Bitte um den optischen Vergleich nicht nachkommst.
Meine Datenpunkte habe ich "TV Wohnzimmer Tagesaktivität" & "TV Wohnzimmer Tagesaktivität History" benannt. Die hätte ich auch "123456789" benennen können.
Mach doch mal bitte die gelben Kommentarblocks raus, die scheinen Dich zu verwirren dann erkennst Du u.U. auch die Unterschiede. -
@djmarc75 So jetzt sollte es aber endgültig stimmen:
Hier ist mein Blockly:
Das ist das Blockly von Dir:
Die sind identisch, deswegen weiß ich nicht was bei dem oberen Block falsch sein soll, bzw. fehlen soll.
-
@damrak2022
Der "steuere" Block muss IN den "falls" Block -
Habe jetzt nicht alles gelesen was Ihr da macht , aber bei dem Vergleich ist steuere nicht im Baustein falls mache
-
Macht Ihr hier ein Bilder Spiel mit Blockly
-
@djmarc75 Danke, dann sollte es jetzt korrekt sein:
-
@glasfaser Nicht wirklich, aber ich habe es schlichtweg nicht kapiert
-
@glasfaser sagte in Zeiten addieren und den Wert in Datenpunkt schreiben:
Macht Ihr hier ein Bilder Spiel mit Blockly
Jawoll.
@damrak2022 sagte in Zeiten addieren und den Wert in Datenpunkt schreiben:
dann sollte es jetzt korrekt sein:
Jawoll.
-
Wieso schreibt ihr die Werte eigentlich mit ACK=false? Ihr steuert doch nichts?
-
@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.