ich versuche eine Custom-Logik zum Intergrieren einer Leistung zu entwickeln. Sprich: aus einer gemessenen Momentan-Leistung in Watt möchte ich die Energie in Kilowattstunden bestimmen. Dazu muss ich die Zeitdifferenz zwischen den Wertänderungen, d.h. den Aufrufen der Logik bestimmen.
Dabei bin ich auf ein Problem mit Localtime gestoßen: Das Skript wird bedingt durch die Werteänderung des Messwertes alle 10 Sekunden ausgeführt. Der Zeitwert wird aber nicht zuverlässig bei jedem Aufruf aktualisiert, das konnte ich im Doktormodus beobachten und auch in den Grafana-Zeitreihen nachvollziehen. [Edit: Das lag daran, dass der Input als "on Change" konfiguriert war, und der Wert zwar regelmäßig aktualisiert wurde, aber sich manchmal nicht änderte].
Ich habe das Problem auf ein simples Test-Skript reduziert:
Code: Alles auswählen
{
},
"Input": [
["Trigger_Eingang", "Eine Wertänderung hier löst die Logik aus", "$In_Trigger", "a"]
],
"Output": [
["Aktueller_Timestamp", "Der von Localtime gelieferte Unix-Timestamp", "$Out_Timestamp_s", "a"]
],
"Level": [
["$In_Trigger", "float", 0.0],
["$Out_Timestamp_s", "integer", 0]
],
"Module": [
["Localtime", 0, "$Out_Timestamp_s", 0, 0, 0, 0, 0, 0, 0, 0, 0]
]
}EDIT: Hat sich erledigt, war ein Fehler meinerseits bedingt durch "on Change" beim Input.
VG
Stefan
