Stromverbrauch berechnen über Zeit

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

AndyRPi
Beiträge: 67
Registriert: 3. Jan 2021 11:06
Answers: 0
Wohnort: Wörlitz / Obertshausen

Stromverbrauch berechnen über Zeit

Beitrag von AndyRPi »

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:
stromverbrauch.JPG
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

Benutzeravatar
udo1toni
Beiträge: 13985
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Stromverbrauch berechnen über Zeit

Beitrag von udo1toni »

Du weißt schon, dass openHAB mit Persistence all das bietet? Als DSL Rule:

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
.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 :)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Harka
Beiträge: 308
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: Stromverbrauch berechnen über Zeit

Beitrag von Harka »

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.

AndyRPi
Beiträge: 67
Registriert: 3. Jan 2021 11:06
Answers: 0
Wohnort: Wörlitz / Obertshausen

Re: Stromverbrauch berechnen über Zeit

Beitrag von AndyRPi »

Harka 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.
Vielen Dank Udu und Harka für die Unterstützung
Ich hab jetzt mal versucht das Nachzubauen. Hab aber noch fehler drin. Könnt ihr euch das mal ansehen
time.JPG
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

Harka
Beiträge: 308
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: Stromverbrauch berechnen über Zeit

Beitrag von Harka »

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.

AndyRPi
Beiträge: 67
Registriert: 3. Jan 2021 11:06
Answers: 0
Wohnort: Wörlitz / Obertshausen

Re: Stromverbrauch berechnen über Zeit

Beitrag von AndyRPi »

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.
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..
ich hab leider da zu wenig bis gar keine Ahnung
Openhab 4.0.0 RPi SSD
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa

AndyRPi
Beiträge: 67
Registriert: 3. Jan 2021 11:06
Answers: 0
Wohnort: Wörlitz / Obertshausen

Re: Stromverbrauch berechnen über Zeit

Beitrag von AndyRPi »

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.
Korrektur also es Funktioniert nun. Ich bin auf INflux umgesteigen und siehe da. Ich erhalten entsprechen in Sekunden die Rückmeldung
die Regel sieht fogerndemaßen aus:
stromverbrauch.JPG
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

AndyRPi
Beiträge: 67
Registriert: 3. Jan 2021 11:06
Answers: 0
Wohnort: Wörlitz / Obertshausen

Re: Stromverbrauch berechnen über Zeit

Beitrag von AndyRPi »

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 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.
Openhab 4.0.0 RPi SSD
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa

Harka
Beiträge: 308
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: Stromverbrauch berechnen über Zeit

Beitrag von Harka »

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.

AndyRPi
Beiträge: 67
Registriert: 3. Jan 2021 11:06
Answers: 0
Wohnort: Wörlitz / Obertshausen

Re: Stromverbrauch berechnen über Zeit

Beitrag von AndyRPi »

Harka hat geschrieben: 15. Jan 2023 16:51 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.
wie könnte so eine lösung aussehen
Openhab 4.0.0 RPi SSD
Homematic CCU3
Phoscon
Shelly
FRITZ!Box
Alexa

Antworten