Seite 1 von 1

Werte per Rule addieren bringt unerwartetes Ergebnis

Verfasst: 1. Nov 2023 14:54
von anne_hh
Moin,

nachdem ich seit einiger Zeit still mitlese und viel mitnehmen durfte, habe ich nun auch einmal eine Frage:

Ich habe eine (Test-) Regel, die so aussieht:

Code: Alles auswählen

rule "Viessmann_Update"
when
    Time cron "0 * * * * *"
then
    viessmann_1_gasverbrauch_tag.postUpdate((Viessmann_1_DHW_Gas_Consumption_Current_Day.state as Number)+(Viessmann_1_Heating_Gas_Consumption_Current_Day.state as Number))
end
Die Werte, die da zusammengezählt werden, sehen so aus:
Bildschirmfoto vom 2023-11-01 14-52-34.png
Bildschirmfoto vom 2023-11-01 14-53-37.png
Das Ergebnis der Addition:
Bildschirmfoto vom 2023-11-01 14-54-26.png
Warum bloß? Ich stehe da gerade komplett auf dem Schlauch.

Re: Werte per Rule addieren bringt unerwartetes Ergebnis

Verfasst: 1. Nov 2023 15:12
von nw378
A) guck mal, ob du bei allen Items die Unit korrekt mit kWh definiert hast.

B) Schreib mal die Regel so um, dass du mit UoM arbeitest, also mit QuanityType statt Number.

Code: Alles auswählen

rule "Viessmann_Update"
when
    Time cron "0 * * * * *"
then
    val sum = (Viessmann_1_DHW_Gas_Consumption_Current_Day.state as QuantityType<?>) + (Viessmann_1_Heating_Gas_Consumption_Current_Day.state as QuantityType<?>)
    viessmann_1_gasverbrauch_tag.postUpdate(sum.toString)
end

Re: Werte per Rule addieren bringt unerwartetes Ergebnis

Verfasst: 1. Nov 2023 15:21
von anne_hh
Ah, den Datentyp kannte ich noch nicht. B) Hat geholfen, danke!