NEWS
GELÖST: Binding mit Farbe - Funktioniert nicht
-
Kann mir jemand sagen, warum die Fontsfarbe nicht angepasst wird, obwohl der Inhalt stimmt?
{wert:radar.0.UWZ0C;wert == 1 ? "#ffff00" :: wert == 2 ? "#ffa500" :: wert == 3 ?"ff0000"}
Was ist an diesem String falsch?
-
- 2 doppelpunkte?
- beim letzten fragezeichen fehlt ein leerzeichen, ich glaub das binding ist da pingelig
- und zur Sicherheit noch den letzten doppelpunkt mit einem leerwert
-
@OliverIO auch mit:
{wert:radar.0.UWZ0C;wert == "1" ? "#ffff00" : wert == "2" ? "#ffa500" : wert == "3" ? "ff0000" : "#ffffff"}funktioniert es nicht. In diesem Fall ist die Schrift einfach weiß. Egal was in dem Datenpunkt steht!
Bin echt ratlos! -
@Mauflo sagte in Binding mit Farbe - Funktioniert nicht:
{wert:radar.0.UWZ0C;wert == "1" ? "#ffff00" : wert == "2" ? "#ffa500" : wert == "3" ? "ff0000" : "#ffffff"}
bei der vorletzten farbe fehlt noch die raute
bei mir funktionierts
welcher datentyp hat dein datenpunkt?
idealerweise ist er number
wenn er string ist, dann muss da exakt die zahl drin stehen ohne leerzeichen davor oder dahinter -
@OliverIO also der funktioniert bei mir nicht:
{wert:radar2.0._UWZ2C;wert == "yellow" ? "#ffff00" : wert =="orange" ? "#ff961a" : wert =="red" ? "#ff0000" :"#ffffff"Typ ist string - und die texte passen! Aber die Farbe wird nicht angepasst. #verzweifel
-
@Mauflo am Ende fehlt zum einen eine geschweifte Klammer, zum anderen musst du die Abfrage glaube ich in Klammern setzen:
{wert:radar2.0._UWZ2C; (wert == "yellow") ? "#ffff00" : (wert == "orange") ? "#ff961a" : (wert =="red") ? "#ff0000" : "#ffffff"}
-
@OliverIO
in radar2.0._UWZ0C Steht entweder "yellow", "orange" oder "red"
in radar2.0._UWZ0_Text steht der Text der Unwetterwarnung.Je nach der Farbe in radar2.0._UWZ0C soll der Text von radar2.0._UWZ0_Text in entsprechender Farbe dargestellt werden. Klappt aber nicht. Wo liegt mein Fehler?
-
@J-A-R-V-I-S jetzt habe ich:
{wert:radar2.0._UWZ0C;(wert == "yellow") ? "#ffff00" : (wert =="orange") ? "#ff961a" : (wert =="red") ? "#ff0000" : "#ffffff"}
Text bleibt immer gelb!
-
@Mauflo du meinst also, dass er nicht aktualisiert wird, wenn es sich ändert?
Hast du schon versucht mit einer anderen Farbe zu starten?
-
@J-A-R-V-I-S Hurra! Du hattest recht. Habe jetzt aktualisiert. Nun funkts! DANKE!
-
Nur mal so als Tipp am Rande, es braucht keine Klammern und Spaces vor oder nach "? :" sind auch unwichtig ob vorhanden oder nicht. Dein ganzer Fehler war die fehlende "}" am Schluss. Dass sieht man aber im Editor so nicht, und weil du es bei Textfarbe eingesetzt hast, fällt es auch nicht auf
Deswegen zum testen eines Bindings einfach ein HTML-Widget nehmen, dann sieht man sofort ein "NaN", "undefined" oder what else...
In deinem Fall hättest du dann zB. gesehen, dass egal welche Farbbezeichnung in deinem Datenpunkt steht, dass Ergebnis immer {wert:radar2.0._UWZ0C;(wert == "yellow") ? "#ffff00" : (wert =="orange") ? "#ff961a" : (wert =="red") ? "#ff0000" : "#ffffff" gewesen wäre. Logisch, ohne schließende "}" ist es einfach ein simpler Text und eine Farbe {wert:radar2.0._UWZ0C;(wert == "yellow") ? "#ffff00" : (wert =="orange") ? "#ff961a" : (wert =="red") ? "#ff0000" : "#ffffff" gibt es meines Wissens nicht, also nimmt er die erste verwertbare Information, und die ist "yellow" -
Kennt jemand vielleicht eine Seite, wo das Thema Binding mal richtig schön von Anfang an erklärt wird? Die Seite auf GitHub mit ioBroker.vis ist für mich als Neuling nicht so der richtige Einstieg.