OH3 Abfrage/Vergleich SensorState funktioniert nicht

GUI Relevanten, PaperUI, BasicUI, HabPanel ...

Moderatoren: seppy, udo1toni

Antworten
ixylon
Beiträge: 7
Registriert: 20. Mär 2021 10:42

OH3 Abfrage/Vergleich SensorState funktioniert nicht

Beitrag von ixylon »

Ich versuche es ja erst einmal einmal allein, aber jetzt stoße ich an meine Grenzen.
In einem Widget möchte ich gern u.a. den Hintergrund ja nach Status eines Items ändern. Was ja vor mir anscheinend gefühlt jeder ohne Probleme hinbekommen hat.

Gegeben ist ein Homematic IP Fensterkontakt, der auch im State ein closed oder open anzeigt. Versuche ich nun mit

Code: Alles auswählen

background-color: '=(items.Garagentorsensor.State == "closed") ? "red" : "blue"'
den State abzufragen, dann ist es völlig egal was ich als Vergleichsbegriff (open,CLOSED,OPEN,Open...) reinschreibe. Der State wird immer als falsch interpretiert und der Hintergrund ist Blau.
Ich hab schon die Hochkommas mit den Anführungszeichen vertauscht, aber nichts hat funktioniert.
Der State ist auch ein String, so dass das doch auch funktionieren müsste mit dem Vergleich.

Was mache ich falsch oder übersehe ich?

oh73
Beiträge: 32
Registriert: 7. Mär 2021 14:49

Re: OH3 Abfrage/Vergleich SensorState funktioniert nicht

Beitrag von oh73 »

schon mal ganz ohne Anführungszeichen versucht?
bei einem Schalter der ON und OFF liefert, musste ich auch die Abfrage ohne Anführungszeichen machen!
OH 3.1.0.M2 auf Raspberry pi2 mit Buster.

ixylon
Beiträge: 7
Registriert: 20. Mär 2021 10:42

Re: OH3 Abfrage/Vergleich SensorState funktioniert nicht

Beitrag von ixylon »

Wow.
Das war es. Vielen Dank für den Tipp!

Benutzeravatar
peter-pan
Beiträge: 1635
Registriert: 28. Nov 2018 12:03
Answers: 14
Wohnort: Schwäbisch Gmünd

Re: OH3 Abfrage/Vergleich SensorState funktioniert nicht

Beitrag von peter-pan »

...bei mir klappt es so:

Code: Alles auswählen

color: '=items.HmIP_SWDO_I_E754_1STATECONTACT.state == "CLOSED" ?  "orange"  :  "green"'
Also ohne Klammern und ".state" klein geschrieben ;). Evtl. geht auch ".displayState"

Antworten