NEWS
[gelöst] JS + Zigbee ZG-101ZL - Event immer doppelt.
-
Hallo Zusammen,
ich mache gerade meine ersten Gehversuche mit Zigbee auf IObroker mit dem v1.10.3 Zigbee Adapter.
An meinen DECONS II habe ich einen ZG-101ZL angelernt.
Mein Problem ist, dass bei folgendem Code immer 2x das Event ausgeführt wird - in diesem Fall erscheint 2x "button pressed" in der Console.
on({id: 'zigbee.0.a4c1389b51ba52b2.on'/*on*/}, function (obj) { log("button pressed"); });
Es ist dabei egal ob ich *.on, *.single, oder *.double anwähle.
javascript.0 16:08:17.639 info script.js.in_Entwicklung.Zigbee_Button: button pressed javascript.0 16:08:17.896 info script.js.in_Entwicklung.Zigbee_Button: button pressed
Habt ihr dazu eine Idee?
-
Nachtrag: ich habe 2 weitere Buttons dieses Typs angebunden - mit deim gleichen Verhalten.
Also entweder "muss das so" oder meine Zigbee-Config ist murks.
-
@flachdachdecker sagte: eine Idee?
Logge mal den Wert des DP:
on({id: 'zigbee.0.a4c1389b51ba52b2.on'/*on*/}, function (obj) { log("button pressed " + obj.state.val); });
-
on({id: 'zigbee.0.a4c1384eb9282fc6.single'/*single*/}, function (obj) { log("button 3 pressed (single) "+ obj.state.val); }); on({id: 'zigbee.0.a4c1384eb9282fc6.double'/*double*/}, function (obj) { log("button 3 pressed (double) "+ obj.state.val); });
-> einmal "Klick"
javascript.0 17:17:09.551 info script.js.in_Entwicklung.Zigbee_Button: button 3 pressed (single) true javascript.0 17:17:09.804 info script.js.in_Entwicklung.Zigbee_Button: button 3 pressed (single) false
-> doppel "Klick"
javascript.0 17:17:11.783 info script.js.in_Entwicklung.Zigbee_Button: button 3 pressed (double) true javascript.0 17:17:12.041 info script.js.in_Entwicklung.Zigbee_Button: button 3 pressed (double) false
-
@flachdachdecker
Ändere den Trigger:on({id: 'zigbee.0.a4c1389b51ba52b2.on'/*on*/, val: true}, function (obj) {
-
@paul53 said in JS + Zigbee ZG-101ZL - Event immer doppelt.:
, val: true
Paul, wie immer ist auf dich Verlass! Vielen Dank, das hat geholfen!
-
@paul53 sagte in [gelöst] JS + Zigbee ZG-101ZL - Event immer doppelt.:
@flachdachdecker
Ändere den Trigger:on({id: 'zigbee.0.a4c1389b51ba52b2.on'/*on*/, val: true}, function (obj) {
Das ist so nicht gut - damit wird der Trigger auch bei einer Aktualisierung auf 'true' aktiv. Das funktioniert dann zumeist, wirft aber ggf. Problem wenn der Wert nur bestätigt wird. Besser ist
on({id: 'zigbee.0.a4c1389b51ba52b2.on'/*on*/, change:g}, function (obj) {
Dann Triggert der nur beim Wechsel von Falsch auf Wahr.
A.
-
@asgothian sagte: ggf. Problem wenn der Wert nur bestätigt wird.
Das ist nur der Fall, wenn der DP auch gesteuert wird.
Der Trigger auf "val: true" funktioniert mit nahezu allen Tasten, auch solchen, deren Wert sich nie ändert (HomeMatic). -
@paul53 sagte in [gelöst] JS + Zigbee ZG-101ZL - Event immer doppelt.:
Das ist nur der Fall, wenn der DP auch gesteuert wird.
Der Trigger auf "val: true" funktioniert mit nahezu allen Tasten, auch solchen, deren Wert sich nie ändert (HomeMatic).Ja. Das wird er hier aber. Deswegen nutz ich die einfache Regel:
wechselt der DP den Wert: Trigger auf change:gt.
wechselt der DP den Wert nicht: Trigger auf val:true.A.