1. Description

1.1. MQTT, un protocole de messages entre machines

Ce plugin permet de se connecter à un broker Mosquitto et de récupérer les messages publiés.

Il permet également de publier des messages sur ce même Mosquitto.

MQTT est un protocole standard de communication sur IP. Il est disponible sur les Arduino et ESP8266 mais également utilisé par les plus grosses structures (architectures de messagerie entre applications MQSeries, RabbitMQ …​)

Les produits capables de parler en MQTT sont ainsi connectés à Jeedom.

Exemple :

Node-Red : nodered.org
MQTTwarn : http://jpmens.net/2014/02/17/introducing-mqttwarn-a-pluggable-mqtt-notifier/
Un post du forum qui évoque Kodi et MPD en MQTT : https://www.jeedom.com/forum/viewtopic.php?f=96&t=15298&p=281455&hilit=MQTT+MPD#p280908

2. Configuration

2.1. Configuration du plugin

La configuration du plugin se tient en 3 informations :

Adresse du broker Mosquitto (peut être présent ailleurs sur le réseau)
Port du serveur Mosquitto (1883 par défaut)
Identifiant de Jeedom avec lequel il publiera sur le broker

Il est possible d’ajouter un compte et mot de passe si la connexion le requiert.

Configuration

Toute sauvegarde de la configuration provoque une relance du cron du plugin (et donc un rechargement de la configuration)

Ensuite les équipements se retrouvent dans la section MQTT

Configuration

Jeedom créera automatiquement toute information publier sur Mosquitto. Le dernier élément du sujet MQTT est utilisé en tant qu’identifiant d’information. Le reste constitue un équipement.

Exemple : le sujet MQTT sensors/salon2/temp deviendra un équipement sensors/salon2 et temp une information. La valeur lui sera associée.
Si on publie ensuite sur sensors/salon2/hum l'information sera ajoutée

Si le payload est de type json, alors un équipement prenant le nom du topic et avec une commande par élément du json sera créer

Exemple : le sujet MQTT sensors/salon2/capteur avec {"temp":"23","hum":"23"} deviendra un équipement sensors/salon2/capteur et avec les informations temp et hum.
Configuration

Pour publier sur MQTT, il suffit d’ajouter une commande et de saisir le sujet et la valeur du message.


3. FAQ

Est-ce que ca rend Jeedom disponible comme broker MQTT ?

Non, Jeedom utilise Mosquitto en tant que broker. Si vous avez donner les droits root à Jeedom, l’installation est faite de Mosquitto et la lib PHP-Mosquitto.

Est-ce que je peux utiliser des ESP8266 flashés avec ESPEasy avec ce plugin MQTT ?

Oui, il faut configurer les ESP pour utiliser un controleur configuré en "OpenHAB" dans ESPeasy. Ainsi il créera des topics par GPIO et valeur en payload

Est-ce que je peux interconnecter d’autres systèmes en MQTT ?

Oui, il est possible par exemple d’utiliser un connecteur pour MPD ou Kodi, voir ce post avec un exemple : https://www.jeedom.com/forum/viewtopic.php?f=96&t=15298&p=281455&hilit=MQTT+MPD#p280908


4. Troubleshoting

Mosquitto n’est pas installé sur mon système

Vous pouvez l’installer avec :

sudo apt-get install mosquitto

A noter qu’un Mosquitto installé sur un système différent suffit

La lib PHP-Mosquitto n’est pas installée sur mon système

Vous pouvez l’installer avec :

sudo apt-get install libmosquitto-dev
sudo pecl install Mosquitto-alpha