NEWS
Dimmen mit Ikea Zigbee Lichttaster
-
der Lichttaster von Ikea sendet bei einem kurzen Tastendruck über meinen zigbee2mqtt-Stick eine Nachricht.
Über ein Script ordne ich diese User-Variablen zu.
Funktioniert soweit gut.
Zum Dimmen muss ich aber mehrmals eine Taste betätigen.
Gibt es eine Möglichkeit den Finger drauf zu lassen und die Variable für Helligkeit zählt langsam hoch?on( // Ikea Lichttaster 1 {id: 'mqtt.0.zigbee2mqtt.0x5c0272fffe33314b', change: "any"}, function () { var x = (getState('mqtt.0.zigbee2mqtt.0x5c0272fffe33314b').val); var x2 = JSON.parse(x).action; //console.log(x2); var y = '0_userdata.0.Lichttaster_Ikea_1.Helligkeit'; var z = '0_userdata.0.Lichttaster_Ikea_1.Farbton'; var e = '0_userdata.0.Lichttaster_Ikea_1.EIN'; if(x2 == 'brightness_up_click') setState(y, getState(y).val + 10); if(x2 == 'brightness_down_click') setState(y, getState(y).val - 10); if(x2 == 'arrow_right_click') {setState(z, getState(z).val + 1); if (getState(z).val >9) setState(z,1);} if(x2 == 'arrow_left_click') {setState(z, getState(z).val - 1); if (getState(z).val <2) setState(z,10);} if(x2 == 'toggle') setState(e, !getState(e).val); });
-
@stefan999 sagte in Dimmen mit Ikea Zigbee Lichttaster:
zigbee2mqtt-Stick
mal zur Aufklärung . zigbee2mqtt ist ein software Projekt das Hardware nutzt..?? mach bitte ein foto von deinem coordinator
ausserdem warum nutzt du nicht den zigbee adapter für dein vorhaben`?
-
@arteck
ist ein CC2531 hier ein FotoMeine Selbstbaugeräte sollen mqtt über zigbee nutzen, einfach weil ich denke das wird sich durchsetzen.
Bisher haben auch alle gekauften Geräte mit mqtt funktioniert, im Gegensatz zum zigbee-Adapter!
Und einen zweiten Stick einstecken mit Z-Stack-firmware? Weiss nicht ob es da Probleme gibt und mein Problem wird es auch nicht lösen - oder?
Ich gehe dann mal davon aus daß es nicht geht. -
@stefan999 das ist ein cc2531..
ich würde dir empfehlen sich mit dem Thema ein wenig zu befassen.. du vermischt mehrere Themen..
mqtt ist ein kommunikationsprotokoll was iobroker unterstützt.. nicht mehr nicht weniger..
Und einen zweiten Stick einstecken mit Z-Stack-firmware?
was willst du mdamit sagen.. auf deinem Stick ist diese Firmware drauf..
-
@arteck
nein auf meinem Stick ist zigbee2mqtt (https://github.com/Koenkk/zigbee2mqtt) deshalb nenne ich ihn
"zigbee2mqtt-Stick". Ich dachte das ist verständlich ich nutze ja auch den mqtt-Adapter.Wenn ich zusätzlich den zigbee-Adapter nutzen würde, müsste ich einen zweiten Stick mit Z-Stack geflasht als Coordinator einsetzen. Das erscheint mir nicht sinnvoll.
Ich denke wir reden aneinander vorbei - das alles hat nichts mit dem SW-Problem zu tun! Die Verbindung funktioniert ja perfekt.
-
@stefan999 sagte Gibt es eine Möglichkeit den Finger drauf zu lassen und die Variable für Helligkeit zählt langsam hoch?
Ändert sich der JSON-DP bei Loslassen einer Taste?
-
@stefan999 sagte in Dimmen mit Ikea Zigbee Lichttaster:
zigbee2mqtt
es gibt keine zigbee2mqtt Firmware.. und nein wir reden nicht aneinander vorbei.. du solltest erstmal Grundwissen haben und erfahren wie es funktioniert bevor du dich mit komplexen sachen beschäftigst..
und so entsteht gefährliches Halbwissen..... aber da schisnt du mehr Ahnung haben als ich ..
@paul53 ja der sendet ein toggle_hold...was wir auch im zigbee adapter haben
-
@arteck sagte: der sendet ein toggle_hold
@stefan999 Dann kann ein Intervall verwendet werden, das bei "toggle_hold" gestoppt wird.
-
@paul53
Danke Paul, das war schon der Hinweis den ich gebraucht habe.
Er sendet ein und ein "brightness_up_hold" beim Drücken und ein "brightness_up_release" beim Loslassen.
Ich hatte das übersehen.
Und sorry wenn ich mich mit den ganzen Begriffen noch nicht so auskenne.
Aber Paul hat ja mein Problem dann doch erkanntso geht es
var timer= null; on( // Ikea Lichttaster 1 {id: 'mqtt.0.zigbee2mqtt.0x5c0272fffe33314b', change: "any"}, function () { var x = (getState('mqtt.0.zigbee2mqtt.0x5c0272fffe33314b').val); var x2 = JSON.parse(x).action; //console.log(x2); var y = '0_userdata.0.Lichttaster_Ikea_1.Helligkeit'; var z = '0_userdata.0.Lichttaster_Ikea_1.Farbton'; var e = '0_userdata.0.Lichttaster_Ikea_1.EIN'; if(x2 == 'brightness_up_click') setState(y, getState(y).val + 10); if(x2 == 'brightness_down_click') setState(y, getState(y).val - 10); if(x2 == 'brightness_up_hold') { timer = setInterval(function(){ setState(y, getState(y).val + 5);}, 500); if (getState(y).val == 100) clearInterval(timer); } if(x2 == 'brightness_up_release') { console.log(x2); clearInterval(timer); } if(x2 == 'brightness_down_hold') { timer = setInterval(function(){ setState(y, getState(y).val - 5);}, 500); if (getState(y).val < 1) clearInterval(timer); } if(x2 == 'brightness_down_release') { console.log(x2); clearInterval(timer); } if(x2 == 'arrow_right_click') {setState(z, getState(z).val + 1); if (getState(z).val >9) setState(z,1);} if(x2 == 'arrow_left_click') {setState(z, getState(z).val - 1); if (getState(z).val <2) setState(z,10);} if(x2 == 'toggle') setState(e, !getState(e).val); });