[V4] Intégration enocean

Salut Pierre-Gilles,

Plutôt absent de Gladys depuis quelques mois, je souhaiterais reprendre le boulot d’intégration du protocole enocean sur Gladys 4.

Cependant, le module enocean-js ne me convient pas vraiment, le gars qui le développe fait un super boulot mais il est tout seul, y a pas de doc et je galère trop du coup…

Comme au taff je fais pas mal de python, je regarde du coté Python et je trouve des trucs que je souhaiterais expérimenter.
Mais du coup ce serait plutôt en mode module déporté à base d’échange MQTT.

Quelle serait la bonne approche coté Gladys ? Faut-il développer une intégration Gladys en charge de la discussion via MQTT avec Python/Enocean ou bien y a-t-il une interface standard pour ca ?

J’avoue que je ne me suis pas trop penché sur la V4 pour le moment mais il est temps de m’y mettre :smiley:

A+

Salut @Jean-Philippe !

J’ai mis ton post en public pour qu’il soit visible par tous :slight_smile:

Alors trois options:

  1. En soit, tu pourrais très bien appeler du code Python depuis Gladys et garder cette intégration dans Gladys. Après à voir, si c’est vraiment un programme Python qui tourne en permanence, c’est pas terrible.

  2. Tu peux t’inspirer de ce qui a été fait sur le module zigbee2mqtt qui est un service dont le travail est effectué par un container Docker qui parle en MQTT avec Gladys. Il faudrait donc développer le service déportée, faire une UI dans Gladys pour pouvoir contrôler le tout, et développer une API MQTT entre les deux pour que ça communique. Après, dans le module zigbee2mqtt, cela a été fait comme ça car zigbee2mqtt est un projet externe que nous ne maitrisons pas et qui a fait un travail formidable de convertir les messages zigbee de plein d’intégrations en MQTT.

  3. Plus fouiller le code de encoean-js et faire une intégration native dans Gladys… :slight_smile: Je suis allé voir le repo de oncean-js, je m’attendais à un projet abandonné et franchement ça a l’air solide et bien conçu. La v4 n’est pas la v3, l’objectif de la v4 est de concevoir un logiciel grand public qui est simple à utiliser et qui fonctionne “out of the box”. Une intégration native quand c’est possible, ça change tout.

Tu peux aller t’inspirer d’autres projets qui utilisent enocean-js comme node-red-contrib-enocean, le code est lisible et je pense qu’on pourrait assez simplement transposer ça dans Gladys :slight_smile: