Besoin d'aide sur la configuration MQTT pour système QBUS

Bonjour à tous,

J’ai une installation domotique dans ma maison pour tous les éclairages. Je suis de Belgique et avec mon éléctricien on a choisi d’installer le système QBUS, qui est « réputé » pour être relativement ouvert. Ils fournissent en effet un Gateway MQTT (GitHub - QbusKoen/qbusMqtt) qui est fonctionnel et que je fais déjà tourner sur un raspberry.

Seul problème, QBUS c’est néerlandais et c’est pas hyper encore connu… Ils ont un plugin officiel pour Node Red et pour OpenHab (voir lien plus haut). La communauté flamande est heureusement assez enthousiaste et sur le forum QBUS, des devs ont créé des scripts pour implémenter ça dans Home Assistant :

Et ca fonctionne hyper bien dans Home Assistant, je vois toutes mes lampes que je peux allumer/éteindre depuis l’interface, et ca synchronise bien avec les leds dans mes interrupteurs, et également avec l’application officielle qbus qui me permet d’allumer éteindre. Ce qui me fait comprendre que Home Assistant peut à la fois recevoir l’information on/off mais aussi envoyer une nouvelle valeur, qui est elle même interceptée par le gateway qbus mqtt qui permet d’envoyer l’information sur le controleur. Jusque là OK je comprends bien le fonctionnement :slight_smile:

Moi j’aimerais implémenter ça dans Gladys, mais je pense que je suis le premier à enfoncer cette porte, parce qu’ils n’ont pas l’air de connaître Gladys au nord du pays :stuck_out_tongue:

Ayant un background de dev, je me dis que ca doit pas être très compliqué. Je découvre cependant complètement le protocole MQTT et j’ai encore un peu de mal à comprendre quel genre de payload QBUS attend afin d’allumer ou éteindre une lampe. Surtout que la documentation est assez inexistante, c’est pas comme s’il y avait une belle API documentée)

J’ai donc besoin d’un peu d’aide :pray:

J’ai forké ce repo GitHub - nicojanssens/qbus-ha qui est écrit en JS et du coup assez simple pour moi à prendre en main, mais je bloque je pense à cause de ma mauvaise compréhension.

Pour l’instant j’arrive à subscribe à un topic cloudapp/QBUSMQTTGW/config
Quand j’envoie ensuite un topic cloudapp/QBUSMQTTGW/getState
J’obtiens la liste de mes appareils :

J’imagine que je dois enregistrer chaque appareil dans Gladys et avoir une fonctionnalité « écoute de la valeur que QBUS m’envoie » (si j’utilise un interrupteur physique) et une fonctionnalité « envoyer nouvelle valeur vers QBUS ».
Mais comment je peux dire à Gladys que l’appareil X doit écouter le topic cloudapp/QBUSMQTTGW/UL1/UL41/state qui correspond à l’état de ma lampe X ?

Avoir un exemple de configuration pour une lampe dans Gladys m’aiderait beaucoup :smiley: Une lampe dans gladys qui a la fois peut recevoir l’information de si elle est allumée ou éteinte, et à la fois pouvoir la controller depuis Gladys même.

Dans le Home assistant pré configuré par les devs flamands, j’ai bien ma lampe avec son état actuel et la possibilité d’allumer éteindre

Et voici la config derrière que j’ai pu trouver

C’est quoi cette histoire de template (exemple) ?
Et comment faire dans Gladys pour contrôler une lampe dimmer ?

Si quelqu’un pouvait m’indiquer dans quelle direction aller, ce serait super :slight_smile:

Merci beaucoup d’avance !

Hello !

Jète un oeil à ce live coding : (59) Live coding : Une intégration Z-Wave en une journée ? - YouTube et cette PR : Z-Wave JS UI integration by Pierre-Gilles · Pull Request #1982 · GladysAssistant/Gladys (github.com)

C’est exactement ce que tu demandes sauf que c’était avec Zwave. Tu as ici une vidéo d’intégration de Zwave via MQTT dans Gladys : de la connexion du MQTT à l’intégration d’un device dans le front.

La partie pure QBUS : il faudra trouver de la doc’ ou effectivement s’intéresser au projet JS que tu mentionnes.

Bon dev’ :wink:

2 « J'aime »

Super merci ! Je vais analyser tout ça :slight_smile:

Si j’en viens à développer une nouvelle intégration Gladys, comment je peux la loader dans mon instance Gladys pour la tester ?

Tu dois générer une image Docker de test:

Que tu peux lancer en parallèle (ou mieux, sur une autre machine)

1 « J'aime »

super merci!