NEWS
Zigbee Adapter: Hue Dimmer Switch kurz/lang
-
Hey arteck,
da der Umstieg mit einem Haufen anderer Änderungen in meiner Wohnzimmersteuerung verbunden wäre und mir dafür momentan die Zeit fehlt (und die Akzeptanz für Ausfälle seitens einiger End-User ), habe ich deine Version noch nicht installiert. Aber ich habe mir die Änderungen mal angesehen. Das hat mich im Verständnis des Ganzen schon ein gutes Stück weitergebracht und es ist recht offensichtlich, dass und wie es funktioniert. Allerdings ja auch nur für die Up und Down Buttons und nicht für On/Off. Das ist zwar schon viel besser und damit könnte ich mich vermutlich sogar arrangieren, aber richtig glücklich wäre ich erst, wenn es wieder für alle 4 Taster funktioniert.
Wenn ich das recht sehe, sind dafür allerdings Änderungen im zigbee shepherd notwendig. Der Knackpunkt scheint mir hier in der fromZigbee.js zu liegen:
_324131092621_on: { cid: 'genOnOff', type: 'cmdOn', convert: (model, msg, publish, options) => { return {action: 'on'}; }, }, _324131092621_off: { cid: 'genOnOff', type: 'cmdOffWithEffect', convert: (model, msg, publish, options) => { return {action: 'off'}; }, }, _324131092621_step: { cid: 'genLevelCtrl', type: 'cmdStep', convert: (model, msg, publish, options) => { const deviceID = msg.endpoints[0].device.ieeeAddr; const direction = msg.data.data.stepmode === 0 ? 'up' : 'down'; const mode = msg.data.data.stepsize === 30 ? 'press' : 'hold'; // Initialize store if (!store[deviceID]) { store[deviceID] = {value: 255, since: null, direction: null}; } if (mode === 'press') { const newValue = store[deviceID].value + (direction === 'up' ? 50 : -50); store[deviceID].value = numberWithinRange(newValue, 0, 255); } else if (mode === 'hold') { holdUpdateBrightness324131092621(deviceID); store[deviceID].since = Date.now(); store[deviceID].direction = direction; } return {action: `${direction}-${mode}`, brightness: store[deviceID].value}; }, },
On/Off ist hier anders umgesetzt als Up/Down. Die Unterscheidung ob kurz gedrückt oder gehalten geht aus von
mode = msg.data.data.stepsize === 30 ? 'press' : 'hold';
Ich vermute jetzt einfach mal, dass das Feld stepsize in msg für on und off nicht existiert. Könnte mich aber auch irren (dann wäre es ja ein Leichtes, die Implementierung für on/off genau so wie für up/down zu übernehmen). Woher weiß ich/man, was in msg enthalten ist? Ist das irgendwo nachlesbar oder nachvollziehbar? Kann man das an der Stelle irgendwie sinnvoll als Debug-Ausgabe anzeigen lassen?
-
Welche Argumente es jeweils zu geben scheint, habe ich mittlerweile hier gefunden:
https://github.com/zigbeer/zcl-packet/wiki/6.-Appendix
Wie erwartet, gibt es keinen "step" für genOnOff. Jemand eine Idee, wie man trotzdem die Unterscheidung zwischen langem und kurzem Drücken für On und Off realisiert bekommt? Irgendwie gehen muss es ja, da es über die Bridge ja derzeit auch geht.
-
Welche Argumente es jeweils zu geben scheint, habe ich mittlerweile hier gefunden:
https://github.com/zigbeer/zcl-packet/wiki/6.-Appendix
Wie erwartet, gibt es keinen "step" für genOnOff. Jemand eine Idee, wie man trotzdem die Unterscheidung zwischen langem und kurzem Drücken für On und Off realisiert bekommt? Irgendwie gehen muss es ja, da es über die Bridge ja derzeit auch geht. `
über die Bridge geht auf an/aus lange drücken ??? seit wann ?? währe mir neu ??
-
über die Bridge geht auf an/aus lange drücken ??? seit wann ?? währe mir neu ?? `
Ja geht. Definitiv. Bei mir läuft der Dimmer Switch über die Bridge. Die Bridge polle ich mit einem Script über die node-hue-api. Damit verhalten sich alle 4 Buttons im Prinzip gleich und lassen sich kurz und lang drücken.
-
Das Problem scheint (so gut wie) gelöst:
https://github.com/Koenkk/zigbee2mqtt/issues/585Wie lässt sich das auf den Zigbee Adapter anwenden? Kann man die Abhängigkeiten vom Adapter einfach ändern? Oder die betroffenen Pakete manuell auf andere Versionen updaten?
-
das habe ich doch schon längst realisiert..
-
@arteck sagte in Zigbee Adapter: Hue Dimmer Switch kurz/lang:
das habe ich doch schon längst realisiert..
Leider aber nur für die up und down buttons, wenn ich die geänderten Code-Zeilen richtig interpretiere.
Die verlinkte Lösung sollte es sowohl für die als auch für die on/off buttons ermöglichen.Ich habe es leider gestern Abend nicht geschafft, die Änderungen entsprechend für den zigbee Adapter zu übernehmen. Nachdem ich zigbee-shepherd, zigbee-shepherd-converters, zcl-id und zcl-packet im node-modules Verzeichnis vom zigbee-Adapter angepasst habe, lief der Adapter zwar noch, aber nach dem pairen des Dimmer Switchs kam im Log eine Warnung, dass der Dimmer nicht konfiguriert werden konnte.
-
die Warnung bekomme ich seit anfang an... seit dem ich den Dimmer habe..
kannst mal schauen woher die kommt.. ich finds nicht -
Mir fehlt momentan leider die Zeit, mich mit der Hausautomatik zu befassen. Nachdem sich ja in der Zwischenzeit aber einiges an dem Adapter getan hat, habe ich eben mal wieder den Dimmer Switch mit dem ioBroker gekoppelt, in der Hoffnung, dass direkt alles läuft. Der Dimmer lässt sich auch koppeln, aber für die On und Off Buttons kann ich immer noch keine "button hold" events erkennen. Ist es richtig, dass nur folgende Objekte zu dem Dimmer Switch gehören?
Oder ist da mit meiner Installation irgendwas im Argen? Sind da möglicherweise noch irgendwo im Hintergrund Altlasten, so dass mir nun Objekte fehlen? Oder ist es richtig, dass nach wie vor nur für up und down die unterschiedlichen Events erkannt werden?
-
Ich klinke mich hier Mal ein, da ich nach mehreren Pairings und mit meinen beiden Schaltern das gleich angezeigt bekomme: Die äußeren Schalter, also an und aus, werden nicht angezeigt
Empfiehlt ihr für Hue dann doch lieber die Bridge zu nutzen (habe ich noch ungenutzt rumliegen, wollte aber eigentlich alles über den Zigbee Adapter machen ...)?
-
@haiperf
Nein, das ist im Adapter so vorgesehen. Die an/aus Knöpfe gehen auf den toggle datenpunkt.A.
-
@Glarios sagte in Zigbee Adapter: Hue Dimmer Switch kurz/lang:
Ich klinke mich hier Mal ein, da ich nach mehreren Pairings und mit meinen beiden Schaltern das gleich angezeigt bekomme: Die äußeren Schalter, also an und aus, werden nicht angezeigt
Empfiehlt ihr für Hue dann doch lieber die Bridge zu nutzen (habe ich noch ungenutzt rumliegen, wollte aber eigentlich alles über den Zigbee Adapter machen ...)?
Hast du sie mit der neusten Version des zigbee Adapters zum ersten Mal gepairt? Oder auch vorher schon einmal?
-
@Asgothian sagte in Zigbee Adapter: Hue Dimmer Switch kurz/lang:
@haiperf
Nein, das ist im Adapter so vorgesehen. Die an/aus Knöpfe gehen auf den toggle datenpunkt.A.
Das waren doch aber gerade die entscheidenden Änderungen. https://github.com/Koenkk/zigbee-shepherd-converters/commit/e41d409a1ee4ac1250867154059e709b73448daf
Damit müsste es doch eigentlich für alle 4 Knöpfe gleichermaßen press, hold und release events geben!? -
@haiperf zum ersten mal gepairt, habe den Adapter 0.10.2. oder muss ich eine andere Version nutzen?
-
@Glarios sagte in Zigbee Adapter: Hue Dimmer Switch kurz/lang:
@haiperf zum ersten mal gepairt, habe den Adapter 0.10.2. oder muss ich eine andere Version nutzen?
Nein, ich wollte nur wissen, ob es an meiner Installation bzw. an der Tasache liegt, dass ich den Switch schon mit einer vorherigen Version gepairt hatte. Daran liegt es dann ja aber nicht.
-
Ich habe jetzt eben noch mal schnell einen zweiten CC2531 Stick an einen zweiten RPi3 gehängt, dort zigbee2mqtt installiert und den Dimmer Switch gepairt.
Dort werden Nachrichten rausgeschickt, die für alle 4 Buttons (on,up,down,off) entsprechend gleich aussehen:- einfaches Drücken: "*-press"
- gedrückt Halten: "*-hold" in Abständen von ca. 1s
- wieder Loslassen: "*-release"
Ich hatte gedacht bzw. gehöfft, dass das im zigbee Adapter in ähnlicher Form übernommen wäre. Das scheint dann aber nicht der Fall zu sein?
-
wenn @Asgothian es nicht gemacht hat und ich auch nicht.. auf was hoffst du dann ??? es muss sich einer hinsetzten es nachziehen... also Geduld
-
@arteck sagte in Zigbee Adapter: Hue Dimmer Switch kurz/lang:
wenn @Asgothian es nicht gemacht hat und ich auch nicht.. auf was hoffst du dann ??? es muss sich einer hinsetzten es nachziehen... also Geduld
Ich hatte das gesehen und gedacht, das wäre geschehen: https://github.com/ioBroker/ioBroker.zigbee/issues/108
-
@haiperf da gings um die dimmer Knöppe dass die mit lang und kurz funktionieren
-
@arteck sagte in Zigbee Adapter: Hue Dimmer Switch kurz/lang:
@haiperf da gings um die dimmer Knöppe dass die mit lang und kurz funktionieren
Tatsächlich ging es da auch um die On und Off Knöppe. In dem verlinkten Issue https://github.com/Koenkk/zigbee2mqtt/issues/585 ebenfalls. Bei zigbee2mqtt wurde es so umgesetzt, dass nun für alle 4 Buttons einfache, mehrfache und längere Klicks unterschieden werden können.
Ich hatte gedacht, dass das im Wesentlichen durch die Abhängigkeiten zu zigbee-shepherd etc. mit in den zigbee-Adapter einfließt. Da habe ich mich offenbar geirrt und es ist im zigbee Adapter noch mehr von Nöten. Ist das viel Aufwand, die Umsetzung vollständig zu übernehmen? Mir fehlen da leider die Kenntnisse, um das zu erkennen.