Seite 1 von 1

Casten von Homematic Ausgaben in OH3

Verfasst: 21. Mär 2021 14:03
von yoshi98
Hallo Gemeinde,
die Items meiner Homematic Geräte geben Ihre Werte in % oder °C aus. Beispiel: items.HeizungKeller1_ActualHumidity.state oder auch items.HeizungKeller1_ActualHumidity.displayState ergeben immer einen Wert, der mit % ausgegeben wird, so dass ich diesen nicht mathematisch auswerten kann. Wie muss ich das casten oder wie kriege ich die Homaticteile dazu die reinen Werte auszugeben?

Danke!

Re: Casten von Homematic Ausgaben in OH3

Verfasst: 21. Mär 2021 22:22
von udo1toni
Wenn Du mit der Zahl rechnen willst, schreibst Du in der Rules DSL z.B.

Code: Alles auswählen

(myItem.state as Number).floatValue
um mit dem Wert als Floatwert zu arbeiten (.intValue ergibt entsprechend eine Ganzzahl, .doubleValue könnte es auch noch geben, ich hab aber gerade keinen Zugriff um das zu prüfen). Wichtig ist, zunächst den Status nach Number zu casten, damit dann die entsprechenden Funktionen zur Verfügung stehen. das Casting nach Number reicht nicht aus, um die Einheit zu entfernen, da QuantityType ebenfalls vom Typ Number ist.

Re: Casten von Homematic Ausgaben in OH3

Verfasst: 21. Mär 2021 22:45
von yoshi98
Danke, aber das klappt leider nicht. Ich will die Zahl in einem Widget auswerten, um den Hintergrund abhängig vom Wert zu ändern.

Code: Alles auswählen

background: '=(items.myItem.state > 60) ? "red" : "green"'
Da aber der Wert immer mit % ausgegeben wird klappt's nicht.

Re: Casten von Homematic Ausgaben in OH3

Verfasst: 22. Mär 2021 06:12
von yoshi98
Danke nochmal! Nach vielem Lesen habe ich das Item von vornherein als Number definiert und damit Erfolg gehabt. Das Widget macht jetzt, was es soll.