Plugin MQTT Manager
Un plugin qui risque de devenir de plus en plus important/utilisé dans Jeedom car de nombreux plugins devraient s’appuyer dessus à l’avenir (quoi ? Zwave ?). Ce plugin permet de se connecter à un broker MQTT ou si vous n’en avez pas de l’installer, de le configurer et de s’y connecter.
Attention pour l’installation du broker, ce plugin s’appuie sur le plugin Docker (en beta) et nécessite un système compatible avec le plugin Docker. De plus pendant la phase beta, il faudra absolument lancer l’installation du plugin Docker avant pour que tout se fasse tout seul ensuite.
Installation et configuration
Pour installer le plugin, il suffit juste être en Jeedom 4.2 ou plus. Pour la configuration vous avez :
Rien de particulier ici, vous pouvez choisir :
- le mode : soit un broker local (dans ce cas Jeedom installera pour vous mosquitto à l’aide du plugin docker et s’occupera de faire toute la partie configuration, dont la mise en place d’une authentification), soit un broker déporté dans ce cas vous aurez juste à lui indiquer comment s’y connecter
- Installer : permet de lancer ou relancer l’installation de mosquitto en local
- Authentification : par défaut Jeedom va automatiquement créer un couple nom d’utilisateur/mot de passe, vous pouvez en rajouter si vous voulez (si vous en rajoutez, il faut bien sauvegarder et relancer l’installation de mosquitto)
- le topic racine : topic utilisé pour piloter Jeedom à travers MQTT et pour que Jeedom envoie les informations d’événement sur MQTT (attention si vous avez plusieurs Jeedom sur le même MQTT à bien changer le nom du topic racine)
- « Transmettre tous les événements des commandes » : permet de demander à Jeedom d’envoyer toutes les informations venant de toutes les commandes Jeedom sur MQTT
Equipement
Il est aussi possible de créer des équipements MQTT bien que ce ne soit pas le but 1er du plugin. En effet, ce plugin est plus là pour permettre à d’autres plugins de récupérer et d’envoyer des informations sur MQTT sans se préoccuper de la connexion au broker, sécurisation de la connexion et démon d’écoute.
Petit aparté pour les dev : c'est simple si vous voulez utiliser MQTT ! il suffit de mettre ce plugin en dépendance et d'appeler la fonction mqtt2::addPluginTopic($_plugin, $_topic), avec en plugin votre nom de plugin et en topic la racine de vos topics. Ensuite le plugin appellera de lui-même la fonction de votre plugin handleMqttMessage avec le message en argument
.
Pour l’équipement MQTT vous avez :
Rien de particulier à présenter si ce n’est le « Root topic » donc la racine de votre topic (cela aide Jeedom à retrouver votre équipement) à configurer. Exemple si votre topic c’est test/toto/1 dans ce cas votre « root topic » sera test.
Sur la page commande vous avez :
Ici vous pouvez créer autant de commandes que vous voulez. Pour les commandes de type info vous avez juste le topic à indiquer (sans le root topic bien sûr).
Pour les commandes de type action, vous indiquez là aussi votre topic et dans message ce qu’il faut envoyer. A noter que vous pouvez utiliser des tags (voir documentation du plugin).
A quoi ça sert ?
Hormis le fait que le plugin serve de base pour d’autres plugins, il permet de connecter Jeedom à d’autres systèmes :
- ipx800v5 (pas testé encore)
- nodered (qui s’installe tout seul avec l’assistant du plugin docker), je ferais peut être un article sur comment configurer l’ensemble
- autre système MQTT
Conclusion
Voilà pour cet article sur le MQTT, ça vous donne sûrement une vision sur les développements des futurs plugins sous Jeedom (quand ça sera possible bien sûr).