Home Assistant : Découvrir Node-RED

cover-node-red-home-assistant

Node-RED est un outil de programmation pour créer des automatisations visuellement. Il fournit un éditeur basé sur un navigateur dans lequel vous pouvez créer des flows, c’est-à-dire des automatisations à l’aide d’un large éventail de nœuds. Node-RED est le compagnon idéal de Home Assistant. Ainsi, au lieu d’écrire des automatisations en YAML, vous pouvez simplement connecter des nœuds pour créer un flow.

Ce guide vous montrera comment configurer et intégrer Node-RED avec Home Assistant. Nous allons examiner l’éditeur basé sur le navigateur, passer en revue certains des nœuds disponibles, et nous allons également créer une automatisation afin que vous puissiez commencer avec Node-RED.

Installer l’add-on Node-RED

La première chose à faire est d’installer l’add-on Node-Red, il suffit d’ouvrir votre interface Home Assistant puis accédez à Supervisor > Add-on Store , sélectionnez Node-RED , puis cliquez sur Install.

add-on_home-assistant_node-red

Une fois l’installation terminée, allez dans Config et sous credential_secret configurez un mot de passe qui sera utilisé pour le cryptage. L’éditeur Node-RED a également un thème sombre disponible. Pour l’activer, vous pouvez modifier la dark_modevaleur de falseà true.

configuration-node-red-home-assistant

Cliquez sur Enregistrer et avant de démarrer l’add-on, basculez le bouton sous la barre latérale. Ainsi, une option pour ouvrir Node-RED devient disponible depuis le menu de Home Assistant. Après cela, cliquez sur Démarrer et laissez-lui quelques minutes démarrer.

Une fois Node-RED opérationnel, vous pouvez actualiser Home Assistant, et l’option Node-RED sera désormais disponible dans la barre latérale.

Si vous avez configuré l’accès à distance avec Home Assistant, il n’est pas nécessaire de configurer une règle de transfert de port pour Node-RED. Le module complémentaire Node-RED prend en charge Ingress. Cela signifie que vous pouvez accéder à Node-RED en toute sécurité depuis Home Assistant où que vous soyez.

Prise en main de Node-red

L’éditeur est basé sur un navigateur qui est séparé en plusieurs sections. En haut, vous avez l’en-tête , qui contient le bouton Déployer et le menu. Sur la gauche, vous avez la Palette , contenant tous les nœuds disponibles que vous avez installés. Au milieu, vous avez l’espace de travail dans lequel vous pouvez faire glisser et déposer des nœuds et les relier pour créer un flux. Sur la droite, vous avez la barre latérale qui contient des panneaux qui fournissent des outils utiles. Par exemple, le panneau d’informations qui affiche des détails sur un nœud sélectionné. Il y a aussi le panneau Debug qui affiche les messages transmis à un nœud de débogage connecté à un flux. Nous examinerons le nœud de débogage sous peu et passerons en revue les avantages de son utilisation lors de la création de flux.

interface-node-red-home-assistant

Les nœuds Home Assistant

Vous pouvez utiliser au total  12 nœuds Home Assistant . L’add-on Node-RED dans Home Assistant est déjà livré avec les nœuds préinstallés. Vous n’avez donc pas besoin de les installer manuellement. Aucune autre configuration n’est requise pour que Node-RED communique avec Home Assistant.

Pour commencer, nous allons seulement examiner les nœuds Événements : state, Call service et Current state :

  • state vérifie un changement d’état sur une entité spécifique, puis il génère ce changement pour déclencher une commande particulière dans un flow.
  • Call service est utilisé pour envoyer une demande à Home Assistant pour déclencher un service. Par exemple, pour activer et désactiver une lumière.
  • Current state obtient le dernier état connu d’une entité et peut être utilisé pour déclencher différentes commandes en fonction de cet état. Un peu comme utiliser une instruction « IF » (Si).

Node-HA-homeassistant-nodered

Créer une automatisation avec Node-RED

À titre d’exemple, nous allons créer une simple automatisation qui allumera et éteindra une lampe de bureau en fonction de l’état d’un ordinateur. Donc, si l’ordinateur est allumé, il allume la lumière, et s’il est éteint, il éteindra la lumière.

Nœud : Event state

Pour écouter une modification de l’état d’une entité, vous pouvez utiliser le nœud Event state. Déposez le nœud dans l’espace de travail, puis double-cliquez dessus pour ouvrir le panneau de configuration. Configurez un nom pour le nœud. Le serveur est déjà configuré, il est connecté à Home Assistant, il n’est donc pas nécessaire de le configurer. Ensuite, entrez l’ID de l’entité pour vérifier un changement d’état. Dans notre cas, ce serait le switch. Pour enregistrer les modifications, cliquez sur Terminé.

Event state node red

