Stromverbrauch für Tag, Woche, Monat, Jahr berechnen
Verfasst: 30. Jan 2021 12:28
Hallo, wie kann man eine Rule schreiben die den gesamten Stromverbrauch für ein Jahr zb. 01-01 bis 31-12 misst und dann wieder löscht so wie die Rule für den Tagesverbrauch. Es ist bestimmt möglich den Zählerstand vom 01-01 bis zum 31-12 vom Item Zählerstand_Kwh die Differenz zu errechnen bzw den Stromverbrauch jeden Tages zu addieren und in das Item StromVerbrauchJahr zu schreiben und am ende des Jahres am 31-12 um 00:00 Uhr an das Item StromVerbrauchVorjahr zu schreiben.
Das ist die Rule die ich für den Tages Verbrauch habe die funktioniert einwandfrei
Habe jetzt zum testen mal eine Rule gefunden für einen Wasserverbrauch und etwas abgeändert weiß aber nicht ob das so richtig ist
Bitte um Hilfe Danke im voraus
Das ist die Rule die ich für den Tages Verbrauch habe die funktioniert einwandfrei
Code: Alles auswählen
rule "Stromverbrauch heute"
when
Item Stromzaehler_kWh received update
then
StromVerbrauchHeute.postUpdate(Stromzaehler_kWh.deltaSince(now.withTimeAtStartOfDay, "rrd4j" ) as Number )
end
Code: Alles auswählen
rule "Stromverbrauch gestern"
when
Time cron "59 59 23 * * ?"
then
if (StromVerbrauchHeute.state instanceof DecimalType) {
StromVerbrauchGestern.postUpdate(StromVerbrauchHeute.state)
}
end
Habe jetzt zum testen mal eine Rule gefunden für einen Wasserverbrauch und etwas abgeändert weiß aber nicht ob das so richtig ist
Code: Alles auswählen
rule "Stromverbrauch Test"
when
Item Stromzaehler_kWh received update
then
TagVerbrauch.postUpdate(Stromzaehler_kWh.deltaSince(now.withTimeAtStartOfDay, "rrd4j" ) as Number )
WocheVerbrauch.postUpdate(Stromzaehler_kWh.deltaSince(now.withDayOfWeek(1).withTimeAtStartOfDay, "rrd4j" ) as Number )
MonatVerbrauch.postUpdate(Stromzaehler_kWh.deltaSince(now.withDayOfMonth(1).withTimeAtStartOfDay, "rrdj4") as Number )
JahrVerbrauch.postUpdate(Stromzaehler_kWh.deltaSince(now.withDayOfYear(1).withTimeAtStartOfDay, "rrdj4") as Number )
end