Node-RED

Node-RED is een automatiserings-tool waarmee op een visuele manier flowcharts gemaakt kunnen worden. Dit wordt gedaan door zogenaamde ‘nodes‘ met voorwaardes aan elkaar te koppelen om tot een bepaald resultaat te komen.

Node_RED kan lokaal geïnstalleerd worden op een Mac, PC, Raspberry Pi of Arduino device maar kan ook op diverse cloud-diensten in een docker-container draaien. De bediening wordt gedaan met een browser.

De gebruikersinterface wordt bereikt met een browser en de URL is het IP adres (of de naam) van host waar node-red op draait gevolgd door poort 1880, bijvoorbeeld http://node-red.local:1880

Home-Assistant

Via de ‘Supervisor‘ kan Node-Red vanuit de Add-on Store toegevoegd worden aan Home Assistant.

De configuration vraagt om een ‘credential_secret‘ en deze haal je als token uit de ‘Toegangtokens met lange levensduur‘, bij voorkeur van een gebruiker die geen administrator is, bv. een specifieke gebruiker genaamd ‘nodered’.

Mocht Node-Red op een andere machine staan, dan kan Home Assistant ook gekoppeld worden aan deze Node-Red door een zgn. ‘palette‘ toe te voegen. Dit kan gedaan worden met het ‘hamburger-icon’ rechtsboven en te kiezen voor ‘Manage palette

Kies voor Install en zoek op de term ‘home-assistant-web‘. Voeg dan het volgende palette toe:

  • node-red-contrib-home-assistant-websocket

Hierna verschijnt links een sectie Home-Assistant met nodes die gebruikt kunnen worden in een flow.

Indien Node-RED niet als Add-on in Home Assistant is geïnstalleerd en je wilt toch dat Node-RED in het menu van HA komt te staan, voeg dan de volgende code toe aan configuration.yaml:

panel_iframe:
   node_red:
     title: Node-RED
     icon: mdi:gate-nand
     url: http://IP.AD.DR.ES:1880
     require_admin: true

Waaarbij ‘require_admin‘ gebruikt wordt om de menu-optie alleen te tonen aan Administrators.


Node-RED

Deze bestaat uit drie gedeeltes:

  • links de ‘nodes
  • in het midden het werkblad voor ‘flows
  • rechts de info/debug/help

Een flow wordt gemaakt door nodes vanuit de linkerkant te slepen naar het midden, bijvoorbeeld een time insert en een debug output:

Deze kunnen aan elkaar gekoppeld worden door de connectors met de muis te verbinden:

Rechtsboven vind je de knop ‘Deploy‘ om deze flow te starten:

En in het rechter gedeelte is ook een ‘debug’ output te vinden

En daarin wordt de debug output getoond van de debug-node(s).

Als je nu na een deploy op het kleine grijze vlakje op de inject-node klikt dan zal een timestamp naar de debug-node gestuurd worden (dit bericht heet de msg.payload) en dat zie je als resultaat in de debug-output.


Koppelen

Op het moment dat je Home Assistant nodes wilt gaan gebruiken dient een HA server aangegeven te worden. Dit doe je door een dubbel-klik op een HA-node, bijvoorbeeld ‘current_state‘ en dan Edit de HA server:

of, indien Node-RED niet als Add-on is gekoppeld:

Op dezelfde manier dienen MQTT-nodes aan de MQTT-Broker gekoppeld te worden, bijvoorbeeld dubbelklik op de ‘mqtt_in‘ node:


Onthoudt dat de volgorde, net zoals in de Automatisering van HA, alsvolgt is:

TRIGGER -> CONDITIE -> ACTIE

Voorbeelden: