Après avoir suivi les trois premiers tutoriels, nous voici donc arrivés à la dernière phase : comment utiliser Node-Red.
Je pars du principe que tout c’est bien déroulé, vous avez installé et configuré correctement MQTT Hub et MQTT Client sur Homey, et que Node-Red et MQTT Client, sont installés sur le Raspberry ou le Synology.
Se connecter à Node-Red
Pour l’utiliser, il faut bien s’y connecter. Node-Red installé sur le Raspberry, pour y accéder, rien de bien compliqué, avec votre Mac/PC, ouvrez votre navigateur préféré, et connectez-vous à l’adresse du Raspberry, pour moi c’est :
192.168.1.7:1880
Le port (1880) devrait être le même, remplacez juste l’IP par la vôtre.
Voici l’écran principal de Node-Red :
Sur la partie gauche, vous avec les « Nodes », au centre, la partie édition, et à droite, des infos diverses. Les « Nodes » sont le cœur de Node-Red, en les disposant dans l’éditeur et en les reliant entre eux, vous allez composer votre programme, un peu comme les flows de Homey.
D’ailleurs dans Node-Red, ces petits bouts de code s’appellent aussi des « Flows ».
Le bouton « Déploy » sert à lancer le Dashboard.
Avant de commencer, il faut installer le module « Dashboard », qui n’est pas installé par défaut dans Node-Red.
Installation du module Dashboard
Cliquez sur l’icône du menu en haut à gauche, puis sélectionnez « Manage Palette ».
Ensuite, cliquez sur l’onglet « Install », tapez « node-red-dashboard » dans le champ de recherche, puis sur « Install », pour démarrer l’installation.
Une fois l’installation terminée, dans la partie « Nodes »,vous avez tout un tas de nouveaux outils qui ont été installés à la rubrique Dashboard (switch, button…), ce sont principalement eux qui vont nous servir à créer notre interface.
Création du premier flow
Pour un premier essai, nous allons créer un premier flow qui affiche toutes les requêtes de nos objets connectés sur Homey.
Placez un premier node « MQTT In » dans l’éditeur, puis un autre « Debug », reliez ensuite les deux entre eux avec la souris, comme sur la capture d’écran.
Double cliquez sur le Node « MQTT IN », des options s’affichent.
Dans « Topic », mettez « # », c’est un joker qui veut dire qu’il faut lire « tous les objets ».
Dans le champ « Server », cliquez sur le bouton de droite (crayons) pour voir cet écran :
Donnez un nom, entrez l’adresse IP de votre Raspberry et le port 1883 (pas le 1880), 1883 c’est le port pour MQTT Mosquitto.
Si vous avez défini un mot de passe pour Mosquitto, ce qui est recommandé, entrez votre user/mot_de_passe dans l’onglet « Security ». C’est terminé, vous pouvez tout valider.
En haut à droite, sous le bouton « Deploy », vous avez une icône « Debug », cliquez dessus pour faire apparaitre le bon onglet.
Cliquez sur « Deploy » pour lancer Node-Red, vous devez voir défiler toute la liste de vos objets connectés dans la partie « Debug ».
Bravo, vous venez de créer votre premier flow avec Node-Red !
Trouver un objet déjà connecté à Homey
Vous êtes prêts ? Nous allons créer notre premier flow qui commande vraiment un de nos objets connectés ! J’ai choisi une lampe pour cet exemple, la mienne est reliée à une prise Osram, mais vous pouvez utiliser n’importe quel autre objet de votre installation.
Comment trouver facilement un objet connecté à Homey ainsi que ses paramètres ?
Il faut utiliser MQTT Explorer, dans cette capture d’écran, vous pour voir que j’ai cherché la lampe du bureau en utilisant le champ de recherche, c’est pour éviter d’avoir trop d’informations à l’écran.
Vous pouvez voir que la lampe à une propriété « ON/OFF », en cliquant dessus, vous voyez apparaitre le « topic » (l’adresse si vous voulez) de cet objet. C’est très important, c’est cette « adresse » qu’il faudra fournir à chaque fois à un Node. Dans l’exemple c’est :
homie/homey-topic/lampebureau/onoff
IMPORTANT, cette adresse ne fait que « lire », l’état de l’objet, plus tard, pour changer sa valeur, il faudra rajouter « /set » à la fin pour envoyer une commande du style « allumer/éteindre » :
homie/homey-topic/lampebureau/onoff/set
Maintenant que vous avez identifié l’objet voulu, nous allons créer un flow pour le commander.
Créer un premier Dashboard simple.
Avant d’ajouter notre lampe, il va nous falloir créer une page qui va afficher sur le navigateur. Le minimum pour Node-Red, c’est de créer un « Layout », une page de base, et un « Group », une zone dans laquelle vont s’afficher nos objets.
Cliquez sur l’icône « Dashboard » en haut à droite.
Dans l’onglet « Layout », cliquez sur « + Tabs », cela va ajouter une page (un premier écran si vous préférez).
Cliquez ensuite sur « + Groups » pour ajouter un groupe, puis nommez-le. Dans l’exemple c’est « Eclairage », pour un groupe qui pourrait contenir des lampes par exemple.
Pour voir, et commander quelque chose, il va falloir ajouter un interrupteur ou un bouton.
Ajouter une lampe au Dashboard
Ajoutez un Node « MQTT In » sur l’éditeur, et double-cliquez dessus pour le paramétrer :
Dans « Topic », mettez l’adresse de votre objet, et donnez un nom facile à retenir. N’oubliez pas de sélectionner votre serveur si ce n’est pas déjà le cas.
Ajoutez ensuite un bouton « switch », c’est ce Node qui va s’afficher sur l’écran.
Rentrez les paramètres comme sur la capture d’écran, n’oubliez pas de lui indiquer « où » s’afficher (dans quel groupe), pour moi c’est dans le groupe éclairage.
IMPORTANT : Dans « on.payload » et « off.payload », j’ai sélectionné une valeur type « string », mais c’est valable pour ma config de lampe, pour vous, vous devriez peut être avoir à choisir le type « boolean » pour que ça fonctionne. En gros, on va envoyer « true » pour allumer la lampe, et « false » pour l’éteindre.
N’oubliez pas de RAJOUTER le « /set » à la fin dans la partie « topic », rappelez-vous que le « set » sert à définir la valeur, on ne veut pas seulement le lire la valeur, on veut la définir en ON ou OFF.
En dernier, ajoutez un node MQTT Out, qui va servir à envoyer la commande ON/OFF du bouton à la lampe.
Entrez les paramètres comme sur la capture d’écran, mais n’oubliez pas, là encore, de RAJOUTER le « /set » à la fin dans le champ topic, rappelez-vous que le « set » sert à définir la valeur, on ne veut pas seulement le lire la valeur, on veut la définir en ON ou OFF.
Cliquez sur « Deploy ».
Pour voir (enfin) la page vous devez aller sur la page du Dashboard avec votre navigateur, tout à droite dans l’onglet « Dashboard », il y a une petite icône « lien », en cliquant dessus vous allez ouvrir une fenêtre avec votre Dashboard.
Voilà votre interface!
En cliquant sur le switch, vous devriez allumer/éteindre la lampe !
Bravo, ce tutoriel est enfin terminé.
Même si on ne fait qu’allumer ou éteindre une lampe, cela fait pas mal de connaissances à acquérir en une fois. J’espère que tout s’est bien passé pour vous, si vous avez des questions ou des problèmes, n’hésitez pas.