Nœud : Switch

Ensuite, utilisez un nœud Switch. Ce qui permet de paramétrer 2 sorties : Un pour quand l’ordinateur est allumé et l’autre pour quand l’ordinateur est éteint. Déposez le nœud Switch dans l’espace de travail et connectez le au nœud Event state. Ouvrez le panneau de configuration du switch puis configurez un nom et définissez 2 règles, une pour on et l’autre pour off. Cliquez sur Terminé pour enregistrer. Le switch a maintenant 2 sorties. Si vous survolez chaque sortie, il vous montrera une étiquette avec sa valeur.

Switch node red

Nœud : Call Service

Pour envoyer la commande à Home Assistant d’allumer ou d’éteindre la lumière du bureau, utilisez le nœud Call Service. Glissez-le dans l’espace de travail et connectez la sortie on du switch au nœud Call Service. Configurez un nom pour le nœud. Pour le domaine, définissez-le sur light, le service sur turn_on, puis entrez l’ID de l’entité de la lampe. Si vous souhaitez allumer une lumière avec une luminosité ou une couleur spécifique, vous pouvez configurer les informations json dans le champ Données. Le champ Données peut être ouvert en tant qu’éditeur de texte en cliquant sur les 3 points sur le côté droit. Cela permet de taper les informations json de manière plus confortable.

Maintenant, faites de même pour la sortie off. Pour faciliter les choses, vous pouvez copier le nœud call service pour allumer la lumière en appuyant sur Ctrl+C, puis collez-le ci-dessous avec Ctrl+V. Connectez ensuite la sortie off du switch au nœud call service. Après cela, ouvrez le nœud et modifier le nom et changer le service de turn_on à turn_off.

Call service node red

Nœud : Debug

Avant de déployer le flux, connectez deux nœuds de débogage à la fin de votre flux. Ensuite, à l’aide du panneau de débogage, vous pouvez voir le message envoyé. Cliquez sur Déployer. Dans la barre latérale, passez au panneau de débogage et vous avez remarqué que lorsque l’automatisation est déclenchée, il affichera le message qui a été envoyé via le flux, y compris la date, l’heure et l’ID du nœud. Vous pouvez cliquer sur l’ID du nœud et le nœud de débogage qui a reçu le message sera entouré d’un contour en pointillé.

Debug node red

Maintenant, disons que vous voulez que l’automatisation allume la lumière de votre bureau lorsque la nuit tombe. Nous allons vérifier l’état de la lumière avant d’envoyer le message pour allumer la lumière, vous pouvez le faire en utilisant le nœud Time Range et le nœud Current State de Home Assistant.

Nœud : Time Range

Entre le switch et le nœud call service pour allumer la lumière, faites glisser un nœud de type Time Range et collez-le sur le fil pour l’insérer dans le flux. Ouvrez le nœud et donnez lui un nom. La latitude et la longitude sont configurées automatiquement. Cependant, vous pouvez toujours le modifier manuellement si vous en avez besoin. Après cela, définissez l’ heure de début sur sunsetet l’heure de fin sur sunrise.

Nœud : Current State

Faites glisser un nœud Current State  et déposez-le entre le nœud Time Range et le nœud Call Service. Ouvrez le nœud, définissez-lui un nom et entrez l’ID d’entité de la lumière. Ensuite, pour l’état If (si) , remplacez la condition par is not et définissez la valeur sur on. Cela créerait 2 sorties sur le nœud. Le premier transmettra le message d’allumer la lumière si l’état actuel de la lumière est éteinte, et le second s’arrêterait simplement si la lumière est déjà allumée.

Maintenant, ajoutez un autre nœud Current State ou copiez celui ci-dessus et déposez-le entre le switch et le nœud Call Service pour éteindre la lumière. Ouvrez le nœud, modifiez son nom et définissez l’état If (si) sur off. Après cela, cliquez sur Déployer pour enregistrer les modifications.

Node-Red : Votre premier flow

Si vous regardez l’ensemble du flow, vous pouvez facilement comprendre ce que fait l’automatisation. Lorsque l’ordinateur est allumé, le message on est transmis au switch. Si c’est la nuit, il passe le message pour allumer la lumière du bureau. Sinon, lorsque l’ordinateur est éteint, le message off est transmis au switch. Ensuite, il vérifie si la lumière est allumée et si c’est le cas, il envoie le message pour éteindre la lumière. Sinon, ça s’arrête.

Current state node red

Le tutoriel touche à sa fin, j’espère que ce petit exemple vous a aidé à mieux comprendre le fonctionnement de Node-RED et ses principaux noeuds. En cas de soucis ou tout simplement pour partager vos différentes automatisations, n’hésitez par à rejoindre la communauté sur le groupe facebook Home Assistant Entraide Francophone !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Suggestions