ok, habe ich umgestellt, erfahrungsgemäß dauert es jetzt ein bisschen bis ich Ergebnisse sehe da rrd4j erst Daten sammeln muss...
Der Stromzähler, bei dem es funktioniert, steht übrigens auf everyMinute.
...mich freut aber, dass ich - vielleicht - doch nicht so doof bin
openHAB 4.3.4 (64 bit) auf einem Raspberry Pi 5 Model B Rev 1.0 mit 8GB
Moin Zusammen,
das war's!
Seit dem minütlich persistiert wird läuft es !
...auch ohne >as Number<
...da muss man erst mal drauf kommen
Danke und Gruß
Flo
openHAB 4.3.4 (64 bit) auf einem Raspberry Pi 5 Model B Rev 1.0 mit 8GB
Ich habe mit dem gleichen Ziel/Problem zu kämpfen. Ich habe aber Openhab 3.2.0 und der Wert vom Tag "Stromzaehler_WP_Tag" wird nicht ausgegeben. Im Log sind keine Fehlermeldungen. WP ist die Wärmepumpe. Übersehe ich hier was grundlegendes?
rule "Zählerstand Tageswert Wärmepumpe Modbuszähler"
when
Item Stromzaehler_WP_Modbus received update
then
Stromzaehler_WP_Tag.
postUpdate(Stromzaehler_WP_Modbus.deltaSince(ZonedDateTime.now().with(LocalTime.MIDNIGHT))as Number)
end
Kommen denn überhaupt Werte in Stromzaehler_WP_Modbus an?
Eventuell muss da ein Leerzeichen vor das as.
Triggert die Rule? Am einfachsten kannst Du das verifizieren, indem Du ein logInfo einbaust:
rule "Zählerstand Tageswert Wärmepumpe Modbuszähler"
when
Item Stromzaehler_WP_Modbus received update
then
logInfo("wpsum","Rule 'Zählerstand Tageswert Wärmepumpe Modbuszähler' wurde gestartet.")
Stromzaehler_WP_Tag.postUpdate(Stromzaehler_WP_Modbus.deltaSince(ZonedDateTime.now().with(LocalTime.MIDNIGHT)) as Number)
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
Danke für die Hilfe aber das war noch nicht die Lösung.
Das Leerzeichen ist jetzt eingefügt. In Stromzaehler_WP_Modbus kommen Werte an, da ich diesen Wert bereits visualisiere.
Im Log steht, dass die Rule gestartet wurde. Ich habe mal "deltaSince(ZonedDateTime.now().with(LocalTime.MIDNIGHT))" rausgenommen und der Wert von Stromzaehler_WP_Modbus wird an Stromzaehler_WP_Tag übergeben. Kann man kontrollieren ob die Zeitbefehle bzw deltasince funktionieren?
rule "Zählerstand Tageswert Wärmepumpe Modbuszähler"
when
Item Stromzaehler_WP_Modbus received update
then
val diff = Stromzaehler_WP_Modbus.deltaSince(ZonedDateTime.now.with(LocalTime.MIDNIGHT))
logInfo("wpsum","Wärmepumpe: gelieferte Differenz ist {}",diff)
Stromzaehler_WP_Tag.postUpdate(diff)
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
val diff = (Stromzaehler_WP_Modbus.deltaSince(ZonedDateTime.now.with(LocalTime.MIDNIGHT)) as Number)
Aber im Log steht, dass die Differenz null ist.
Ist dann ein Fehler in der rrd4j? Aber wenn ich einen Trend erstelle zeigt dieser steigende Werte an.
Liegt es evtl an "as Number"?
Das as Number sollte mindestens für das log nicht gebraucht werden, da die Konstante unbestimmt definiert ist (also void).
Ist rrd4j als default Persistence definiert? Versuche mal
rule "Zählerstand Tageswert Wärmepumpe Modbuszähler"
when
Item Stromzaehler_WP_Modbus received update
then
val diff = Stromzaehler_WP_Modbus.deltaSince(ZonedDateTime.now.with(LocalTime.MIDNIGHT),"rrd4j")
logInfo("wpsum","Wärmepumpe: gelieferte Differenz ist {}",diff)
Stromzaehler_WP_Tag.postUpdate(diff as Number)
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet