rrd4j - Stromverbrauch
-
- Beiträge: 38
- Registriert: 3. Jun 2020 07:51
rrd4j - Stromverbrauch
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. Hier scheint er auch Werte zu schreiben.
Jetzt habe ich einfach mal angefangen Dummy Items anzulegen. Danach wollte ich in einer Rule die Werte testweise übergeben: 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
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. Hier scheint er auch Werte zu schreiben.
Jetzt habe ich einfach mal angefangen Dummy Items anzulegen. Danach wollte ich in einer Rule die Werte testweise übergeben: 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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: rrd4j - Stromverbrauch
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:
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
Kleiner Tipp gleich zu Anfang hier: Bitte keine Screenshots vom Code verwenden.
Das ist schlecht lesbar. Bitte als Code über die Codefences einfügen.
Code: Alles auswählen
Dein Code hier
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
}
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
- OpenHab 2.4
#PWRUP
#PWRUP
-
- Beiträge: 38
- Registriert: 3. Jun 2020 07:51
Re: rrd4j - Stromverbrauch
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.
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.
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: rrd4j - Stromverbrauch
Ach so, ja stimmt... ja die Lesbarkeit da war ein Zeilenumbruch...
- OpenHab 2.4
#PWRUP
#PWRUP
-
- Beiträge: 38
- Registriert: 3. Jun 2020 07:51
Re: rrd4j - Stromverbrauch
Hab es mal etwas vereinfach für die Fehlersuche:
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
Code: Alles auswählen
rule "Stromzaehler Test"
when
Item StromverbrauchGesamt received update
then
Stromzaehler_Test.postUpdate(StromverbrauchGesamt)
end
Code: Alles auswählen
Number Stromzaehler_Test "Verbrauch [%.0f W]" (Strom)
Das Item StromverbrauchGesamt liefert Werte in die StromverbrauchGesamt.rrd
Viele Grüße
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: rrd4j - Stromverbrauch
Mach mal So:
Ich lasse immer auf changed triggern und da Du für den Test ohne Persistenz arbeitest must du noch "state" mit angeben.
Code: Alles auswählen
rule "Stromzaehler Test"
when
Item StromverbrauchGesamt changed
then
Stromzaehler_Test.postUpdate(StromverbrauchGesamt.state)
end
- OpenHab 2.4
#PWRUP
#PWRUP
-
- Beiträge: 38
- Registriert: 3. Jun 2020 07:51
Re: rrd4j - Stromverbrauch
Hah. Jetzt wird schon mal korrekt übergeben! Danke. Kann nun weiter forschen!!!
-
- Beiträge: 296
- Registriert: 22. Sep 2018 10:38
Re: rrd4j - Stromverbrauch
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:
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))
openHAB 4.3.3 @ RPi 4 / SSD - InfluxDB2 und Grafana @ Synology Docker - KNX