Home Integraciones y componentes personalizados en Home Assistant
Post
Cancel

Integraciones y componentes personalizados en Home Assistant

Instalamos componentes en Home Assistant desde diversos métodos.

En la anterior publicación hemos visto el proceso de instalación de Home Assistant en su versión OS (con interfaz gráfica ‘Lovelace’, supervisor y soporte para add-ons). Ahora veremos como instalar todo tipo de integraciones, desde Lovelace y desde YAML.

Home Assistant cuenta con un gran repertorio de integraciones oficiales y desarrolladas por la comunidad. Además, disponemos de HACS, un catálogo adicional de componentes desarrollados por terceros.

Aclaremos primero los ‘tipos’ de integraciones que existen:

  • Integraciones que se instalan desde la interfaz de Lovelace.
  • Integraciones que se instalan desde YAML.
  • Integraciones de terceros (via HACS por ejemplo).

Instalación desde la interfaz Lovelace

Ciertas integraciones están disponibles para su instalación/configuración desde la propia interfaz. No precisa de código pero algunas pueden requerir un ‘input’ por parte del usuario. Aunque no son muchas, las integraciones ‘inmediatas’ son cada vez más en HASS y siguen creciendo. El grueso de las integraciones están disponibles para instalarlas desde YAML (siguiente punto).

Para instalalarlas, vamos a Configuración > Integraciones y pulsamos en el icono de ‘más’ o añadir.

Configuración - Integraciones

Se despliega una lista de integraciones que solo requieren de unos pocos clicks para su configuración. En mi caso, a modo de ejemplo, voy a configurar una impresora HP que se encuentra conectada a la red local. Para ello pulso en ‘Protocolo de Impresión de Internet (IPP)’ y tan solo es necesario rellenar los siguientes campos:

Ejemplo de integración de IPP

Damos en ‘Enviar’ y deberiamos ver la integración en la lista. Adicionalmente, la integración tiene asociada una o más entidades. En el caso de la integración IPP, las entidades asociadas son: Estado de la impresora, % tinta negra y % tinta color. Esto, lógicamente, varía con la integración.

Entidades creadas para la impresora por defecto

El número de entidades y su funcionamiento (pueden ser botones, binarios, indicadores, etc.) dependerá de la integración. Cómo se puede ver, las integraciones listas para configurar desde la interfaz son las más sencillas por su inmediatez.

Instalación desde código YAML

Si entramos en Integraciones, tenemos disponible una enorme lista de integraciones soportadas por HASS pero configurables (en su mayoria) por código, es decir, requieren escribir código en YAML. Para ello, como se detalla en la anterior publicación, ya tenemos configurado el acceso a la carpeta ‘config’ de HASS desde nuestro ordenador.

Gracias a los desarrolladores y la comunidad de HASS, cada vez hay más integraciones listas para configurar desde la interfaz y no es necesario tocar NADA de código, no obstante algunas personas usan medios de instalación que obligan a usar YAML y/o prefieren la configuración por código.

Las integraciones se detallan, en principio, en el archivo configuration.yaml pero si queremos desplegar muchas integraciones nos quedaría un fichero demasiado largo. Por ello, hay que recordar algo que hicimos previamente:

1
2
3
4
5
6
7
8
9
10
11
# Configuración por defecto:
homeassistant:
  name: Home
  latitude: !secret home_latitude
  longitude: !secret home_longitude
  elevation: !secret elevation
  unit_system: metric
  temperature_unit: C
  time_zone: Europe/Madrid
  packages: !include_dir_named integrations    # <=== ESTO!
  customize: !include customize.yaml

En configuration.yaml ya hemos referenciado una carpeta (que hemos llamado integrations por ejemplo) de forma que las integraciones ahora pueden ser instaladas en una carpeta separada y mejoramos la legibilidad. En nuestra carpeta config (donde tenemos el fichero configuration.yaml) debemos crear, si no lo hemos hecho ya, una carpeta integrations.

Vamos a ver, como ejemplo, el proceso para instalar una integración como AirVisual.

Es clave leer la documentación de la integración ya que cada una tiene parámetros distintos, algunos obligatorios y otros opcionales.

Para empezar, situados en la carpeta integrations, creamos un fichero llamado airvisual.yaml. En el escribiremos:

1
2
3
4
5
airvisual:
    api_key: AIRVISUAL_API_KEY
    geographies:
        latitude: !secret my_latitude
        longitude: !secret my_longitude

La documentación, siempre la documentación: Si hemos leido a fondo, esta integración en concreto requiere de una API (que podemos obtener desde su página web) y una ubicación que le podemos pasar como latitud/longitud o mediante el nombre de nuestra ciudad/páis.

