NEWS
[gelöst] VIS Binding: mehrere Farben
-
Hallo zusammen,
ich würde gerne einen Rahmen um meine Wetterwarung gemäß Servitiy darstellen.
Leider leider funktioniert mein Bindung nicht so richtig;
{wert:dwd.0.warning.severity; wert=="0"? "#41f316": wert=="1"? "orange": wert=="2"? "red": wert=="3"? "red"}
Kann jemand helfen =
-
@Kuddel "x" definiert den Vergleich als String, du hast aber Number
Zudem fehlt ein letztes else in der Abfrage. Sollte so funktionieren:{wert:dwd.0.warning.severity; wert==0? "#41f316": wert==1? "orange": wert==2? "red": "red"}
0: der Hexwert der Farbe
1: orange
2: red
3...n: ebenfalls red (so zumindest deine Ausgangsdefinition) -
@SBorg super, danke dir. Jetzt funktioniert es
-
@SBorg said in VIS Binding: mehrere Farben:
@Kuddel "x" definiert den Vergleich als String, du hast aber Number
Zudem fehlt ein letztes else in der Abfrage. Sollte so funktionieren:{wert:dwd.0.warning.severity; wert==0? "#41f316": wert==1? "orange": wert==2? "red": "red"}
0: der Hexwert der Farbe
1: orange
2: red
3...n: ebenfalls red (so zumindest deine Ausgangsdefinition)Ich klinge mich mal rein.
Kannst du auch hier helfen:
Dies geht leider nicht:
{wert: tr-064.0.devices.Galaxy-S10-Lite.active; wert==false? "red": wert==true? "orange"}Die Werte sind entweder:
true oder false
In der vis wird kein Rahmen angezeigt:
Das Bild ist als Kontrolle.Hast du eine Idee?
-
Warte........
-
@Ente Das kommt aktuell auf deine VIS-Version an.
Sollte funktionieren:{wert:tr-064.0.devices.Galaxy-S10-Lite.active; wert=="false" ? "red" : "orange"}
Sonst müssen ggf. noch die Anführungszeichen bei false weg
-
@SBorg
Müsste es nicht auch so gehen:{wert:tr-064.0.devices.Galaxy-S10-Lite.active; wert ? "orange" : "red"}
-
@FredF Pauschal ja, wenn true/false wirklich boolean wären. Aktuell gibt es da aber bisserl Kuddelmuddel im latest bei den VIS-Versionen. So sind sie mal bool, mal string...
Hilft nur ausprobieren. deswegen bei false auch mit "" (dann ist es String), oder ohne "" (dann wäre es bool + deine vereinfachte Version würde auch funktionieren). -
@SBorg said in VIS Binding: mehrere Farben:
@FredF Pauschal ja, wenn true/false wirklich boolean wären. Aktuell gibt es da aber bisserl Kuddelmuddel im latest bei den VIS-Versionen. So sind sie mal bool, mal string...
Hilft nur ausprobieren. deswegen bei false auch mit "" (dann ist es String), oder ohne "" (dann wäre es bool + deine vereinfachte Version würde auch funktionieren).genau so ist es:
{wert:tr-064.0.devices.Galaxy-S10-Lite.active; wert==false ? "red" : "orange"}Vielen Dank.
-
@ente hier gibt es ein paar Infos zu Bindings: https://www.machs-smart.de/iobroker-bindings-farben-berechnungen-abfragen/
-
Hi zusammen!
Ich höre immer, dass Bindings zu Performanceproblemen führen kann. Ich selbst habe diese Erfahrung allerdings nicht gemacht, die Performance ist immer gut gewesen. Allerdings nutzte ich nur einfache Bindings. Wann wirds denn kritisch? Wenn in einem Binding zu viele ifs abgefragt werden, oder wenn das Projekt generell zu viele Bindings beinhaltet?
Danke für Eure Antworten!
Gruß Karel -
@karel-puhli Ich vergesse immer die genaue Zahl, aber die Anzahl der Bindings (per View) ist limitiert. Eine Darstellung wie bspw. {0_userdata.0.xyz} belastet dabei den Client weniger als {wert:0_userdata.0.xyz; wert>0 ? "#00ff00" : "ff0000" } da dies dann mehrere Operationen sind. "Verschachtelt" man weiter, rechnet etc. belastet es den Client auch wieder mehr.
Ob man dann einen Performanceeinbruch erlebt hängt dann vom Clientsystem ab, denn die Ausführung der Bindings geschieht Clientseitig, nicht Serverseitig. Der Quadcore-Laptop zeigt die View dann noch flüssig an, das betagte Tablet kommt dann schon ggf. ins stocken
-
@sborg
Alles klar! Danke für deine schlüssige Erklärung!Wenn ich gerade mit dem Fachmann spreche.
Ich habe jetzt vermehrt die Schreibweise mit 2 Doppelpunkten zwischen den Bedingungen gelesen. Welche Bewandnis hat das?
-
@karel-puhli Ich finde es gerade mal wieder selbst nicht, hatte es vor kurzem erst erklärt.
Kurzversion: dessen Urvater bin maßgeblich ich, da die ersten Bindings von mir stammten. Kam durch einen unbemerkten C&P-Fehler zustande und hat sich dann wie eine Seuche verbreitet, zumal ich es selbst wieder stellenweise falsch kopiert/übernommen habe (oben, habe ich gerade bemerkt, fehlt bspw. beim 2. Farbcode die Raute...).Sie schaden zwar nicht, sind aber von der Syntax falsch (selbes wie "ein Reiter auf einem weißen Schimmel" oder "ein toter Leichnam"). Auch Leerzeichen sind nicht unbedingt nötig, erleichtern aber das lesen.
-
@sborg
Alles klaro! Danke Dir! -
@sborg sagte in [gelöst] VIS Binding: mehrere Farben:
unbemerkten C&P-Fehler zustande und hat sich dann wie eine Seuche verbreitet
Da geb ich dir recht, Seuche
Weiß schon gar nicht mehr wo ich die alle verbaut habe