Stromverbrauch berechnen über Zeit
-
- Beiträge: 67
- Registriert: 3. Jan 2021 11:06
- Wohnort: Wörlitz / Obertshausen
Stromverbrauch berechnen über Zeit
Hallo Zusammen,
ich würde gerne folgendes machen:
Ich habe Elektroheizungen, wenn diese angeht würde ich gerne die Zeit speichern.
Anschließend die Zeit beim Ausschalten. dann die Differnez berechnen dieses in eine Variable speichern und mit dem Verbrauch des Gerätes was dran hängt darüber den Verbrauch berechnen. Ich habe schon mal was gestest:
ich würde gerne folgendes machen:
Ich habe Elektroheizungen, wenn diese angeht würde ich gerne die Zeit speichern.
Anschließend die Zeit beim Ausschalten. dann die Differnez berechnen dieses in eine Variable speichern und mit dem Verbrauch des Gerätes was dran hängt darüber den Verbrauch berechnen. Ich habe schon mal was gestest:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Openhab 4.0.0 RPi SSD
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa
- udo1toni
- Beiträge: 13985
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Stromverbrauch berechnen über Zeit
Du weißt schon, dass openHAB mit Persistence all das bietet? Als DSL Rule:
.previousState(true) liefert ein historicItem, dessen Status sich von dem aktuellen Status unterscheidet (true), und zwar das früheste.
.getTimestamp liefert den Zeitstempel des Items, das ist also der Zeitpunkt, als das Item zuletzt auf ON gewechselt hat.
.zonedDateTime wandelt das Format passend, so dass man damit rechnen kann, toInstant erzeugt eine neue Instanz, toEpochMilli gibt die Anzahl Millisekunden seit 01.01.1970, 00:00:00.000 Uhr an. Dieser Wert wird von "jetzt" im gleichen Format abgezogen, was der Dauer in Millisekunden entspricht. Alles weitere ist nur noch Beiwerk, Millisekunden in Sekunden umrechnen, Dauer mit Leistung multiplizieren und durch 3.600.000 teilen, um von Wattsekunden auf Kilowattstunden zu kommen, sowie hier als Beispiel die Ausgabe ins Log.
Geht genauso mit JS oder Blockly, aber ich kann mit Blockly nicht so gut
Code: Alles auswählen
rule "Einschaltdauer"
when
Item myItem changed to OFF
then
val Leistung = 1200 // Watt
val Dauer = (now.toInstant.toEpochMilli - myItem.previousState(true).getTimestamp.zonedDateTime.toInstant.toEpochMilli)/1000 // in Sekunden
val Verbrauch = Dauer * Leistung / 3600000 // kWh
logInfo("verbrauch","myItem war {} Sekunden eingeschaltet und hat {} kWh verbraucht.",Dauer,Verbrauch)
end
.getTimestamp liefert den Zeitstempel des Items, das ist also der Zeitpunkt, als das Item zuletzt auf ON gewechselt hat.
.zonedDateTime wandelt das Format passend, so dass man damit rechnen kann, toInstant erzeugt eine neue Instanz, toEpochMilli gibt die Anzahl Millisekunden seit 01.01.1970, 00:00:00.000 Uhr an. Dieser Wert wird von "jetzt" im gleichen Format abgezogen, was der Dauer in Millisekunden entspricht. Alles weitere ist nur noch Beiwerk, Millisekunden in Sekunden umrechnen, Dauer mit Leistung multiplizieren und durch 3.600.000 teilen, um von Wattsekunden auf Kilowattstunden zu kommen, sowie hier als Beispiel die Ausgabe ins Log.
Geht genauso mit JS oder Blockly, aber ich kann mit Blockly nicht so gut
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 308
- Registriert: 30. Apr 2021 13:13
Re: Stromverbrauch berechnen über Zeit
Moin,
"now" ergibt keine Zahl sondern einen Wert im ZonedDateTime-Format. Lass es Dir mal im Log ausgeben (auch für das x1). Um damit zu rechnen findest Du im Register Dates&Times unten (ggf. scrollen) Get difference between datetimes Für die Persistence gibt es ein eigenes Register mit Hilfe-Option.
"now" ergibt keine Zahl sondern einen Wert im ZonedDateTime-Format. Lass es Dir mal im Log ausgeben (auch für das x1). Um damit zu rechnen findest Du im Register Dates&Times unten (ggf. scrollen) Get difference between datetimes Für die Persistence gibt es ein eigenes Register mit Hilfe-Option.
-
- Beiträge: 67
- Registriert: 3. Jan 2021 11:06
- Wohnort: Wörlitz / Obertshausen
Re: Stromverbrauch berechnen über Zeit
Vielen Dank Udu und Harka für die UnterstützungHarka hat geschrieben: ↑15. Jan 2023 07:14 Moin,
"now" ergibt keine Zahl sondern einen Wert im ZonedDateTime-Format. Lass es Dir mal im Log ausgeben (auch für das x1). Um damit zu rechnen findest Du im Register Dates&Times unten (ggf. scrollen) Get difference between datetimes Für die Persistence gibt es ein eigenes Register mit Hilfe-Option.
Ich hab jetzt mal versucht das Nachzubauen. Hab aber noch fehler drin. Könnt ihr euch das mal ansehen
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Openhab 4.0.0 RPi SSD
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa
-
- Beiträge: 308
- Registriert: 30. Apr 2021 13:13
Re: Stromverbrauch berechnen über Zeit
So richtig weiß ich es auch nicht.
Die Persistence funktioniert lt. Hilfe hier nicht mit rrd4j und wenn, liefert sie auch nur ganze Minuten.
Ich würde Deinen ersten Ansatz weiter verfolgen aber mit der (hier ja richtigen) Rechenfunktion für Zeit. So klappt es zu mindestens bei mir auf Anhieb.
Melde Dich ggf. noch mal mit den Fehlermeldungen.
Die Persistence funktioniert lt. Hilfe hier nicht mit rrd4j und wenn, liefert sie auch nur ganze Minuten.
Ich würde Deinen ersten Ansatz weiter verfolgen aber mit der (hier ja richtigen) Rechenfunktion für Zeit. So klappt es zu mindestens bei mir auf Anhieb.
Melde Dich ggf. noch mal mit den Fehlermeldungen.
-
- Beiträge: 67
- Registriert: 3. Jan 2021 11:06
- Wohnort: Wörlitz / Obertshausen
Re: Stromverbrauch berechnen über Zeit
das mit rr4j habe ich auch gelsen und woltle nun mal influx testen. Habe ich ja schon installiert nun als Persistence eingestellt bin mir nur ncioht sicher ob es läuft, wenn ich die grafana öffne sehe zwar alle items aber alles ohne daten..Harka hat geschrieben: ↑15. Jan 2023 14:31 So richtig weiß ich es auch nicht.
Die Persistence funktioniert lt. Hilfe hier nicht mit rrd4j und wenn, liefert sie auch nur ganze Minuten.
Ich würde Deinen ersten Ansatz weiter verfolgen aber mit der (hier ja richtigen) Rechenfunktion für Zeit. So klappt es zu mindestens bei mir auf Anhieb.
Melde Dich ggf. noch mal mit den Fehlermeldungen.
ich hab leider da zu wenig bis gar keine Ahnung
Openhab 4.0.0 RPi SSD
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa
-
- Beiträge: 67
- Registriert: 3. Jan 2021 11:06
- Wohnort: Wörlitz / Obertshausen
Re: Stromverbrauch berechnen über Zeit
Korrektur also es Funktioniert nun. Ich bin auf INflux umgesteigen und siehe da. Ich erhalten entsprechen in Sekunden die RückmeldungHarka hat geschrieben: ↑15. Jan 2023 14:31 So richtig weiß ich es auch nicht.
Die Persistence funktioniert lt. Hilfe hier nicht mit rrd4j und wenn, liefert sie auch nur ganze Minuten.
Ich würde Deinen ersten Ansatz weiter verfolgen aber mit der (hier ja richtigen) Rechenfunktion für Zeit. So klappt es zu mindestens bei mir auf Anhieb.
Melde Dich ggf. noch mal mit den Fehlermeldungen.
die Regel sieht fogerndemaßen aus: Ich werde nun jeweils die Zeit noch aufaddieren, war muss ich anschließned noch was machen um täglich, monatlich, Jährlch darzustellen das denke ist aber ein kleines Problem
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Openhab 4.0.0 RPi SSD
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa
-
- Beiträge: 67
- Registriert: 3. Jan 2021 11:06
- Wohnort: Wörlitz / Obertshausen
Re: Stromverbrauch berechnen über Zeit
Ich versuche nun den Berechneten Wert in ein Number Item zu schreiben da steht aber immer NULL drin und der Log sagt NULL und dann die Zahl bei Send Comand to. Ich frag mich wie ich das machen kann mit dem addieren der ON Zeit um immer zu wissen was die Kosten sind. Ich hab schon an Grafan gedacht aber wie das geht muss ich mal lesen.Harka hat geschrieben: ↑15. Jan 2023 14:31 So richtig weiß ich es auch nicht.
Die Persistence funktioniert lt. Hilfe hier nicht mit rrd4j und wenn, liefert sie auch nur ganze Minuten.
Ich würde Deinen ersten Ansatz weiter verfolgen aber mit der (hier ja richtigen) Rechenfunktion für Zeit. So klappt es zu mindestens bei mir auf Anhieb.
Melde Dich ggf. noch mal mit den Fehlermeldungen.
Openhab 4.0.0 RPi SSD
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa
-
- Beiträge: 308
- Registriert: 30. Apr 2021 13:13
Re: Stromverbrauch berechnen über Zeit
das "last update date of" liefert mir kein brauchbaren Wert. Auch nach 131 sek kommt hier nur eine Zeit, welche 1 sek zurück liegt. Ich würde das daher erst mal ohne Persistence lösen.
-
- Beiträge: 67
- Registriert: 3. Jan 2021 11:06
- Wohnort: Wörlitz / Obertshausen
Re: Stromverbrauch berechnen über Zeit
wie könnte so eine lösung aussehen
Openhab 4.0.0 RPi SSD
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa