NEWS
Problem mit Binding
-
Hallo.
Ich habe da ein Problem mit einem Binding. Ich möchte 2 Variablen ODER-Verknüpfen.
{status1:hm-rpc.0.0001DD89A45F05.0.UNREACH; status2:hm-rpc.0.000E5D89ACB125.0.UNREACH; status1 == true || status2 == true ? "true" : "false"}Im Fenster für das Bearbeiten des Bindings kommt auch true heraus, aber im Widget wird das true nicht verarbeitet.


Ich habe gerade keine Plan, woran das liegt? Die Abfragen der beiden Status hatte ich auch schon mit
status1 == "true" und status1 == 'true'getestet. Mit dem gleichen Ergebnis.
Vielleicht kann mir wer von Euch auf die Sprünge helfen?

-
Hallo.
Ich habe da ein Problem mit einem Binding. Ich möchte 2 Variablen ODER-Verknüpfen.
{status1:hm-rpc.0.0001DD89A45F05.0.UNREACH; status2:hm-rpc.0.000E5D89ACB125.0.UNREACH; status1 == true || status2 == true ? "true" : "false"}Im Fenster für das Bearbeiten des Bindings kommt auch true heraus, aber im Widget wird das true nicht verarbeitet.


Ich habe gerade keine Plan, woran das liegt? Die Abfragen der beiden Status hatte ich auch schon mit
status1 == "true" und status1 == 'true'getestet. Mit dem gleichen Ergebnis.
Vielleicht kann mir wer von Euch auf die Sprünge helfen?

@MeinzIsAs das Feld "Objekt ID" erwartet eine echte Datenpunkt-ID. Das Widget abonniert diese ID und vergleicht deren Wert mit der Bedingung. Ein Binding wird in so einem ID-Feld nicht ausgewertet. Der Dialog "Bindung bearbeiten" zeigt dir nur die Vorschau der Formel, deshalb siehst du dort true. Bindings funktionieren in Text- oder Wert-Attributen, nicht als Objekt-ID.
Am einfachsten legst du einen Hilfs-Datenpunkt an, der die ODER-Verknüpfung enthält, und trägst den dann im Widget ein. Zum Beispiel mit diesem kleinen Skript im javascript-Adapter:
const ids = [ 'hm-rpc.0.0001DD89A45F05.0.UNREACH', 'hm-rpc.0.000E5D89ACB125.0.UNREACH', ]; const ziel = '0_userdata.0.vis.unreachAny'; createState(ziel, false, { type: 'boolean', read: true, write: false, role: 'indicator' }, () => { const update = () => { const any = ids.some(id => getState(id).val === true); setState(ziel, any, true); }; on({ id: ids, change: 'ne' }, update); update(); });Im Widget dann bei "Objekt ID [2]"
0_userdata.0.vis.unreachAnyeintragen, Bedingung==und Werttrue, so wie du es schon hast. -
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
