Seite 1 von 3

Stromverbrauch über Nacht

Verfasst: 11. Jun 2023 21:29
von Lactobacillus
Hallo,

wir sind derzeit am überlegen eine Photovoltaik Anlage zu installieren . Ich bin eher im Moment abgeneigt einen Speicher mit zu kaufen dazu müsste ich für die kommenden Wochen mal den Stromverbrauch in kwh haben von 18 Uhr bis 9 Uhr, das wäre so die Zeit wo keine Sonne aufs Dach scheint im Sommer. Das Item heist:

Code: Alles auswählen

StromzaehlerHaus_Gesamtstrom

Re: Stromverbrauch über Nacht

Verfasst: 11. Jun 2023 23:32
von udo1toni
Na, das einfachste wäre sowas:

Code: Alles auswählen

Startzeit = now.with(LocalTime.MIDNIGHT).minusHours(6) // 18 Uhr Vortag
Endzeit = now.with(LocalTime.MIDNIGHT).plusHours(9) // 9 Uhr heute
kWhNacht =  StromzaehlerHaus_Gesamtstrom.deltaBetween(Startzeit,Endzeit)
Voraussetzung ist natürlich, dass das ITem mit einer vernünftigen Persistence persistiert wird. - mindestens everyChange und rrd4j oder InfluxDB (oder eine andere SQL Datenbank)

Ansonsten - Wenn Du die Möglichkeit dazu hast, bau einen Akku dazu, es wurmt mich täglich, dass ich bei mir nur geringe Chancen habe, jemals einen nachzurüsten...

Re: Stromverbrauch über Nacht

Verfasst: 12. Jun 2023 04:15
von Lactobacillus
Derzeit meine ich ist mit InfluxDB everyminute eingestellt.

Naja das ist so eine Gewissensfrage ob sich der Preis für so einen Speicher je rentiert und ob die Strompreise wirklich irgendwann explodieren. Mir wurde abgeraten vom Speicher aber das ist ein anderes Forum 😁

Re: Stromverbrauch über Nacht

Verfasst: 12. Jun 2023 07:29
von udo1toni
Lactobacillus hat geschrieben: 12. Jun 2023 04:15 Derzeit meine ich ist mit InfluxDB everyminute eingestellt.
Je nachdem, wie oft die Werte angeliefert werden (bei mir etwa einmal pro Sekunde...) verlierst Du Werte, aber für die gestellte Aufgabe sind die Werte natürlich völlig ausreichend :) Gewöhnlich wird man mit InfluxDB keine zeitlich starre Strategie verwenden, außer, um die Menge an Messwerten zu begrenzen (oder bei sehr selten wechselnden Werten eine Mindestmenge zu erzwingen - damit z.B. Grafana immer Ankerpunkte hat).
Lactobacillus hat geschrieben: 12. Jun 2023 04:15 Naja das ist so eine Gewissensfrage ob sich der Preis für so einen Speicher je rentiert und ob die Strompreise wirklich irgendwann explodieren.
Also, ich habe als langjähriger Bestandskunde letztes Jahr eine Preissteigerung von weit über 100 % gehabt, keine Ahnung, in welchem Jahrzehnt die Preise wieder nach unten angepasst werden - interessant auch, dass der Abnahmepreis selbstverständlich gleich geblieben ist, die ganze Nummer kommt also einer Enteignung gleich - und ich habe schon immer nicht mal die Hälfte dessen bekommen, was ich selbst zahlen muss...
Lactobacillus hat geschrieben: 12. Jun 2023 04:15 Mir wurde abgeraten vom Speicher aber das ist ein anderes Forum 😁
Grundsätzlich, wenn Du Anlagen von der Stange durch einen Fachmann installieren lässt, lassen sich die Hersteller das Ding quasi in Gold aufwiegen (was vermutlich der wahre Grund ist, warum die Akkus so schwer sind ;) ). Und vor diesem Hintergrund kann man das natürlich schon in Frage stellen.

Aus Netz-Sicht wäre die sinnvollste Variante, eine gesetzliche Verpflichtung für Speichereinrichtungen zu schaffen - für jeden, oder zumindest für jeden Erzeuger (abhängig von der gelieferten bzw. bezogenen Leistung).
Aus Großerzeuger-Sicht sind Speicher die Pest, weil sie die Verbraucher unabhängiger machen, genau wie PV-Kleinstanlagen (also bis ca. 100kW)...

Re: Stromverbrauch über Nacht

Verfasst: 12. Jun 2023 07:40
von PeterA
Hallo,

