Update einer Number Variable
Verfasst: 6. Feb 2026 18:02
Ich kämpfe jetzt schon Stunden wegen folgendem Problem in openhab 4.3.6:
Sitemap:
Variablen:
Folgende rule:
Variablendefinition im Backend:
label: PV_Current_all (Wert aktuell NULL)
type: Number:Power
category: ""
groupNames: []
tags:
- Point
label: Verbrauch (Wert aktuell NULL)
type: Number
category: ""
groupNames: []
tags: []
label: Bezug (Wert aktuell NULL)
type: Number
category: ""
groupNames: []
tags: []
label: PV_Current_gen24 (Wert aktuell 0W)
type: Number:Power
category: ""
groupNames: []
tags:
- Point
label: SMARTMETER_Current (wert aktuell 600W und ändert sich)
type: Number:Power
category: ""
groupNames: []
tags:
- Point
SMARTMETER_Current liefert im Backend laufen Werte vom Smartmeter.
Die anzeige in der sitemap sind daher immer mit - gekennzeichnet. Ich bin am Ende. begonnen hat alles weil ich rrd4j installiert habe, die rrd files dann gehabt hab, und seitdem alles begonnen hat. hab dann rrd4j entfernt in den addons, die rrd files auch (kommen auch nicht nach).
Das hat jetzt jahrelang immer funktioniert. kann es mit der persistierung zusammenhängen?
Sitemap:
Code: Alles auswählen
Text item=PV_Current_all label="PV Leistung: [%.0f W]" icon="none"
Text item=Verbrauch label="Aktueller Verbrauch: [%.2f W]" icon="none"
Text item=Bezug label="Netz-Bezug: [%.2f W]" icon="none"
Folgende rule:
Code: Alles auswählen
rule "current all safe"
when
Item PV_Current changed or
Item PV_Current_gen24 changed
then
val pv1 = if (PV_Current.state != NULL && PV_Current.state != UNDEF) (PV_Current.state as Number).floatValue else 0
val pv2 = if (PV_Current_gen24.state != NULL && PV_Current_gen24.state != UNDEF) (PV_Current_gen24.state as Number).floatValue else 0
PV_Current_all.postUpdate(pv1 + pv2)
end
rule "verbrauch safe"
when
Item SMARTMETER_Current changed or
Item PV_Current changed or
Item PV_Current_gen24 changed
then
val sm = if (SMARTMETER_Current.state != NULL && SMARTMETER_Current.state != UNDEF) (SMARTMETER_Current.state as Number).floatValue else 0
val pv1 = if (PV_Current.state != NULL && PV_Current.state != UNDEF) (PV_Current.state as Number).floatValue else 0
val pv2 = if (PV_Current_gen24.state != NULL && PV_Current_gen24.state != UNDEF) (PV_Current_gen24.state as Number).floatValue else 0
Verbrauch.postUpdate(sm + pv1 + pv2)
end
label: PV_Current_all (Wert aktuell NULL)
type: Number:Power
category: ""
groupNames: []
tags:
- Point
label: Verbrauch (Wert aktuell NULL)
type: Number
category: ""
groupNames: []
tags: []
label: Bezug (Wert aktuell NULL)
type: Number
category: ""
groupNames: []
tags: []
label: PV_Current_gen24 (Wert aktuell 0W)
type: Number:Power
category: ""
groupNames: []
tags:
- Point
label: SMARTMETER_Current (wert aktuell 600W und ändert sich)
type: Number:Power
category: ""
groupNames: []
tags:
- Point
SMARTMETER_Current liefert im Backend laufen Werte vom Smartmeter.
Die anzeige in der sitemap sind daher immer mit - gekennzeichnet. Ich bin am Ende. begonnen hat alles weil ich rrd4j installiert habe, die rrd files dann gehabt hab, und seitdem alles begonnen hat. hab dann rrd4j entfernt in den addons, die rrd files auch (kommen auch nicht nach).
Das hat jetzt jahrelang immer funktioniert. kann es mit der persistierung zusammenhängen?