Integración Home Assitant con Node-Red

En esta guía vamos a ver cómo acceder desde NodeRed a las entidades de Home Assistant

Integrar HA en Node-Red

Después de instalar Node-Red en un contenedor, es interesante poder acceder a nuestros dispositivos desde Node-Red para poder realizar nuestras automatizaciones, para ello necesitamos integrar Home Assistant con Node-Red y el proceso que explicamos a continuación es muy sencillo:

El primer paso es abrir el menú de la derecha y pulsamos en “Manage palette”

Node-Red Manage Pallette
Node-Red Manage Pallette

Pulsamos en la pestaña “install” y filtramos por “home” y buscamos el módulo “node-red-contrib-home-assistant-websocket”

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

Le damos a “Install”

Nos muestra un popup diciendo que será necesario reiniciar NodeRed

node-red-contrib-home-assistant-websocket confirm
node-red-contrib-home-assistant-websocket confirm

Pulsamos en “Install”

Al finalizar la instalación se muestra una ventana con los nodos añadidos a la paleta de Node-red.

Node-Red Nodes added to palette
Node-Red Nodes added to palette

Ahora en el mismo módulo que hemos instalado pone “installed”, cerramos el panel y reiniciamos el contenedor de Node-Red para asegurarnos de que se han instalado y cargado correctamente todas las dependencias requeridas por el módulo.

Nodos de Home Assistant

Si buscamos en la paleta, podemos observar que han aparecido nuevos nodos de Home Assistant:

Node-Red, nodos home assistant
Node-Red, nodos home assistant

Crear token de acceso

Node-Red necesito autorización para poder acceder a la información de HA, para ello hay que crear un token.

Dentro de Home Assistant en el menú de la izquierda, abajo del todo pulsamos en nuestro perfil usuario y bajamos hasta la sección “Tokens de acceso de larga duración”

HA Token de acceso de larga duración
HA Token de acceso de larga duración

Pulsamos en “Crear Token”

Introducimos un nombre para el token

HA - Nombre token de larga duracion
HA – Nombre token de larga duracion

Y crea el token, cópialo bien porque al cerrar no podrás volver a verlo.

Capturando eventos de HA

Añadimos al lienzo el nodo “Events all” y el “Debug” y los unimos.

Node-Red, nodo events all
Node-Red, nodo events all

Hacemos doble click en el nodo “Events all” y añadimos un nuevo servidor, para ello introducimos la url de nuestro home assistant y el token que hemos creado anteriormente.

Node-Red, configuración token Home Assistant
Node-Red, configuración token Home Assistant

Si ahora pulsamos en “Deploy” para guardar los cambios podremos ver en el debug como se imprimen todos los eventos que HA va lanzando.

Node-Red, events all debug
Node-Red, events all debug

Capturar un evento específico

Capturar todos los eventos no tiene mucho sentido más que el de ver como se configura el token de acceso y comprobar que funciona.

Vamos a ver cómo capturar un evento específico de Home Assistant, en el ejemplo siguiente voy a capturar el evento de un interruptor zigbee.

Lo primero es eliminar del lienzo el nodo “Events all” que hemos utilizado en el ejemplo anterior.

Añadimos el nodo “Events state” y lo conectamos al nodo “Debug”

Node-Red, nodo events state
Node-Red, nodo events state

Hacemos doble click en el nodo “Events state” para configurarlo, en “Entity Id” empezamos a escribir la entidad, en este caso es un switch y el autocompletado nos muestra las opciones disponibles que coinciden con lo que vamos escribiendo, en mi caso selecciono el switch de la luz del techo.

Node-Red, switch luz techo
Node-Red, switch luz techo

También podemos cambiar el nombre, y pulsamos en “Done”

Node-Red, events state luz techo
Node-Red, events state luz techo

Si hacemos deploy, podremos ver en el debug como cada vez que activamos el pulsador nos muestra el estado.

Node-Red, events state debug
Node-Red, events state debug

2 comentarios en «Integración Home Assitant con Node-Red»

  1. He instalado los nodos de ha websockets y solo me aparecen siete. Antes tenía todos. Cambié a la ver 3 de nodered y se ha liado un poco. No veo manera de remover todos esos nodos y volver a empezar. He quitado a mis flujos todos esos nodos ha temporalmente y no me sale la posibilidad de remover. Alguna idea por favor?
    Alfredo

    Responder
    • Hola Alfredo, ¿Que versión de Node Red tienes instalada?, si has instalado node red siguiendo las guias de esta web prueba a actualizar Node Red, para ello en Portainer edita el Stack de Node Red y haz click en “Update the stack”, marca la opción “Re-pull image and redeploy” y haz click en Update, espera que descargue y se instale la nueva imagen.

      Responder

Deja un comentario