[Tuto] intégration dans zigbee2mqtt des interrupteurs sans pile Green Power Trio2sys

Tags: #<Tag:0x00007f3f4acb30c8> #<Tag:0x00007f3f4acb2d08> #<Tag:0x00007f3f4acb2088> #<Tag:0x00007f3f4acb1cc8>

Intégration dans zigbee2mqtt des interrupteurs sans pile Green Power

Ayant pas mal galéré pour réussir à utiliser mon interrupteur Green Power (dans mon cas présent unTrio2sys ) avec zigbee2mqtt, j’ai décidé de faire partager les résultats de mon expérience.

Configuration :
Clef combee2 (si vous testez avec d’autres clefs, vos retours sont les bienvenus)
Zigbee2mqtt installé sur un pi3 en autonome sur un autre pi que celui de jeedom, mais il n’y a aucune raison que ce ne soit pas la même chose avec l’utilisation de zigbeelinker.
Interrupteur sans pile green power Trio2sys

Documentation
Un réflexe à avoir, est de trouver sur le site https://www.zigbee2mqtt.io/supported-devices/ le device correspondant à notre interrupteur. Dans le cas présent, ici : EnOcean PTM 215ZE control via MQTT | Zigbee2MQTT
La procédure d’appairage y est décrite. Je vais la donner plus bas en français.

Procédure d’inclusion de l’interrupteur :

Auparavant, il faut bien sûr faire rentrer zigbee2mqtt en mode inclusion. Je l’ai fait en utilisant l’interface graphique :
image

Si vous avez un interrupteur avec un seul bouton, vous devez retirer les capuchons pour pouvoir agir sur les 4 boutons. Un bouton peut être enfoncé en maintenant le contact de ce bouton, puis en appuyant sur la barre d'énergie. 
Pour l'appairer,

* commencez par appuyer brièvement (moins de 7 secondes) sur deux boutons différents l'un après l'autre. N'importe quel bouton de l'appareil (A0, A1, B0, B1) peut être utilisé. 



Ensuite, sélectionnez un bouton de l'appareil (A0, A1, B0 ou B1) et **exécutez la séquence longue-courte-longue suivante** (ne pas changer de bouton au milieu de la manip):

* Appuyez et maintenez enfoncé le bouton sélectionné pendant plus de 7 secondes avant de le relâcher.
* Appuyer rapidement sur le bouton sélectionné (maintenir moins de 2 secondes).
* Appuyez à nouveau sur le bouton sélectionné et maintenez-le enfoncé pendant plus de 7 secondes avant de le relâcher.

* Appuyez brièvement sur le bouton sélectionné (< 7s) pour sélectionner le canal radio 11.
* Continuez à appuyer brièvement sur le bouton sélectionné (< 7s) pour incrémenter le canal radio. Si le canal 26 a été atteint, alors le canal 11 sera utilisé ensuite. (Je n'ai pas fait cette manipulation car je suis resté en canal 11, mais j'ai fait la suivante)

* Une fois l'appareil couplé, vous devez confirmer le canal. Pour cela, appuyez sur n'importe quel bouton autre que celui utilisé précédemment.

Si vous utilisez l’interface zigbee2mqtt, vous devez voir apparaitre une ligne supplémentaire correspondant à votre device :
image
Comme sur la capture écran ci-dessus, je vous conseille d’utiliser un nom simplifié car c’est lui qui donnera le topic à utiliser dans jmqtt. pour moi, le topic sera : zigbee2mqtt/InterDouble01

Pour indiquer un nom simplifié :
image

Commandes disponibles et intégration dans jmqtt

Toujours dans cette page EnOcean PTM 215ZE control via MQTT | Zigbee2MQTT vous trouverez :

Exposes

# Action (enum)

Triggered action (e.g. a button click). Value can be found in the published state on the action property. It’s not possible to read (/get) or write (/set) this value. The possible values are: press_1, release_1, press_2, release_2, press_3, release_3, press_4, release_4, press_1_and_2, release_1_and_2, press_1_and_3, release_1_and_3, press_1_and_4, release_1_and_4, press_2_and_3, release_2_and_3, press_2_and_4, release_2_and_4, press_3_and_4, release_3_and_4, press_energy_bar, release_energy_bar, press_or_release_all.

