NEWS
Conbee2 und Xiaomi Wandschalter
-
Hallo
Ich habe seit kurzem den Conbee2 Stick , es funktioniert soweit auch alles .ich habe nur ein Problem mit den Xiaomi Wandschalter , ich verstehe die Datenbankverwaltung nicht . Wie kann ich mit den datenpunkten (1002 und 2002) eine Lampe schalten ?Habt ihr eine Idee ?
-
@chucky666
Es gibt den State “Button pressend’. Nachdem ein Event erkannt wurde ändert er für einen Moment den Wert auf die Zahl für den Event um dann wieder auf 0 zu gehen.Per trigger mit “grösser als vorher” bekommst du einen Event den du bearbeiten kannst, du musst dann in einem wenn Baum nur noch den Wert abfragen
On ({id:”deinschalter”, change:”gt”}, function(obj) { switch(obj.val) { ..... } });
-
Danke , du hast mich auf den Weg gebracht .
Ich habe es mit Blocky gelöst -
@chucky666
Fein, aber Vorsicht: wenn du mit dem Event arbeitest solltest du unbedingt vermeiden den Wert des Button Event mit einem neuen getstate abzufragen. Das geht auch bei blockly.Ich kann leider mobil kein Bild einkleben.
A.
-
@Asgothian bis jetzt läuft es . Danke
-
Wurde bei dem Conbee Adapter 1.13 was wesentlich verbessert ?
-
@Asgothian sagte in Conbee2 und Xiaomi Wandschalter:
...aber Vorsicht: wenn du mit dem Event arbeitest solltest du unbedingt vermeiden den Wert des Button Event mit einem neuen getstate abzufragen.
Kannst du kurz erklären warum dort Vorsicht geboten ist?
-
@Lenny-CB
Klar.. du kannst je nach Verhalten des Systems in eine "race condition" kommen. Zwischen dem Trigger und dem (asynchronen) abfragen des Objektes vergeht etwas zeit.Das ist zwar unwahrscheinlich, aber halt nicht ausgeschlossen. Insbesondere da es davon abhängt wie der Schalter im Deconz auf mehrfach / gleichzeitig drücken reagiert.
Wahrscheinlich wird der Effekt selten bis nie eintreten, aber ich sichere das eigentlich gerne so ab das es garnicht auftreten kann.
Im beiliegenden Bild: Das obere Blockly ist gut, das untere ist schlecht.
-
@Asgothian also lieber obj.val nehmen als neu den DP mit getState abfragen. Leuchtet auch ein.
-
-