Seite 1 von 1

Seltsames Verhalten von deltaSince

Verfasst: 13. Okt 2022 18:06
von rfu
Hallo,

ich wollte heute mal ein wenig rumspielen mit der Energie-Messung... Ich habe eine ShellyPlug S die den Energieverbrauch messen kann, die ist über MQTT angebunden, Persistenz ist die Standard rrd4j, d.h. ich habe da überhaupt nix dran konfiguriert.
Nun wollte ich mal einfach den Energieverbrauch der letzten Stunde ins Log ausgeben, dazu benutze ich die deltaSince Funktion:

Code: Alles auswählen

var deltaHourState = ShellyPlug2_Energy.deltaSince(now.minusHours(1))
dabei habe ich festgestellt, dass hier "ab und zu" null zurückkommt an Stelle eines Wertes - die meiste Zeit funktioniert es aber problemlos.

Die Rule wird auf

Code: Alles auswählen

Item ShellyPlug2_Energy received update
getriggert. Bei genauerem hinschauen habe ich festgestellt, dass null nur auftritt wenn ich genau auf eine Minuten-Grenze treffe, also die Sekunden 00 sind, z,B, 2022-10-13 12:08:00.763 im Log. Und tatsächlich, wenn ich die Rule stattdessen alle 5 Minuten triggere

Code: Alles auswählen

Time cron "0 1/5 * ? * * *"
dann kommt fast immer null zurück... aber ab und zu auch ein Wert :?

Klar kann ich das umgehen in dem ich auf null prüfe und es ist kein echtes Problem, aber weiss jemand warum sowas vorkommt? Ich hätte gedacht es wird immer ein Wert gefunden, wenn exakt zu dem Zeitpunkt kein neuer existiert dann halt der nächst frühere der sozusagen noch anhält...

rfu

Re: Seltsames Verhalten von deltaSince

Verfasst: 14. Okt 2022 19:23
von merlindata
Hi,
wenn man das Item nicht auf strategy = everyMinute in der Persistence anlegt kenne ich das Phänomen.

LG Merlin