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”
Pulsamos en la pestaña “install” y filtramos por “home” y buscamos el módulo “node-red-contrib-home-assistant-websocket”
Le damos a “Install”
Nos muestra un popup diciendo que será necesario reiniciar NodeRed
Pulsamos en “Install”
Al finalizar la instalación se muestra una ventana con los nodos añadidos a la paleta de Node-red.
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:
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”
Pulsamos en “Crear Token”
Introducimos un nombre para el token
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.
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.
Si ahora pulsamos en “Deploy” para guardar los cambios podremos ver en el debug como se imprimen todos los eventos que HA va lanzando.
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”
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.
También podemos cambiar el nombre, y pulsamos en “Done”
Si hacemos deploy, podremos ver en el debug como cada vez que activamos el pulsador nos muestra el estado.
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
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.