NEWS
[gelöst] Vis Binding - UND Verknüpfung mehrerer Variablen?
-
Ich habe das Forum schon dursucht aber nicht passendes zu meinem Problem gefunden.
Ist es möglich ein Binding zu erstellen in dem Mehrere Variablen UND Verknüpft sind?
D.h. Ich habe 4 Variablen und wenn eine davon auf "true"ist soll die Statusanzeige "grün" sein, sind aber alle Variablen auf "false" dann soll der Status auf "rot" schalten.
In etwa sowas: Wenn A=false und B=false und C=false und D=false dann Status "ROT" sonst Status "GRÜN" -
@fritzke316 sagte: Wenn A=false und B=false und C=false und D=false dann Status "ROT" sonst Status "GRÜN"
Von Bindings habe ich keine Ahnung, aber ich würde die umgekehrte Logik verwenden.
A || B || C || D ? "GRÜN" : "ROT"
-
die logic von @paul53 ginge so - beispiel mit 3 dp
{wert1:0_userdata.0.CONTROL-OWN.AAATEST.TestLogic2; wert2:0_userdata.0.CONTROL-OWN.AAATEST.TestLogic; wert3:0_userdata.0.CONTROL-OWN.AAATEST.TestHTMLRefresh; wert1=="true"||wert2=="true"||wert3=="true" ? "green" :"red" }
-
Ja genau sowas habe ich gemeint!! viele Dank für das Beispiel.
Ich wusste nicht genau wie das Binding im ganzen aussehen muss :))Also kann ich zuerst alle Werte von 1-n auflisten, und anschließend mache ich dann die UND abfrage, wobei ich die Werte für "UND" mit " | | " auftrenne?
Wenn ich die Werte mit ODER Verknüpfen möchte welche Trennung müsste ich dann verwenden, bzw. wie würde das Beispie dann aussehen? -
@fritzke316 sagte: Werte für "UND" mit " | | " auftrenne?
"||" ist ODER (umgekehrte Logik). UND wäre "&&".
!A && !B && !C && !D ? "ROT" : "GRÜN"
-
du kannst mit klammern arbeiten
{wert1:0_userdata.0.CONTROL-OWN.AAATEST.TestLogic2; wert2:0_userdata.0.CONTROL-OWN.AAATEST.TestLogic; wert3:0_userdata.0.CONTROL-OWN.AAATEST.TestHTMLRefresh; wert1=="true"||(wert2=="true"&&wert3=="true") ? "green" :"red" }
-
@liv-in-sky && paul53
Vielen Dank euch beiden!! Habe wieder einiges über Bindings gelernt
Kennt jemand von euch eine Internetseite wo die verschiedenen Anwendungsmöglichkeiten von Bindings mit ähnlichen Beispielen erklärt werden?
-
-
grundsätzliches ist hier :https://github.com/ioBroker/ioBroker.vis
-
suche im forum
-
einfach im forum fragen
-
-
noch ein kleiner tipp
wenn du bindings testest, öffne in der runtime im browser die entwickler console - am besten in chrome - dann siehst du beim refresh der seite, ob das binding einen syntax fehler hat
-
alles klar, guter Tipp, Danke
-
@liv-in-sky said in Vis Binding - UND Verknüpfung mehrerer Variablen?:
{wert1:0_userdata.0.CONTROL-OWN.AAATEST.TestLogic2; wert2:0_userdata.0.CONTROL-OWN.AAATEST.TestLogic; wert3:0_userdata.0.CONTROL-OWN.AAATEST.TestHTMLRefresh; wert1=="true"||(wert2=="true"&&wert3=="true") ? "green" :"red" }
ist auch so was möglich?
{wert1:0_userdata.0.CONTROL-OWN.AAATEST.TestLogic2; wert2:0_userdata.0.CONTROL-OWN.AAATEST.TestLogic; wert3:0_userdata.0.CONTROL-OWN.AAATEST.TestHTMLRefresh; wert1=="true" && wert2=="true" ? "red" : wert1=="true" && wert2=="false" ? "blue" :"red" }
-
@fritzke316 ja sollte möglich sein
-
@liv-in-sky
irgendwie funktioniert bei mir was nicht, wenn ich es mit Testdatenpunkten probiere funktionierts aber mit den anderen Datenpunkten nicht mehr.Hier mal ein Beispiel, wegen KNX verwende ich 0 und 1 anstelle von true und false:
{wert1:knx.0.Objekte.Lüftungen.Küche_Lüftung_bei_Abwesenheit_RM; wert2:knx.0.Objekte.Lüftungen.Küche_Lüftung_bei_Anwesenheit_RM; wert1=="0" && wert2=="1" ? "blue": wert1=="1" && wert2=="0" ? "green" : "red"}
irgendwie wird mir immer nur "0" angezeigt
-
@fritzke316 leider ist da ein bug - ab dem 2 datenpunkt können keine umlaute (ü) genutzt werden
-
aaaahh OK das erkärt einiges!! Danke für deine Hilfe, sonst hätte ich noch Stundenlag rumprobiert.
-
evtl alias nutzen ?
-
Ich habe aktuell auch ein Problem mit Binding und würde meine Frage hier mal anhängen, da es ja zum Thema passen würde.
Ich versuche eine eigentlich einfache Berechnung durchzuführen, die bei anderen States immer funktioniert hat.
Der State e3dc-rscp.0.BAT.BAT#0.DCB#0.DCB_CELL_TEMPERATURE.07 = 3.428 und
e3dc-rscp.0.BAT.BAT#0.DCB#0.DCB_CELL_TEMPERATURE.06 = 3.473
Ich habe in einem basic HTML Widget folgendes eingetragen:{v1:e3dc-rscp.0.BAT.BAT#0.DCB#0.DCB_CELL_TEMPERATURE.06;v2:e3dc-rscp.0.BAT.BAT#0.DCB#0.DCB_CELL_TEMPERATURE.07;v1-v2}
Als Ergebnis würde ich hier 0.045 erwarten, es wird aber immer 0 angezeigt. Muss ich noch was beachten oder wo ist mein Denkfehler.
-
denke das ist das sonderzeichen "#" damit gabe es auch mal probleme - teste deine formel mal: setze als zweiten dp (v2) mal einen dp ohne sonderzeichen in der id. wenn es dann funktioniert müßtest du wohl ein alias anlegen und dieses nutzen
-
@arnod öffne mal die entwicklertools im browser - tab console - refreshe dann die seite und schau nach, ob die console einen fehler bringt
-
Ja hast recht, liegt am Sonderzeichen.
Ich probier da jetzt schon ewig rum und bin nicht darauf gekommen es mal, ohne Sonderzeichen zu testen.
Danke für die schnelle Hilfe