6 – Premières briques Node Red

Node Red est un logiciel de programmation graphique pas simple au début, je vous l’accorde, mais quand vous rentrez dans sa philosophie, cela devient un jeu d’enfant !!!

Le but d’une programmation domotique est de réagir a un événement et de pouvoir lire des états. Par exemple, si votre lampe est allumé depuis longtemps, il n’y aura pas d’évènement avant qu’elle s’éteigne, mais selon certain module de lumière (z-wave par exemple), on pourra lire son état et donc savoir si elle est allumé ou éteinte ! Si l’on prend le cas d’un thermomètre, il y aura un évènement à chaque changement de température, ou plus exactement a chaque fois que le module de température décide de nous envoyer le changement de température …

Dans l’interface HA …

Donc il faut partir sur un évènement … Pour cela, on va choisir un interrupteur marche/arrêt pour commander une prises électriques de la carte 8 relais pour démarrer une borne Wifi . L’évènement sera donc , notre doigt sur l’interrupteur, qu’il soit virtuel ou bien réel.
Pour créer le bouton M/A (virtuel), il faut aller dans le menu de AH, configuration, puis entrées. Cliquez sur le +, choisissez interrupteur, donnez lui un nom :Wifi par exemple et valider. Nous avons donc un interrupteur.

Dans l’interface Node Red …

Allons maintenant dans Node Red. Dans la partie gauche, vous avez toutes les briques (que l’on appelle NODE) que vous pouvez utiliser. Nous allons prendre la brique event : state (2e par défaut).

Vous la déplacer sur le plan de travail appelé FLOW. Vous pouvez renommer le FLOW en double cliquant sur son nom (au niveau des onglets). Maintenant double cliquez sur la NODE que vous avez déposé, une fenêtre s’ouvre. Vous allez renseigner le champ Name en écrivant Bouton Wifi puis le champ Entity ID en cherchant input_boolean.wifi dans votre liste, car ce bouton Wifi, c’est l’évènement déclencheur. Nous avons décidé d’obtenir la position vrai ou faux du bouton. (marche ou arrêt, true ou false), donc sur la ligne If State, modifier le menu déroulant où il est noté A/Z et sélectionnez boolean, le champ se rempli alors avec la valeur TRUE. Choisissez ensuite le type d’état que vous souhaitez en sortie. Sur la ligne State Type choisissez Boolean. Vous pouvez ainsi valider le NODE par DONE en haut de cette fenêtre.

Vous avez remarquer que votre NODE a maintenant deux sorties. Vous pouvez positionner votre souris sur les différentes sorties, pour lire l’information. Celle du haut est TRUE et celle du bas est FALSE..


Pour pouvoir lire l’état de votre bouton WIFI au moment de l’action, recherchez dans la liste des NODE (les briques a gauche) celle qui s’appelle DEBUG et mettez là a droite de votre première NODE. Vous reliez ensuite la sortie TRUE de votre NODE WIFI a l’entre de la NODE DEBUG.

Quand c’est OK pour vous, vous déployez votre action en cliquant sur le GROS bouton en haut a droite : DEPLOY ! Juste dessous ce bouton, vous sélectionnez l’onglet DEBUG qui vous permettra de lire les informations de DEBUG.

Maintenant, cliquer plusieurs fois tranquillement, sur le bouton Wifi, via les aperçu par exemple. Que remarquez vous ? Dans la liste début vous n’avez que les action BOUTON MARCHE … (valeur TRUE). Maintenant, si vous changer de sortie sur la NODE Wifi, vous verrez que vous n’aurez que les information FALSE … Intéressant, non ? Donc pour résumer, si vous connectez de nouvelles NODE après la NODE Wifi sur TRUE elles se déclencherons uniquement au moment où l’interrupteur PASSE a TRUE !

Maintenant vous allons commander la prise relais No8, dans mon cas, correspondant au Wifi. Ajouter la NODE CALL SERVICE et brancher la derrière la NODE WIFI sur la prise TRUE. Double cliquez sur la nouvelle NODE et remplissez les champs. Le premier champ NAME, le nom, mettez WIFI ON. Pour le DOMAIN, choisissez SCRIPT, car ce sont là que l’on a mis les commandes de relais. Pour le champ SERVICE, choisissez le script ON pour la prise 8. et dessous pour l’ENTITY ID, choisissez le nom exacte de la prise : script.prise_8_on et valider par DONE.

Sélectionnez la NODE WIFI ON et faite un copier-coller. Une 3e NODE vient d’arriver. Double cliquez dessus pour l’éditer et changer TOUT ce qui est ON par OFF. Vous reliez ensuite l’entrée de cette NODE WIFI OFF à la sortie FALSE de votre première NODE.

Quand c’est OK, valider par DEPLOY, attendez que la première NODE soit OK et amusez vous avez le bouton WIFI …. Vous venez de faire votre premier programme avec NODE RED !

A vous … Un exercice facile ci-dessous …

Comme vous voyez sur l’image ci-dessus, il y a une NODE de plus de brancher sur l’entrée Wifi OFF (actuellement en grisée, car désactivé). Vous pouvez rajouter une NODE INJECT sur l’entrée de la NODE WIFI OFF pour planifier une heure d’arrêt du WIFI, et une autre NODE INJECT sur le WIFI ON pour démarrer le Wifi à un heure précise. Dans ces NODE, vous avez juste a modifier msg.payload = TRUE ainsi que le menu déroulant REPEAT et choisir AT A SPECIFIC TIME … en précisant l’heure et le jour de la semaine !!!

Bonne programmation avec Node Red !!!