NEWS
Binding funktioniert nicht mehr #GELÖST
-
Meine Bindings haben alle funktioniert, jetzt irgendwie nicht mehr.
Im "CSS Hintergrund" habe ich die Collor mit "{val:0_userdata.0.Esszimmer-alles-zu;val == "false" ? "#ff1f29" : "#006104"}" eingetragen. (Anderes Objekt "{val:hm-rpc.0.OEQ0426126.1.STATE;val == "true" ? "#ff1f29" : "#006104"}"
Wenn ein Fenster Sensor gemeldet hat ist der Text von ZU auf AUF gesprungen (macht er immer noch) und die Farbe ist von grün auf rot gewechselt. Den Farbwechsel macht er nun nicht mehr.Was habe ich kurz vorher geändert.
- 2 Adapter aktualisiert die eigentlich nichts damit zu tun haben.
- im Editor einen weitern Button hinzugefügt
- node.js auf 12.18.4 geupdatet.
- die eigentlichen Buttons habe ich nicht angepasst.
Alles läuft problemlos, nur das Binding nicht mehr. (10 verschiedene)
Die Objekte welche true/false liefern sind vorhanden und liefern auch den Statuswechsel.Was habe ich schon probiert:
Nach der Node.js Installation habe ich erst iobrocker, später noch den kompletten Docker Container neu gestartet.
Alle Adapter neu gestartet.
CCU3 (Quelle der Objekte) neu gestartet
Ein anderes Objekt von einem anderen Server als Quelle probiert.
iobroker.net/fix.sh sowie npm rebuild nachträglich ausgeführt
im Editor "immer rendern" deaktiviert.Jemand eine Idee?
-
Nimm mal das :
{val:0_userdata.0.Esszimmer-alles-zu;val == false ? "#ff1f29" : "#006104"} {val:hm-rpc.0.OEQ0426126.1.STATE;val == true ? "#ff1f29" : "#006104"
-
@Glasfaser TOP!
Es waren tatsächlich die Anführungszeichen. Ich dachte die müssen seit geraumer Zeit wieder rein nachdem sie früher nicht gerbraucht wurden?
Und warum ging es bis vor ein paar Tagen?
Ist die Node.js 12.18.4 hier anders (vorher war 12.16.x oder so drauf)Auf jeden Fall schon mal ein großes DANKESCHÖN!
-
-
@liv-in-sky
Danke, das hatte ich vorher auch gelesen. Allerdings wird es da ja genau so beschrieben wie es bei mir nicht war (Zitat: "...also alles wieder zurückändern in Anführungszeichen). Geholfen hat ja bei mir nun das ich die Anführungszeichen entfernt habe.Und VIS habe ich ja auch nicht upgedatet, sondern nur die Node.js.
"
-
wußte nicht, dass die node version auch noch eine rolle spielt - hauptsache es läuft
-
Das verhalten des Bindings wurde kürzlich durch einen pull request angepasst, so das das binding in Zukunft auch mit
JSON-strings aus Dentenpunkten umgehen kann.
Gleichzeitig hätte/hat es auch das Verhalten verbessert, im binding nicht immer nur strings sondern die echten Datentypen aus den Datenpunkten ankommen. (deswegen test auf true und false nun nicht mehr mit Anführungszeichen.
Leider haben sich hier weitere Verschlimmbesserungen zur Behandlung von Objekten und Arrays eingeschlichen.Ich habe auf github als Kommentar einen Vorschlag zur Änbderung des Codes gemacht
https://github.com/ioBroker/ioBroker.vis/commit/93d4affd0c959b20b1dd384bf239fe7a1c432fb7Bin allerdings aktuell nicht in der Lage das ausführlich zu testen oder einen eigenen pull request einzustellen.
Evtl findet sich ja jemand, der das testen kann und auch den pull request einstellen kann.Zum testen müsste man verschiedene Datenpunkte mit verschiedenen Datentypen anlegen (number, string_normal, string mit JSON-Daten, ein echtes Datumsobjekt, ein echtes Objekt und ein echtes Array. Mit echt meine ich ein echtes Javascript-Objekt und kein JSON-string der das Objekt darstellt.
Für jeden 'Datenpunkt dann ein Binding erstellen, in dem man den datentyp prüft (typeof) und schaut ob man mit den daten im binding weiterarbeiten kann.
-
Heut gab es wieder ein VIS Update. Und siehe da, hinterher gab es wieder das Problem mit den Bindings.
Ich habe jetzt so wie ursprünglich die Anführungszeichen eingefügt und es läuft wieder.