as Number ist nachrangig gegenüber dem +, Du musst den Wert klammern.
Also statt
Code: Alles auswählen
PV_Current_all.postUpdate(PV_Current.state as Number + PV_Current_gen24.state as Number);Code: Alles auswählen
PV_Current_all.postUpdate((PV_Current.state as Number) + (PV_Current_gen24.state as Number));Das Fronius Binding liefert UoM an, also solltest Du bei Berechnungen die Einheit entfernen, z.B. mit .floatValue, also
Code: Alles auswählen
PV_Current_all.postUpdate((PV_Current.state as Number).floatValue + (PV_Current_gen24.state as Number).floatValue);Code: Alles auswählen
PV_Current_all.postUpdate((PV_Current.state as Number).floatValue + (PV_Current_gen24.state as Number).floatValue)Code: Alles auswählen
if(!(PV_Current.state instanceof Number) || !(PV_Current_gen24.state instanceof Number))
return; // dies ist die einzige Stelle, wo in der openHAB Rules DSL ein Semikolon gebraucht wird!
PV_Current_all.postUpdate((PV_Current.state as Number).floatValue + (PV_Current_gen24.state as Number).floatValue)Also statt:
Code: Alles auswählen
Item PV_Current received updateCode: Alles auswählen
Item PV_Current changedAlso statt
Code: Alles auswählen
rule "current_all"Code: Alles auswählen
rule "current all"