Hi Zusammen,
ich Versuche mir gerade eine Regel zu bauen, die mir anzeigt, wie oft sich an einem Tag der Wert eines ITEMs ändert.
Dazu bin ich die Sache wie folgt angegangen:
Hintergrund Infos:
Das Item "HEIZUNG_BRENNER_STARTS" hat einen fortlaufenden Wert. Bsp.: 100. Dieser Wert erhöht sich jedes mal um 1 wenn der Brenner gestartet wurde.
Leider ist das ungenau, da openhab manchmal ein Update als change registriert und damit den Wert erhöht.
Andere Möglichkeit:
Man könnte ja den den Wert der Brennerstarts täglich um 0.00 Uhr speichern, und dann immer die Differenz zum Startwert errechnen.
Nur hier komme ich irgendwie nicht weiter:
Bsp:
Gibt es also eine Möglichkeit den Wert eines Items mit seinem Vorherigem Wert zu vergleichen?
Oder gibt es eine andere Möglichkeit?
Danke schon mal für eure Inupts
Grüße
ich Versuche mir gerade eine Regel zu bauen, die mir anzeigt, wie oft sich an einem Tag der Wert eines ITEMs ändert.
Dazu bin ich die Sache wie folgt angegangen:
Code:
rule "Reset Count Brenner Starts 24 Hrs" when Time cron "0 00 00 * * ?" then // Setze Zaehler auf 0 zurueck postUpdate(HEIZUNG_BRENNER_STARTS_DAILY_COUNT, 0) end rule "Count Brenner Starts 24 Hrs" when // Fuehrt Regel aus wenn ITEM Wert sich aendert Item HEIZUNG_BRENNER_STARTS changed then // Kopiere alten Wert in Variable var oldcount = (HEIZUNG_BRENNER_STARTS_DAILY_COUNT.state as DecimalType).intValue // Addiere 1 zu alter Variable var newcount = oldcount.intValue + 1 // Schreibe neuen Wert in ITEM HEIZUNG_BRENNER_STARTS_DAILY_COUNT.postUpdate(newcount) end
Hintergrund Infos:
Das Item "HEIZUNG_BRENNER_STARTS" hat einen fortlaufenden Wert. Bsp.: 100. Dieser Wert erhöht sich jedes mal um 1 wenn der Brenner gestartet wurde.
Leider ist das ungenau, da openhab manchmal ein Update als change registriert und damit den Wert erhöht.
Andere Möglichkeit:
Man könnte ja den den Wert der Brennerstarts täglich um 0.00 Uhr speichern, und dann immer die Differenz zum Startwert errechnen.
Nur hier komme ich irgendwie nicht weiter:
Bsp:
Code:
rule "TEST Reset Count Brenner Starts 24 Hrs" when Time cron "0 00 00 * * ?" then // Setze Zaehler auf 0 zurueck postUpdate(HEIZUNG_BRENNER_STARTS_DAILY_COUNT, 0) end rule "TEST Count Brenner Starts 24 Hrs" when // Fuehrt Regel aus wenn ITEM Wert sich aendert Item HEIZUNG_BRENNER_STARTS changed then var oldcount = ??? var currentcount = (HEIZUNG_BRENNER_STARTS.state as DecimalType).intValue var newcount.intValue = currencount - oldcount.intValue HEIZUNG_BRENNER_STARTS_DAILY_COUNT.postUpdate(newcount) end
Oder gibt es eine andere Möglichkeit?
Danke schon mal für eure Inupts
Grüße
Kommentar