Seite 1 von 1
rrd4j - Stromverbrauch
Verfasst: 8. Sep 2023 08:50
von torfkop
Moin zusammen,
ich stelle mich mal wieder unfassbar dämlich an.
Möchte gerne meine aktuellen Stromwerte sammeln und dann entsprechend der Verbraucht pro Tag ermitteln.
Persistenz wollte ich über rrd4j herstellen.
Screenshot 2023-09-08 at 08.40.26.png
Hier scheint er auch Werte zu schreiben.
Jetzt habe ich einfach mal angefangen Dummy Items anzulegen.
Screenshot 2023-09-08 at 08.45.32.png
Danach wollte ich in einer Rule die Werte testweise übergeben:
Screenshot 2023-09-08 at 08.48.13.png
Leider bleibt das Item komplett leer.
Ich weiß nicht so ganz wo genau ich nach dem Fehler suchen soll. Habt ihr einen Tipp?
Viele Grüße
Steffen
Re: rrd4j - Stromverbrauch
Verfasst: 8. Sep 2023 10:30
von PeterA
Hi,
Kleiner Tipp gleich zu Anfang hier: Bitte keine Screenshots vom Code verwenden.
Das ist schlecht lesbar. Bitte als Code über die Codefences einfügen.
Der entsprechende Persistenz Dienst als Addon muss installiert sein.
Du musst das Item "StromverbrauchGesamt" persistieren.
Und zwar in der rrd4j.persist Datei:
rrd4j.persist:
Code: Alles auswählen
Strategies {
everyMinute : "0 * * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
}
Items {
// Energiezähler
StromverbrauchGesamt : strategy = everyMinute, everyChange, restoreOnStartup
}
Und dann ist im Rule Code ein "." hinter "Stromzähler_Verbauch_Aktuell." Soll das so ?
Denn bei den Items ist das ohne Punkt definiert.
Und zu guter Letzt kann es sein das zum Zeitpunkt der Abfrage "now.minusMinutes(6)" noch kein Datenpunkt in der DB gespeichert ist.
Gruß Peter
Re: rrd4j - Stromverbrauch
Verfasst: 8. Sep 2023 10:51
von torfkop
Moin Peter,
danke für den Tipp.
also das Addon zur Persistenz ist installiert.
Mit dem ".".Ja das soll so. In der Doku steht, dass vor postUpdate der . als Verknüpfung muss zum Item davor.
Habe es mal ohn den negativen Datenpunkt versucht und direkt 1:1 die Daten zu übergeben. Selbst so klappt es nicht. Es scheint so als könnte ich aus der rrd4j nicht lesen.
Re: rrd4j - Stromverbrauch
Verfasst: 8. Sep 2023 10:55
von PeterA
Ach so, ja stimmt... ja die Lesbarkeit da war ein Zeilenumbruch...
Re: rrd4j - Stromverbrauch
Verfasst: 8. Sep 2023 11:33
von torfkop
sorry

Re: rrd4j - Stromverbrauch
Verfasst: 8. Sep 2023 11:46
von torfkop
Hab es mal etwas vereinfach für die Fehlersuche:
Code: Alles auswählen
rule "Stromzaehler Test"
when
Item StromverbrauchGesamt received update
then
Stromzaehler_Test.postUpdate(StromverbrauchGesamt)
end
So müsste er doch eigentlich 1:1 die Werte bei jedem Update übergeben und ausgeben als Item oder?
Das Item StromverbrauchGesamt liefert Werte in die StromverbrauchGesamt.rrd
Viele Grüße
Re: rrd4j - Stromverbrauch
Verfasst: 8. Sep 2023 11:53
von PeterA
Mach mal So:
Code: Alles auswählen
rule "Stromzaehler Test"
when
Item StromverbrauchGesamt changed
then
Stromzaehler_Test.postUpdate(StromverbrauchGesamt.state)
end
Ich lasse immer auf changed triggern und da Du für den Test ohne Persistenz arbeitest must du noch "state" mit angeben.
Re: rrd4j - Stromverbrauch
Verfasst: 8. Sep 2023 12:04
von torfkop
Hah. Jetzt wird schon mal korrekt übergeben! Danke. Kann nun weiter forschen!!!
Re: rrd4j - Stromverbrauch
Verfasst: 8. Sep 2023 12:07
von nw378
Ich glaube, du holperst ein wenig mit den Einheiten durcheinander.
Der augenblickliche Verbrauch (eigentlich Leistung) wird in (kilo)
Watt (kW) gemessen, der (Tages- o.ä.) Verbrauch in (kilo)
Wattstunden,
also Leistung mal Zeit.
Den aktuellen Verbrauch kannst Du nicht per DeltaSince angeben, das geht nur für den Verbrauch je Zeiteinheit, zum Beispiel Verrbauch heute seit Mitternacht:
Code: Alles auswählen
Stromzaehler_kWh.deltaSince(ZonedDateTime.now().with(LocalTime.MIDNIGHT))