[gelöst:]Syntax im Widget

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
harteknut
Beiträge: 235
Registriert: 3. Dez 2019 08:21
Answers: 9

[gelöst:]Syntax im Widget

Beitrag von harteknut »

Hallo zusammen,

ich habe, wie ich im Teilforum "Oberflächen" beschrieben habe, zur Steuerung meiner Jalousien ein Vorlage-Widget mit drei Buttons gefüllt. Diese Buttons zeigen nur ein Symbol an, dass je nach Status eines Items gewechselt wird, und sind anklickbar, um ein Kommando auszuführen.
Die Items sind Rollershutter, der Status ist daher ein Prozentwert von 0-100. Hier ist der Code eines Buttons:

Code: Alles auswählen

<widget-icon iconset="'custom-icon'" icon="'blindss'"  ng-click="sendCmd('OG_Bad_RS', 'STOP')" size="35"  state="itemState('OG_Bad_RS')=='50' ? '50' : 'OFF'" />
Im Ordner icons/classic befinden sich dazu die Symbole
  • blindss.svg
  • blindss-40.svg
  • blindss-60.svg
Der Button zeigt bei OG_Bad_RS.state == 50 das entsprechende Symbol an, hier blindss-40.svg.
Jetzt das Problem: Ich verstehe den Code nicht. (Hab ich halt irgendwo her kopiert... :oops: )
Was heißt

Code: Alles auswählen

state="itemState('OG_Bad_RS')=='50' ? '50' : 'OFF'"
Ich würde dem Button gerne beibringen, fünf verschiedene Symbole (0, 25, 50, 75, 100) anzuzeigen. Der hier kann aber nur "50" oder "nicht-50". Könntet Ihr mir das kurz erklären?

Schon mal ein Danke vor ab und ein Gruß,
Simon
von harteknut » 20. Mai 2020 12:55
OK, OK, da hätte ich schon vorher drauf kommen können:
Es reicht, den Ausdruck

Code: Alles auswählen

state="itemState('OG_Bad_RS')=='50' ? '50' : 'OFF'"
in

Code: Alles auswählen

state="itemState('OG_Bad_RS')"
umzubauen, und schon wird immer der "original" Status des Items an den Button übergeben.
Manchmal kommt die Erkenntnis beim tippen...
Gruß,
Simon
Gehe zur vollständigen Antwort
Zuletzt geändert von harteknut am 20. Mai 2020 12:56, insgesamt 1-mal geändert.

harteknut
Beiträge: 235
Registriert: 3. Dez 2019 08:21
Answers: 9

Re: Syntax im Widget

Beitrag von harteknut »

OK, OK, da hätte ich schon vorher drauf kommen können:
Es reicht, den Ausdruck

Code: Alles auswählen

state="itemState('OG_Bad_RS')=='50' ? '50' : 'OFF'"
in

Code: Alles auswählen

state="itemState('OG_Bad_RS')"
umzubauen, und schon wird immer der "original" Status des Items an den Button übergeben.
Manchmal kommt die Erkenntnis beim tippen...
Gruß,
Simon

Antworten