Cerramos el fichero y volvemos a HASS. (Ya hemos hecho esto antes). Vamos a Configuración > Controles del servidor > Verificar configuración > Reiniciar. Home Assistant se reiniciará y desde la lista de Integraciones deberiamos ver la nueva integración instalada y sus correspondientes entidades asociadas.

Controles del servidor Validación de la configuración Integración creada y entidades asociadas

Integraciones de terceros (HACS)

Hasta ahora hemos visto como instalar integraciones avaladas por Home Assistant. Sin embargo, HASS tiene detrás a toda una comunidad de desarrolladores independientes que programan sus propias integraciones y que pueden sernos útiles. Aunque podemos instalar estas integraciones simplemente desde sus respectivos repositorios de Github, existe un ‘gran repositorio’ personalizado especialmente para Home Assistant; esto es, HACS.

HACS actua como repositorio para todas esas integraciones de terceros que todavía no están listadas en la web de Home Assistant. No solo hace de ‘almacen’; también nos avisa cuando algún desarrollador actualiza sus integraciones para que estemos al día. A continuación explicamos como instalar HACS y, una vez instalado, como descargar integraciones desde él mismo.

¡Atención! ¡¡La forma de instalar HACS ha cambiado a fecha de junio de 2021!! ¡Extremadamente recomendable consultar la documentación oficial de HACS ya que ha cambiado la forma de instalar Y autenticarse con Github!

Desde junio de 2021, HACS se instala de forma directa desde la consola, dependiendo del tipo de instalación de Home Assistant que tengamos. En Home Assistant OS, desde la consola, solo tenemos que escribir «wget -q -O – https://install.hacs.xyz | bash –» para instalar HACS. Una vez instalado, todos los pasos siguientes son similares a los descritos en este tutorial. Si tu instalación no es Home Assistant OS sino otra, puedes consultarlas todas AQUÍ. ¿Cómo accedo a la consola? Es necesario instalar alguno de los add-ons oficiales disponibles en Supervisor > Tienda de complementos; por ejemplo este.

Primero que nada, vamos a la carpeta config de HASS, donde se encuentra el fichero configuration.yaml y creamos una carpeta llamada custom_components. Ahora nos vamos al repositorio de HACS donde descargaremos la última distribución:

Última versión de HACS

Descomprimimos el fichero y pegamos TODO el contenido dentro de config > custom_components > hacs de forma que nos queda:

Contenido de HACS

Cerramos todo y reiniciamos Home Assistant como hemos visto más arriba en esta misma publicación. En unos minutos estará listo otra vez.

Iremos entonces a Configuración > Integraciones > Configurar nueva integración (¿os suena?) y buscamos HACS. Como se puede ver, HACS se instala de forma parecida a una de las primeras integraciones que hemos visto antes con la diferencia de que hemos tenido que descargar su ‘codigo’ de su correspondiente repositorio.

Hacemos click en HACS desde la lista de integraciones y en unos segundos se instalará pero nos queda un paso adicional. Nos va a pedir un token de acceso a Github (toda la documentación en inglés está en su web). Para obtener este token vamos aquí y damos donde pone Generar nuevo token > Le damos un nombre (por ej: HACS) y NO es necesario que le demos ningún permiso adicional; tan solo hacemos click en Generar token.

Generar tokens en Github

Copiamos el token (OJO, que solo sale una vez) y lo pegamos en el input de Home Assistant que nos lo está pidiento. Damos en Enviar y en unos segundos HACS estará configurado. HACS ahora aparece en la barra lateral de HASS y también en el apartado de Integraciones desde el cual también podemos configurar algunos detalles:

Configuración de HACS

Vale. Ya tengo HACS instalado. ¿Ahora qué? Ahora vamos a ver que nos ofrece. Los repositorios que se incluyen en HACS se dividen en:

  • Integraciones (bastante auto-explicativo).
  • Frontend (temas personalizados y ‘tarjetas’: cosas que veremos en otra publicación).
  • Automatizaciones.

Por ahora, solo nos interesa saber que la pestaña de Integraciones nos muestra una lista de Integraciones de terceros que podemos instalar con un solo click y que nos avisa, además, cuando existan actualizaciones de las mismas. ¿Como se configuran? La respuesta es similar a las integraciones que configuramos antes via YAML: Depende. Depende de cada integración los parámetros que requiera están especificados en su correspondiente documentación, algunas integraciones pueden configurarse desde la propia interfaz y otras requieren de algo de código, según su desarrollador.

This post is licensed under CC BY 4.0 by the author.

Instalación, configuración y uso de Pi-hole

Instalación y configuración básica de Home Assistant