Accueil / Domotique / Jeedom + MQTT: associer un objet connecté DIY au Dashboard

Jeedom + MQTT: associer un objet connecté DIY au Dashboard

Avec les modules ESP8266 ou un Arduino, il est très facile de fabriquer ses propres objets connectés (DIY IoT) et les intégrer à un serveur domotique avec le protocole MQTT (avec Mosquitto par exemple). Jeedom, le serveur domotique entièrement en Français permet d’intégrer très simplement vos objets connectés. Dans cet article nous allons apprendre comment installer le Broker Mosquitto pour communiquer sur un serveur Jeedom existant et y connecter un premier objet et l’afficher sur le Dashboard.

Installer le Broker Mosquitto sur Jeedom

Nous n’allons pas rentrer dans les détails du fonctionnement de MQTT et de Mosquitto. Je vous renvoie vers cet article précédent qui explique comment installer et prendre en main le Broker MQTT Mosquitto. Jeedom fonctionnant sur une distribution Linux Raspbian classique, il est très facile d’installer MQTT. J’ai une préférence pour Mosquitto mais vous pouvez en installer d’autres (consulter l’article sur une sélection de Brokers en ligne).

 

Ouvrez un Terminal et exécutez

sudo apt-get install mosquitto

Ensuite on installe mosquitto-clients qui permet de souscrire, publier et gérer les utilisateurs pour sécuriser votre Broker. C’est optionnel mais ça peut toujours servir de pouvoir vérifier que l’on reçoit bien des messages en provenance des appareils que l’on a développé.

sudo apt-get install mosquitto-clients

C’est fait. Dès la fin de l’installation, Mosquitto est opérationnel.

Si vous avez réalisé la sonde de température à base d’un ESP8266 Wemos D1 mini que je vous ai présenté précédemment, branchez le et exécutez la commande suivante pour vérifier que vous recevez bien les messages de température et d’humidité.

mosquitto_sub -h localhost -t sensor/# -v

Petite traduction de la commande pour ceux qui découvrent MQTT. On souscrit (mosquitto_sub) sur le broker (-h) localhost (ou l’adresse ip du broker) au topic (-t) sensor/# (# tous les sous-topic) -v (on affiche l’étiquette du topic devant la valeur).

On stoppe la souscription avec Ctrl+C

jeedom mqtt mosquitto test subscribe

Ajouter le plugin MQTT à Jeedom

Maintenant que nous recevons des données en provenance de la sonde de température DHT22 à l’aide de l’ESP8266, voyons comment intégrer les mesures dans Jeedom.

Allez dans Plugins -> Gestion des plugins puis Accéder au Market

jeedom gestion plugins

Faites une recherche avec le mot clé MQTT ou allez dans la section Protocole domotique

jeedom market ajout plugin mqtt

Ouvrez la fiche du plugin -> Installer stable

A la fin de l’installation, appuyez sur d’accord.

Retournez dans la liste des plugins et appuyez sur Activer (en vert à coté d’Action) pour activer le plugin. Il faudra encore attendre quelques minutes pour que Jeedom termine d’installer les dépendances (ou appyez sur Relancer pour démarrer immédiatement l’installation). Vous pouvez suivre le processus d’installation en appuyant sur Voir la log

jeedom activer plugin

Création d’un objet

Si vous connaissez Jeedom, vous pouvez sauter cette étape.

Avant de pouvoir afficher les valeurs mesurée par la sonde, il faut déjà créer un objet auquel on associera la sonde.

Pour créer un objet, allez dans Outils -> Objets et enfin Ajouter

jeedom creer nouveau objets

Donnez lui le nom de « cuisine » par exemple. Vous pouvez lui attribuer une couleur, une icône (les noms sont en anglais). Il est aussi possible de créer une arborescence d’objet en indiquant un père. Si vous débutez avec Jeedom, il n’y a aucun parent disponible.

jeedom editer objet

Association de la sonde de température à l’objet cuisine

Retournez dans Plugins -> Protocole domotique -> MQTT

jeedom mqtt nouveau equipement disponible

Jeedom est vraiment très performant, il détecte automatiquement les Topics disponibles sur Mosquito et créé automatiquement un nouveau équipement.

Cliquez sur l’équipement sensor pour l’éditer.

Donnez lui un nom, par exemple DHT22

Un objet parent, Cuisine dans cet exemple

Une catégorie. Disons Chauffage pour une sonde de température

Activer et rendez le visible

Dans le bloc Informations, choisissez la catégorie Température et Humidité

Sauvegardez l’équipement

jeedom configuration equipement mqtt mosquitto

Pour terminer, changez les noms de topics. Il est possible de choisir d’afficher ou pas chaque topic. Vous pouvez Tester la bonne réception de données.

Historiser les mesures

Autre petit raffinement de posséder son propre serveur domotique, on peut enregistrer les mesures et les actions passées. Petit bug (de la version utilisée pour l’article certainement), le bouton historiser disparait après un sauvegarde de l’équipement. Il suffit de sortir et revenir sur la fiche de ce dernier pour le rendre visible.

Activez Historiser pour conserver des mesures.

jeedom historiser valeur mqtt

Pour visualiser les graphique, allez dans Analyse -> Historique

Choisissez les mesures à afficher sur le graphique.

jeedom graph historique mesures mqtt dht22 esp8266

Afficher le Dashboard

Cool, reste plus qu’à voir à quoi ça ressemble. Allez dans Accueil -> Dashboard

jeedom dashboard

En haut de l’écran se trouvent un filtre de catégorie (le fond de chaque Widget et colorié dans une couleur différente, par exemple le bleu pour le chauffage).

Ensuite, on trouve notre objet Cuisine avec l’équipement DHT22 créé précédemment.

jeedom dashboard cuisine dht22

 Voilà, j’espère que ce petit tutoriel vous sera utile. Le plugin MQTT est vraiment très simple à utiliser. Petits regrets toutefois. Il n’est pas possible (dans la version du 13/04/2016) d’attribuer une unité au Topic, ni d’associer l’équipement à un Widget pour personnaliser l’affichage dans le Dashbord.