Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen
Verfasst: 27. Okt 2022 18:53
Das ist genau, was weiter oben beschrieben wurde. Udo hat das schön strukturiert.
Du musst nur Heizung_Zaehlerstand_errechnet durch heatQuellen_consumption ersetzen.
Edit: Für die Fortschreibung deiner Ergebnisse musst du natürlich noch die Verbrauchswerte für Tag, Woche, Monat und Jahr anlegen.
Code: Alles auswählen
rule "Stromverbrauch Tag Woche Monat Jahr" // Deutscher Zeichensatz zulässig
when
Item Heizung_Zaehlerstand_errechnet changed // changed reicht.
then
val ZonedDateTime zdt = ZonedDateTime.now() // jetzt
val ZonedDateTime start_of_day = zdt.with(LocalTime.MIDNIGHT) // heute, Mitternacht
val ZonedDateTime start_of_week = start_of_day.minusDays(start_of_day.getDayOfWeek.getValue - 1) // Montag
val ZonedDateTime start_of_month = start_of_day.withDayOfMonth(13) // Erster Tag des Monats (1)
val ZonedDateTime start_of_year = start_of_day.withDayOfYear(286) // Erster Tag des Jahres (1)
val strom_Heute = (Heizung_Zaehlerstand_errechnet.deltaSince(start_of_day) as Number).floatValue
val strom_Woche = (Heizung_Zaehlerstand_errechnet.deltaSince(start_of_week) as Number).floatValue
val strom_Monat = (Heizung_Zaehlerstand_errechnet.deltaSince(start_of_month) as Number).floatValue
val strom_Jahr = (Heizung_Zaehlerstand_errechnet.deltaSince(start_of_year) as Number).floatValue
Heizung_Verbrauch_Tag.postUpdate(strom_Heute)
Heizung_Verbrauch_Woche.postUpdate(strom_Woche)
Heizung_Verbrauch_Monat.postUpdate(strom_Monat)
Heizung_Verbrauch_Jahr.postUpdate(strom_Jahr)
end
Edit: Für die Fortschreibung deiner Ergebnisse musst du natürlich noch die Verbrauchswerte für Tag, Woche, Monat und Jahr anlegen.