Introducción
Muchas de las integraciones de Home Assistant se pueden añadir y configurar sin necesidad de editar archivos, pero como habrás comprobado en la documentación, vídeos y tutoriales, a menudo se requieren unas pocas lineas de código para realizar ciertas configuraciones.
Por eso, no está de más tener y conocer alguna herramienta que permita modificar los archivos de configuración de Home Assistant. Una de las más sencillas y poderosas es Studio Code Server.
Instalación
Su instalación es muy sencilla. Home Assistant dispone de complementos, que son aplicaciones de terceros que proporcionan funcionalidad extra. Los complementos se ejecutan directamente junto a Home Assistant. Funcionan como las aplicaciones que instalas en tu teléfono.
Pero no los confundas con las integraciones, que sirven para conectar Home Assistant con otras aplicaciones, dispositivos o servicios.
Recuerda que los complementos solo son compatibles con los tipos de instalación Home Assistant Operating System y Home Assistant Supervised.
- Desde Ajustes ➡ Complementos, entra en la Tienda de Complementos y busca Studio Code Server.
- Haz click en Instalar y espera unos segundos.
- Una vez instalado, habilita las opciones “Activar al Inicio” y “Mostrar en el Panel Lateral”. Esto hará que se inicie automáticamente con Home Assistant y que tengamos un acceso directo en el Panel de la izquierda.
- Ahora haz click en Iniciar.
Usando Studio Code Server
Una vez iniciado, puedes abrir la aplicación desde el Panel Lateral con el botón Studio Code Server.
Al ser la primera vez, nos preguntará si la carpeta config
, que es la carpeta con las configuraciones de Home Assistant es segura. Le decimos que sí.
Home Assistant suele trabajar con dos lenguajes de programación YAML y Jinja 2. Principalmente YAML se usa para realizar las configuraciones de integraciones, scripts o automatizaciones y Jinja 2 para la definición de plantillas que se usarán en ciertas partes de estas configuraciones. No son lenguajes complicados, pero sí que conviene tener unas nociones básicas de cómo funcionan.
Desde la ventana de Studio Code Server veremos en la sección explorador el contenido de la carpeta config
, el listado de archivos de configuración de Home Assistant.
Por defecto, Home Assistant guarda las configuraciones de las integraciones realizadas por interfaz en una carpeta oculta dentro de config
llamada .storage
a la que no podemos tener acceso desde este editor, pero sí que guarda las configuraciones de automatizaciones, escenas o scripts dentro de los archivos YAML con cada nombre. Por ejemplo automations.yaml
para las automatizaciones. Los cambios realizados aquí se aplicarán a la configuración de las automatizaciones en el editor visual.
Integraciones por código
La mayoría de las integraciones están migrándose a una configuración desde el entorno web, sin necesidad de configuración por código YAML. Pero, vamos a realizar una integración para que veas más o menos cómo funciona el editor y aprendas a hacerlas en el caso de ser necesario.
Las integraciones por código se realizan desde el archivo configuration.yaml
. Ábrelo.
YAML es un lenguaje de marcado con una notación basada en la sangría. Esto quiere decir que son muy importantes los espacios que dejamos a la izquierda en cada línea, ya que define el bloque al que nos referimos. Así por ejemplo, en el archivo configuration.yaml
que viene por defecto con Home Assistant se definen los bloques default_config
, frontend
, automation
, script
y scene
. Dentro de frontend
, se define el bloque themes
.
Si por ejemplo queremos definir un ayudante de tipo alternar, o input_boolean en inglés. Desde la documentación de Home Assistant nos indica que tenemos que definir y configurar el siguiente bloque de código:
|
|
Este código tiene que ir en un bloque propio, por tanto y respetando los espacios ya definidos dentro del bloque para cada una de las propiedades en la documentación, lo pondremos pegado a la izquierda en nuestro configuration.yaml
.
|
|
Las líneas en blanco son ignoradas por YAML, así que podemos dejar el espacio que queramos entre bloques.
Si ahora queremos añadir otro ayudante alternar, y como en YAML no se puede repetir el mismo texto a la misma altura, es decir, en la misma sangría, podemos añadir otro ayudante repitiendo solo la parte del bloque donde se define el propio ayudante y no el tipo, es decir, no es necesario repetir la palabra input_boolean.
|
|
Una vez terminado, y como se guardan los cambios automáticamente, solo tendremos que recargar Home Assistant para que se apliquen los cambios.
Desde el Panel Lateral hacemos click en Ajustes ➡ Sistema ➡ Recarga Rápida. No hace falta reiniciar totalmente Home Assistant para aplicar este tipo de cambios.
Si ahora vamos a Ajustes ➡ Dispositivos y Servicios ➡ Ayudantes veremos los dos ayudantes que hemos creado. Como puedes observar, ambos tienen un símbolo con un lápiz tachado. Esto indica que al haber sido creados con YAML, no se puede modificar parte de su configuración desde la interfaz.
Conclusión
A partir de este punto ya serás capaz de realizar pequeñas modificaciones y añadir aquellas integraciones que requieran configuración por código de Home Assistant. Recuerda leer siempre la documentación. Tenemos un grupo de Telegram en el que poder comentar tus dudas y progresos. ¡Nos vemos en el siguiente artículo!