# Linkquality (numeric)

Concrètement, dans jmqtt, après avoir indiqué le topic et pour l’instant en ayant coché la case « ajout automatique… »
image

cela donne ça après avoir cliqué sur l’interrupteur une nouvelle fois :
image

En cliquant sur Json
image

et en donnant des noms puis image
image

Vous obtenez en fonction du bouton sur lequel vous appuyez l’une des valeurs décrites plus haut à savoir :

press_1, release_1, press_2, release_2, press_3, release_3, press_4, release_4, press_1_and_2, release_1_and_2, press_1_and_3, release_1_and_3, press_1_and_4, release_1_and_4, press_2_and_3, release_2_and_3, press_2_and_4, release_2_and_4, press_3_and_4, release_3_and_4, press_energy_bar, release_energy_bar, press_or_release_all.

Pour ce qui est de la qualité de service, je ne sais pas si c’est vraiment exploitable car au cours de mes essais, la valeur n’a jamais changé. Ni via jmqtt
image
ni via l’interface zigbee2jmqtt
image
Donc je suppose inexploitable.

Cas particulier des interrupteurs Trio2sys
Les interrupteurs Trio2sys habillé en Odace fonctionnent mal car ils ont un défaut de fabrication.
Le principe de ces interrupteurs, est que lorsque l’on appui sur un bouton, deux choses se passent :

  • Un des 4 boutons au centre est appuyé (dans la photo plus bas, ils sont déjà habillés avec du scotch bleu),
    image
    puis il y a un mouvement d’une des deux barres qui produit le courant nécessaire pour déclencher l’envoi des informations dont le bouton qui a été appuyé ou relâché.
    image
    Si on appui sur un bouton àl a fois on a un message du type press_1puis release_1,
    Si on appui sur deux boutons à la fois, on a un message du type press_3_and_4 puis release_3_and_4
    Le problème de la version Odace, est que la petite patte qui vient appuyer sur un des 4 boutons du centre n’est pas assez longue de quelques dixièmes. On a donc, des fois, lorsque l’on appui par exemple sur le bouton 1 un massage `press_energy_bar’ qui ne dit pas sur quel bouton on a appuyé puisqu’il ne le sait pas. De même, si on presse sur deux boutons à la fois, il peur croire que l’on a appuyé que sur un seul bouton.
    D’où la solution qui consiste à mettre du scotch sur les boutons (chez moi, deux épaisseurs). C’est ce que l’on voit sur la photo (scotch bleu).
    image
2 J'aime

Pour info, suite à de nombreux problèmes que j’ai eu avec l’interrupteur Trio2Sys version Odace, je vous mets la solution à la fin du message précédent.
Maintenant ça marche !

3 J'aime

Merci Mic78000 pour ton tuto détaillé et bien fait. Cela n’a pas fonctionné chez moi. La passerelle fonctionne correctement, j’ai pu inclure plusieurs autres objets, mais cet interrupteur, n’apparait pas en respectant pourtant la séquence de ton tuto. Peut etre est il simplement défectueux.
Avant de le renvoyer au fournisseur, peux tu me préciser peut-être si lors de cette séquence long court long (avec par exemple A0) si tu presse A0 et la barre d’énergie au même moment ou si tu anticipe A0 avant de lui donner de l’énergie…etc
peux tu détailler ce passage?

merci d’avance
Mike

J’avoue que ça fait longtemps que j’ai fait cette manip et là, je ne suis pas devant le matériel pour refaire des essais.
La logique dit qu’il faut appuyer sur la touche (par ex A0) et sans le relacher, il faut appuyer sur la barre.
Si tu as un inter à deux boutons donc 4 positions, tu peux laisser le cache, enfin ne rien démonter, et te contenter de cliquer (appuyer) sur un bouton.

1 J'aime

Merci pour ta réponse.
le module semble HS. tous les autres sont désormais appairés sauf celui ci.
çà arrive.

Bon week end
Mike