Aber ich habe keine Ahnung wie ich diese denn jetzt in mein Script integrieren muss.
Ich ahbe leider gar keine Programmierkenntnisse.
Es geht schon los das ich nit weiss was der Unterschied zwischen "var" und "val".
Kannst du mir helfen?
Habe es jetzt mal so eingefügt wie ich denke
Code: Alles auswählen
rule "Stromverbrauch_Tag_Woche_Monat_Jahr"
when
Item Heizung_Zaehlerstand_errechnet received update
then
val ZonedDateTime zdt = ZonedDateTime.now()
var ZonedDateTime start_of_day = zdt.toLocalDate().atStartOfDay(zdt.getZone())
//var ZonedDateTime start_of_week = zdt.minusDays(4)(zdt.getZone()) //------>> siehe Beschreibung unten**
//var ZonedDateTime start_of_week = zdt.withDayOfWeek().toLocalDate().atStartOfDay(zdt.getZone())
val dayOfWeek = (ZonedDateTime.now.with(LocalTime.of(0,0,0,0)).getDayOfWeek.getValue)
var ZonedDateTime start_of_month = zdt.withDayOfMonth(13).toLocalDate().atStartOfDay(zdt.getZone())
var ZonedDateTime start_of_year = zdt.withDayOfYear(286).toLocalDate().atStartOfDay(zdt.getZone())
var strom_Heute = Heizung_Zaehlerstand_errechnet.deltaSince(start_of_day) as Number
//var strom_Woche = Heizung_Zaehlerstand_errechnet.deltaSince(start_of_week) as Number
val strom_Woche = Heizung_Zaehlerstand_errechnet.deltaSince(ZonedDateTime.now().with(LocalTime.of(0,0,0,0)).minusDays(dayOfWeek -1)) // Woche
var strom_Monat = Heizung_Zaehlerstand_errechnet.deltaSince(start_of_month) as Number
var strom_Jahr = Heizung_Zaehlerstand_errechnet.deltaSince(start_of_year) as Number
postUpdate(Heizung_Verbrauch_Tag, strom_Heute)
postUpdate(Heizung_Verbrauch_Woche, strom_Woche)
postUpdate(Heizung_Verbrauch_Monat, strom_Monat)
postUpdate(Heizung_Verbrauch_Jahr, strom_Jahr)
end