Werte per Rule addieren bringt unerwartetes Ergebnis

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
anne_hh
Beiträge: 2
Registriert: 1. Nov 2023 14:47
Answers: 0

Werte per Rule addieren bringt unerwartetes Ergebnis

Beitrag 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.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von anne_hh am 1. Nov 2023 15:15, insgesamt 1-mal geändert.

nw378
Beiträge: 296
Registriert: 22. Sep 2018 10:38
Answers: 5

Re: Werte per Rule addieren bringt unerwartetes Ergebnis

Beitrag 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
openHAB 4.3.3 @ RPi 4 / SSD - InfluxDB2 und Grafana @ Synology Docker - KNX

anne_hh
Beiträge: 2
Registriert: 1. Nov 2023 14:47
Answers: 0

Re: Werte per Rule addieren bringt unerwartetes Ergebnis

Beitrag von anne_hh »

Ah, den Datentyp kannte ich noch nicht. B) Hat geholfen, danke!

Antworten