So ein Zufall. Ähnliches tut sich hier auch gerade auf.
Mein Shelly Pro 3EM kann die zurück gespeiste Energie ins Netz mit Wh ausgeben.
Dieser Wert zählt intern im Shelly immer weiter hoch.
Nun wollte ich den Tageswert mit folgender Rule ermitteln:
(Persistenz ist rrdj4)

Code: Alles auswählen

rule "Stromeinspeisung heute" 
when

Item emdata0_total_act_ret changed

then

Stromeinspeisung_heute_cal_ret.postUpdate(emdata0_total_act_ret.deltaSince(now.withTimeAtStartOfDay) / 1000 as Number )

end
Allerdings sind die Werte nur quasi Tagsüber in der DB wenn es Überschuss von der PV gibt.
Somit bekomme ich im Log diesen Fehler:

Code: Alles auswählen

2023-06-12 07:33:00.481 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Stromeinspeisung heute': null
Wie könnte ich das besser lösen ?

Gruß Peter
(OpenHab 2.4... noch :-) )

Re: Stromverbrauch über Nacht

Verfasst: 12. Jun 2023 17:12
von udo1toni
Eigentlich sollte die Persistence immer Werte liefern. Bist Du sicher, dass es um Mitternacht schon einen gültigen Wert gab?
Es kann natürlich sein, dass der Channel zwischendurch ungültige Werte liefert (das wäre dann allerdings ein Fehlverhalten, ein saldierender Zählerstand wird ja nicht ungültig, weil der Strom nun "in die andere Richtung fließt").
Falls der Channel tatsächlich null-Werte liefert, musst Du einen Filter einbauen, der verhindert, dass diese persistiert werden, notfalls mittels einer Rule und einem Proxy Item. In openHAB4 kann man das direkt in der Persistence einrichten, wenn ich mich richtig erinnere... :P

Wie dem auch sei, wenn der letzte Wert um 18 Uhr geschrieben wurde und der nächste Wert um 7 Uhr, dann sollte deltaSince(now.withTimeAtStartOfDay) den Wert von 18 Uhr vom aktuellen Wert abziehen, da um 0 Uhr der gleiche Zählerstand vorlag - hat sich ja nicht geändert.

Re: Stromverbrauch über Nacht

Verfasst: 12. Jun 2023 18:13
von Lactobacillus
udo1toni hat geschrieben: 11. Jun 2023 23:32

Code: Alles auswählen

Startzeit = now.with(LocalTime.MIDNIGHT).minusHours(6) // 18 Uhr Vortag
Endzeit = now.with(LocalTime.MIDNIGHT).plusHours(9) // 9 Uhr heute
kWhNacht =  StromzaehlerHaus_Gesamtstrom.deltaBetween(Startzeit,Endzeit)
Hallo, jetzt muss ich nochmal blöd fragen, wohin muss ich mit dem Code? Item oder Rule?

Re: Stromverbrauch über Nacht

Verfasst: 12. Jun 2023 18:37
von PeterA
udo1toni hat geschrieben: 12. Jun 2023 17:12
Wie dem auch sei, wenn der letzte Wert um 18 Uhr geschrieben wurde und der nächste Wert um 7 Uhr, dann sollte deltaSince(now.withTimeAtStartOfDay) den Wert von 18 Uhr vom aktuellen Wert abziehen, da um 0 Uhr der gleiche Zählerstand vorlag - hat sich ja nicht geändert.
Hallo Udo danke für die Erklärung.
Zwischenzeitlich läuft es ohne Fehlermeldung. Ich nehme an es waren noch nicht ausreichend Daten in der DB vorhanden.

Gruß
Peter

Re: Stromverbrauch über Nacht

Verfasst: 12. Jun 2023 18:52
von EmptySoft
Lactobacillus hat geschrieben: 12. Jun 2023 18:13
udo1toni hat geschrieben: 11. Jun 2023 23:32

Code: Alles auswählen

Startzeit = now.with(LocalTime.MIDNIGHT).minusHours(6) // 18 Uhr Vortag
Endzeit = now.with(LocalTime.MIDNIGHT).plusHours(9) // 9 Uhr heute
kWhNacht =  StromzaehlerHaus_Gesamtstrom.deltaBetween(Startzeit,Endzeit)
Hallo, jetzt muss ich nochmal blöd fragen, wohin muss ich mit dem Code? Item oder Rule?
Rule

Re: Stromverbrauch über Nacht

Verfasst: 12. Jun 2023 19:02
von Lactobacillus
Ok, Rule . Aber wie bekomme ich das ganze dann visuell ins Habpanel?

müsste eine Rule nicht when, then usw beinhalten? zumindest erscheint in VS Code ein Fehler