how did you fix the Problem? I´m not sure with the “undefinited items”
here is my rule:
var Number letzteAblesungWert = 56
rule “Stromverbrauch”
when
Item OGStrom_Zaehler received update
then
var Number Aktuell_Zaehler = OGStrom_Zaehler.state as DecimalType
// Verbrauch seit letzer Ablesung
OGStrom_Verbrauch_Seit_Letzter_Ablesung.postUpdate(OGStrom_Zaehler_Gesamt.state as DecimalType - letzteAblesungWert as DecimalType)
// aktueller Tagesverbrauch in KWh
OGstrom_Aktueller_Verbrauch_Kw.postUpdate(OGStrom_Aktueller_Verbrauch_W.state as DecimalType / 1000)
//logInfo(“StromRules:”, “States:” + OGstrom_Aktueller_Verbrauch_Kw.state)
//Gesamtzählerstand (HT/NT)
var Number gesamtZaehlerstand = (Aktuell_Zaehler /1000) + letzteAblesungWert as DecimalType
OGStrom_Zaehler_Gesamt.postUpdate(gesamtZaehlerstand)
end
[ERROR] [.script.engine.ScriptExecutionThread] - Rule ‘Stromverbrauch’: An error occured during the script execution: The name ‘<“XFeatureCallImplCustom”>.state’ cannot be resolved to an item or type.
so, I’ve figured out its related to the “letzteAblesungWert”. I´ve tried:
letzteAblesungWert.state as DecimalType
letzteAblesungWert as DecimalType
letzteAblesungWert.state as Number
letzteAblesungWert as Number
Now i redesigned the rule…an its works…but I do not know why. I put everything in an “var Number”. See below.
Maybe someone can explain
rule “Stromverbrauch”
when
Item OGStrom_Zaehler received update
then
var Number aktuellerZaehler = OGStrom_Zaehler.state as DecimalType
//Gesamtzählerstand (HT/NT)
var Number gesamtZaehlerstand = (aktuellerZaehler /1000) + letzteAblesungWert
OGStrom_Zaehler_Gesamt.postUpdate(gesamtZaehlerstand)
// Verbrauch seit letzer Ablesung
var Number verbrauchLetzterAblesungDiff = (OGStrom_Zaehler_Gesamt.state as DecimalType - letzteAblesungWert)
OGStrom_Verbrauch_Seit_Letzter_Ablesung.postUpdate(verbrauchLetzterAblesungDiff)
// aktueller Verbrauch in KWh
OGstrom_Aktueller_Verbrauch_Kw.postUpdate(OGStrom_Aktueller_Verbrauch_W.state as DecimalType / 1000)
end