NEWS
Laufzeit eines Gerätes erfassen
-
@winni und funktioniert es
-
die beiden unteren bausteine - außerhalb des triggers werden nur einmal beim start des scriptes ausgeführt - ist das gewollt
-
@liv-in-sky nein, ist nicht gewollt. Ich schieb sie gleich in den Trigger. Wenn das funktioniert, will ich dann alle "Durchläufe" des laufendenTages zusammen zählen und ebenfalls ausweisen.
-
@liv-in-sky sagte in Laufzeit eines Gerätes erfassen:
nimm anstatt "solange" ein "interval" (alle x sekunden abfragen) und
interval ist nicht so gut.
besser ist einen trigger auf den start des brenners, die zeit und den status (start) sich merken (idealerweise in datenpunkten) und dann einen trigger auf das ende des brenners, dann die differenz errechnen und das wieder speichern, bzw. mit dem bisherig aufgelaufenen wert aufrechnen.
datenpunkte deshalb, das wenn der iobroker oder der adapter mal abbricht, kann nahtlos weitergehorcht werden.
bei interval geht bei einem restart der interval verloren.
ausserdem ist bei interval alle paar sekunden wieder extra ressourcenverbrauch. klar bei einem fällt das nicht so auf, aber später summiert sich das ggfs. -
@oliverio danke für den Hinweis, werde ich auf alle Fälle als Alternative ausprobieren.
-
Leider beendet das Blockly-Script die Schleife nicht. Seltsam, die Bedingung zum beenden ist erfüllt. Die Betriebsart ist jetzt auf 0.
-
ist der dp ein e zeichenkette oder eine number
-
@liv-in-sky der Datenpunkt ist eine Zahl
-
@winni
nur zur sicherheit: ist er so definiert in den object-eigenschaften -
@liv-in-sky ja, ganz sicher
-
ach ja- das interval gehört eins höher - in den if rein - soll ja nur gestartet werden, wenn es eingeschalten wird - sonst wird es jedesmal ausgeführt, wenn getriggert wird
-
@liv-in-sky hatte ich schon gesehen und korrigiert
-
und am einfachsten eine schaltung zu überprüfen ist, wenn du dir einen debug block reinlegst - damit du im log beobachten kannst, was los ist - dadurch verseht man besser , wie es abläuft
also eine debug in das interval rein und in den if
zeig mal deine korrektur, damit wir das gleiche sehen
-
@liv-in-sky so schauts aktuell aus
Momentan läuft noch ein Zyklus, den will ich noch abwarten, dann bau ich den debug ein. Testen geht aber erst wieder morgen, die Heizung ist dann in der Nachtabsenkung.
-
setze öl2 gehört aber in das interval, bevor der stop kommt - erst dann macht es sinn
setze öl3 und test gehört dann unter setze öl2 und vor das stop -
wenn ich sachen ausprobiere, wie z.b. so eine neue schaltug, nehme ich testdatenpunkte, die ich dnn von hand schalte - so kann ich das ganze testen ohne auf die betriebsmodi warten zu müssen
noch ein hinweis - jedesmal, wenn ds ganze aktiv ist und zählt, und du das script neustartest oder den server neustartest, werden deine variablen verloren gehen - daher ist es manchmal besser, anstatt variablen auch eigene dp zu nutzen !!!!
wa auch noch fehlt: jetzt bekommst du nur eine schaltung angezeigt - wenn du mehrere schaltungen am tag hast und wissen willlst, wie lange das insgesamt an einem tag lief, fehlt noch einiges
-
@liv-in-sky meinst du so?
-
@liv-in-sky Mit den Testdatenpunkten hast du natürlich recht. Ich bau mir da morgen was zusammen. Mein Plan ist auch, wenn ich einen Zyklus korrekt erfasst habe, dann alle Zyklen eines Tages zusammen zufassen und zu speichern, bzw. daraus den ungefähren Ölverbrauch abzuschätzen.
-
@winni mach den stop interval ganz unten hin, damit das interval erst abgebrochen wird, wenn du alles gesetzt hast
-
mach morgen mal deine testumgebung und schau mal, was schon funktioniert, dann ändern wir noch das addieren des tages und evtl ersetzen wir die variablen noch mit datenpunkten
für heute ist eh feierabend bei mir