Nodered

Dans la suite des articles sur les plugins Docker Management et MQTT Management voila comment configurer Nodered avec Jeedom.

Principe

Le principe est assez simple :

  • le plugin docker va faire tourner le container Nodered
  • le plugin MQTT Manager va lui aussi faire tourner un Docker Mosquitto
  • dans le plugin MQTT Management on va lui indiquer d’envoyer tous les événements de commande sur le bus MQTT
  • on va connecter Nodered à MQTT

Pre-requis

Il vous faut :

  • Jeedom 4.2 ou version supérieure (beta pour le moment)
  • installer le plugin Docker Management ainsi que les dépendances
  • installer le plugin MQTT Management ainsi que les dépendances
  • cocher la case « Transmettre tous les évènements des commandes » dans la configuration du plugin MQTT

Une fois cela fait, il faut vérifier que le démon MQTT est bien ok. Si vous avez tout bon jusque là alors vous venez de faire le plus dur.

Installation Nodered

Dans le plugin Docker Management, il faut créer un nouvel équipement (avec un nom original : nodered par exemple). Ensuite il faut cliquer sur le bouton « Assistant », choisir Nodered dans la liste et valider :

L’assistant vous demande ensuite le port (vous pouvez laisser celui par défaut) et le mot de passe que vous voulez mettre pour la connexion à Nodered (je vous invite à ne pas laisser celui par défaut) :

Vous avez juste à valider, ça va prendre quelques minutes (voir plus en fonction de votre connexion internet). Ensuite vous allez avoir un lien « Accès » :

Attention Nodered est accessible que depuis votre réseau local, il faut donc que vous soyez « chez vous » pour accéder à Nodered.

Configuration de Nodered

Dernière étape : connecter Nodered au MQTT de Jeedom. Pour cela, il faut aller sur la gestion du plugin MQTT Manager et récupérer un certificat client ainsi que le nom d’utilisateur et le mot de passe :

Pour le certificat, cela doit vous donner un zip avec 3 fichiers dedans qui seront utilisés pour connecter Nodered. Pour le nom d’utilisateur et le mot de passe, vous devez avoir une chaîne du genre « jeedom:xxxxxxxxxx », le nom d’utilisateur est donc « jeedom » et le mot de passe tout ce qu’il y a après les « : » donc « xxxxxxxxxx » dans mon exemple (le mot de passe est très long, c’est normal).

Ensuite dans Nodered il vous faut ajouter un bloc « MQTT in » (depuis le menu de gauche) :

Double-cliquez dessus et configurez d’abord l’action et le topic comme sur l’image (si vous avez changé le root topic de jeedom sur le plugin MQTT Manager il faut évidemment adapter), puis cliquez sur le crayon au niveau du « Server » :

Dans la nouvelle fenêtre renseignez dans « server » l’ip local de votre Jeedom et dans port 8883 (si vous n’avez pas touché au port par défaut de MQTT), cochez « Connect automatically » ainsi que « Use TLS »:

Dans l’onglet sécurité indiquez les identifiants récupérés précédemment (les jeedom, xxxxxxxxx) :

Revenez sur l’onglet connexion, cliquez sur le petit crayon en face de « Use TLS » et ajoutez les fichiers du zip comme dans la capture :

Voilà, vous avez fini ! Il ne vous reste plus qu’à cliquer sur « Update », « Update » et « Done » pour fermer et enregistrer toutes les configurations. Cliquez ensuite sur le bouton « deploy » en haut à droite, vous devriez voir sous votre bloc « MQTT in » un « connected » :

Vous pouvez maintenant utiliser Nodered avec Jeedom. Vous pouvez recevoir toutes les informations de mise à jour de commande dans Nodered sur MQTT. Vous pouvez aussi exécuter n’importe quelle commande de Jeedom (avec des paramètres pour les commandes de type « curseur », « message »….) ou même changer la valeur de n’importe quelle commande.

Pour savoir comment faire, je vous invite à lire la documentation du plugin MQTT Manager

Conclusion

Voilà pour cette article qui vous explique comment connecter Jeedom à Nodered, j’espère que ça permettra à certains de faire encore plus avec leur domotique.

Vous aimerez aussi...