2025-07-18 11:00:00.565 [ERROR] [.handler.AbstractScriptModuleHandler] - Script execution of rule with UID 'persistence_hichi-1' failed: The argument 'state' must not be null. in persistence_hichi
rule "persistence Stromzähler"
when
Item Dummy_pers_9 changed from OFF to ON or
Time cron "0 0 0/1 1/1 * ? *"
then
val VerbrauchTag = esp32c3_01_total_in.deltaSince(ZonedDateTime.now().with(LocalTime.MIDNIGHT)) as Number // Heute aus Gesamtverbrauch
val VerbrauchVortag = esp32c3_01_total_in.deltaBetween(now.minusDays(1).with(LocalTime.MIN),now.minusDays(1).with(LocalTime.MAX)) // gestern
val VerbrauchMonat = esp32c3_01_total_in.deltaSince(now.withDayOfMonth(1).with(LocalTime.MIDNIGHT)) // Monat
esp32c3_01_cfPY.postUpdate(5053.0) // Vortragswert per 15.5.24
esp32c3_01_carryforwardini.postUpdate(8138.0) // Vortragswert per 15.5.25
var VerbrauchJahr = (esp32c3_01_total_in.state as QuantityType<Energy> - esp32c3_01_carryforwardini.state as QuantityType<Energy>) // Jahr - hilfsweise ;-)
var VerbrauchVorJahr = (esp32c3_01_carryforwardini.state as QuantityType<Energy> - esp32c3_01_cfPY.state as QuantityType<Energy>) // Vorjahr - rechnerisch
val VerbrauchVorMonat = esp32c3_01_total_in.deltaBetween(ZonedDateTime.now.minusMonths(1).withDayOfMonth(1).with(LocalTime.MIDNIGHT), ZonedDateTime.now.withDayOfMonth(1).with(LocalTime.MIDNIGHT).minusSeconds(1)) // Vormonat
esp32c3_01_yd.postUpdate(VerbrauchVortag) // Gestern
esp32c3_01_MTD.postUpdate(VerbrauchMonat) // Monat
esp32c3_01_pM.postUpdate(VerbrauchVorMonat) // VormonatMonat
esp32c3_01_YTD.postUpdate(VerbrauchJahr) // Jahr
esp32c3_01_PY.postUpdate(VerbrauchVorJahr) // Vorjahr
esp32c3_01_curr.postUpdate(VerbrauchTag) // Heute
end
Hat jemand einen Tipp für mich ?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
Warum nutzt Du LocalTime.MIN und LocalTime.MAX?
Mein Vorgehen wäre Mitternacht (0 Uhr) zu nehmen und für den Beginn des Zeitraums einen Tag abzuziehen.
Die Funktion als solche müsste eigentlich Werte liefern, es sei denn, es existieren keine Daten für den gewählten Zeitraum...
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
Hallo Udo. Danke für dein Input.
Die Rule als solche läuft eigentlich jede Stunde.
Ich verstehe zwar was du meinst, aber ich muss erst mal schauen, wo du das schon einmal erläutert hast. bzw. muss mich mit der Persistence auseinander setzen. Das mit der Zeit ist niht so meins.
Die Funktion, die ich da benutze macht ja eigentlich auch nichts anderes, oder ??? Aber wie gesagt, die Rule hat bis gestern funktioniert ??!!
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian