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.

HomeBridge

Op dezelfde manier kan HomeBridge gekoppeld worden. Voeg daarvoor het volgende palette toe:

  • node-red-contrib-homebridge-automation

Overige palletes die ook wel handig zijn om mee te beginnen:

  • node-red-contrib-actionflows
  • node-red-contrib-stoptimer
  • node-red-contrib-time-range-switch
  • node-red-contrib-timecheck
  • node-red-node-timeswitch

MQTT

Via Network zijn de MQTT nodes beschikbaar om de status van sensors uit te lezen die een topic in MQTT hebben:


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:

Voor HomeBridge dient de pin-code ingevoerd te worden. Gebruik hiervoor de ‘hb event‘ node en na een dubbelklik kan hier de pincode ingevoerd worden. Deze vind je in de HomeBridge configuratie, bijvoorbeeld ‘031-45-123‘. Hierna klik op ‘Done‘ en ‘Deploy‘ de flow. Na zo’n 30 seconden zal in deze node de HomeBridge devices ‘populated‘ worden.


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

TRIGGER -> CONDITIE -> ACTIE

Voorbeelden: