MQTT pour remplacer Jeelink

Bonjour,

Aujourd’hui, je souhaite vous informer que vous pouvez désormais remplacer Jeelink par le plugin MQTT.

Mais pourquoi envisager ce changement ?

Le plugin Jeelink commence à montrer des signes de vieillissement. Il est difficile à maintenir et manque de modernité.

Bien qu’il utilise le protocole HTTP, qui est efficace, il ne gère pas la qualité de service (QoS) ni la retransmission en cas d’erreur. De plus, sa configuration est devenue très complexe.

Pourquoi le MQTT ?

Le protocole MQTT est très léger, facile à mettre en place et largement présent sur de nombreux systèmes Jeedom. Par exemple, si vous utilisez les plugins ZwaveJS ou JeeZigbee, vous utilisez déjà le protocole MQTT ainsi que le plugin nécessaire pour transférer des informations d’un Jeedom à un autre.

Comment ça marche ?

Le MQTT est un protocole très simple basé sur le modèle pub/sub. En résumé, une entité publie une information sur un « topic » (par exemple : monSuperJeedom/cmd) et tous ceux qui sont abonnés à ce « topic » reçoivent l’information. De plus, en fonction de la QoS, le protocole peut garantir que l’information est bien reçue.

Dans la pratique, sur Jeedom, un démon tourne dans le plugin MQTT Manager (MQTT2) et se connecte à un broker (Mosquitto, dans notre cas). C’est ce broker qui s’occupe de recevoir toutes les informations et de les renvoyer aux bons destinataires.

Comment le met on place ? Ça à l’air compliqué ?

Cela peut sembler compliqué, mais en réalité, Jeedom configure tout pour vous. Si vous utilisez déjà le plugin ZwaveJS ou JeeZigbee, il n’y a rien de plus à faire. Vous pouvez directement passer à l’étape suivante.

Sinon, il vous suffit d’installer le plugin MQTT Manager, de l’activer et d’attendre ; il devrait tout faire tout seul. Si ce n’est pas le cas, mettez simplement le mode en broker local, cliquez sur « Installer », attendez 5 minutes, puis lancez le démon.

Comment connecter deux Jeedom ?

Deux possibilités :

  1. Connecter tous les Jeedom au même broker :
    • Mettez un Jeedom en mode broker local (généralement le principal).
    • Configurez les autres Jeedom en broker distant.
    • Dans l’adresse du broker, sélectionnez MQTT et entrez l’IP de votre Jeedom configuré en broker local.
    • Pour le port, mettez 1883.
    • Pour le nom d’utilisateur et le mot de passe, récupérez ces informations sur le Jeedom en broker local (la forme est nom d’utilisateurde passe).
  2. Transférer des informations d’un broker à un autre :
    • Cette configuration étant plus complexe, consultez la documentation du plugin pour plus de détails.

Ensuite, dans le plugin, il suffit de définir un nom de topic racine unique par Jeedom, puis de recopier ce nom dans « Topic des Jeedoms liés » sur les Jeedom qui doivent recevoir les informations de ce Jeedom.

Enfin, sur le Jeedom source (celui qui envoie ses équipements), cliquez sur « Envoyer la découverte ». Et voilà, c’est terminé.

Comment choisir les équipements à transmettre ?

Dans la configuration du plugin, vous pouvez cliquer sur « Transmettre tous les événements » (non recommandé) pour tout envoyer.

Sinon, pour chaque équipement à transmettre, allez dans la configuration avancée de celui-ci (en haut à droite), puis dans « Informations complémentaires » et cochez « Transmettre l’équipement en MQTT ».

Après chaque ajout d’équipement, n’oubliez pas de refaire « Envoyer la découverte » pour que le Jeedom cible récupère les nouvelles informations.

Comment faire pour l’état des démons et autres informations ?

Je sais que beaucoup d’entre vous utilisent Jeelink sur le même Jeedom pour obtenir le statut des démons et effectuer des actions. Cela fonctionnait, même si ce n’était pas l’idée de base.

Bonne nouvelle, cela ne sera bientôt plus nécessaire. En effet, le plugin Virtuel vient de recevoir une mise à jour (en bêta au moment où j’écris) qui ajoute une fonction permettant de créer automatiquement un virtuel reprenant ce que faisait Jeelink (état des démons, actions dessus, version de Jeedom, mise à jour, nombre de messages, lancement d’un backup).

Conclusion

Vous l’aurez compris, le plugin Jeelink est en fin de vie et doit être remplacé par le combo MQTT + Virtuel.

À noter que je n’ai pas abordé le cas où vous faisiez communiquer deux Jeedom à travers Internet. Le plugin Jeelink rendait cela facile, ce qui est malheureusement moins le cas pour le moment (j’ai une idée pour rendre cela à nouveau facile, mais c’est assez lourd à mettre en place de notre côté).

Vous pouvez:

  • soit ouvrir un Mosquitto sur Internet (ce qui n’est pas idéal),
  • soit mettre en place un Mosquitto relais dans le cloud pour faire passer les informations (cela vous coûtera quelques euros par mois, mais vous ne serez dépendant d’aucun tiers).

PS : N’hésitez pas à consulter la documentation des différents plugins pour plus d’informations sur leur fonctionnement et la configuration des différentes fonctions.

Documentation du plugin Virtuel

Documentation du plugin MQTT

Vous aimerez aussi...