Información
Actualidad
Aquí encontraras noticias de actualidad sobre Gnu Linux y Open Source.

Además de información sobre la comunidad LiGNUx.
Distribuciones y entornos
Información ordenada sobre los diferenes sistema operativos Gnu Linux y las diferentes opciones de entornos gráficos.
Tutoriales y guías
Todos los pasos e informaciones que puedes desear para tu día a día.
Tutoriales
Tutoriales
Programación
Programación
About Us
Get to know the people behind the code and the mission behind the work
how we handle data
Privacy
Security
Legal

Cómo configurar Home Assistant usando Packages

21 enero, 2025

INTRODUCCION

Vamos a configurar Home Assistant utilizando packages. Después de meses de experimentar con Home Assistant y añadir cada vez más elementos, te das cuenta de que, para añadir algo nuevo, tienes que tocar varios archivos. Esto sucede porque la instalación por defecto de Home Assistant agrupa todos los tipos de elementos en el mismo lugar, "obligándote" a mantener todos los sensores juntos, todas las automatizaciones en un mismo sitio, y así con todo.

Esto es así porque declaramos los sensores en un único archivo o en varios archivos dentro de una carpeta específica. Al principio, esto parece conveniente porque sabes exactamente dónde está cada cosa y realmente tienes pocos sensores. Sin embargo, cuando tienes decenas de sensores, interruptores, automatizaciones y binarios, la situación se complica. Si quieres añadir algo nuevo, tienes que editar cada archivo manualmente y copiar las entidades de uno a otro.

SISTEMA TRADICIONAL

Tradicionalmente, sin utilizar packages, lo que hacemos es repartir los elementos por su tipo: todos los sensores juntos, todas las automatizaciones juntas, etc. Por ejemplo, si quiero agregar a mi instalación de Home Assistant un sensor de lluvia para el jardín, un sensor de temperatura, un par de luces, varias automatizaciones para las luces, un script y varios sensores binarios y switches para enchufes, todo eso estaría relacionado con el jardín y, en principio, todo se visualizaría en las mismas tarjetas. Sin embargo, tendría que tocar muchos archivos, colocando los sensores de lluvia junto a los sensores de discos duros de un ordenador, lo cual no tiene mucho sentido.

En la imagen que acompaña esto, podemos ver una instalación típica de Home Assistant donde todos los tipos de elementos están juntos: los sensores dentro de una carpeta de sensores, los binary_sensors juntos en un archivo YAML, y así sucesivamente. Esta estructura puede volverse poco práctica a medida que crece el número de dispositivos y configuraciones en Home Assistant.

Y aquí podéis ver como está hecho el configuration.yaml:

PACKAGES

Con packages, puedes unificar en un solo archivo YAML todo lo relacionado con un área específica. Por ejemplo, si quieres agregar a tu instalación de Home Assistant un sensor de lluvia para el jardín, un sensor de temperatura, un par de luces, varias automatizaciones para las luces, un script y varios sensores binarios y switches para enchufes, todo eso estará relacionado con el jardín y se visualizará en las mismas tarjetas. Con packages, tiene sentido agrupar todo esto en el mismo archivo YAML.

Volviendo al ejemplo del jardín, si quisiera poner todo lo que mencioné, tendría que editar múltiples archivos en la configuración tradicional, lo cual implica copiar y pegar sensores, scripts y automatizaciones en diferentes lugares. El mayor problema surge cuando quieres ampliarlo. Con packages, solo necesitas crear un archivo YAML que contenga todo. Si algo deja de funcionar, simplemente borras ese archivo y el error desaparece.

Otro uso de la instalación con packages es que, si ya tienes algo funcionando y quieres mejorarlo, solo necesitas duplicar el archivo YAML que quieras modificar, cambiarle el nombre y experimentar. Si deja de funcionar o no es lo que deseas, simplemente vuelves al archivo anterior y todo quedará como estaba. De la manera tradicional, tendrías que modificar varios archivos, lo que complica mucho el proceso.

Ahora vamos a pasar ese ejemplo a una instalación en packages, con lo que tenemos que incluir en nuestro configuration.yaml una entrada tal que así:

Creamos la carpeta packages dentro del config recordando siempre darle los permisos correspondientes.

Esta sería una estructura de carpetas y archivos de packages dentro.
Después tendremos que eliminar de los include en el archivo configuration.yaml que tenemos lo que queramos que vaya en cada package, yo en mi caso dejo todo dentro de los packages, con lo que ahí cada uno tiene que decidir lo que quiere dejar dentro o fuera, yo os voy a decir como lo hago yo:
  • group: dentro de packages, se elimina la entrada: group: !include groups.yaml
  • automation: dentro de packages, se elimina la entrada: automation: !include automations.yaml
  • script: dentro de packages, se elimina la entrada: script: !include_dir_named scripts
  • switch: dentro de packages, se elimina la entrada: switch: !include switch.yaml
  • binary_sensor: dentro de packages, se elimina la entrada:  !include binary_sensors.yaml
  • sensor: dentro de packages, se elimina la entrada: !include_dir_merge_list sensors

Luego hay algún tipo de elemento que se puede dejar con el include, como los panel_iframe, eso no tiene sentido que esté en los packages, ya que es algo global y lo suyo es que esté en un yaml suelto y con su include. Diferente es con la entrada camera, esa cada uno tiene que decidir donde lo deja, depende si tienes varias cámaras y quieres que estén juntas o cada una en su zona, si quieres organizarlas juntas puedes dejarlo como está, si quieres ponerlas cada una en su zona, tendrías que borrar el include y meter su entrada correspondiente en cada package donde quieras declarar las camaras. Algo parecido pasa con los media_player y los device_tracker, puedes dejarlos así o en un package, además cada instalación de Homeassistant es diferente, puedes querer dejar en un package llamado dormitorio.yaml todo lo relacionado con esa estancia, incluido los media_player y camera, o dejarlas fuera en un package juntos o incluso en el configuration.

El archivo configuration.yaml de una instalación con packages sería algo parecido a esto:

Si os fijáis se han quitado todos los include que quiero que estén en cada package, y además he eliminado el sensor del tiempo, ya que ese va en su package del tiempo, pero podría haberlo dejado, puedes declarar sensores en el configuration igual que en packages.
Ahora os pongo como sería un archivo packages de ejemplo en el que están dentro declarados varios elementos que antes estaban repartidos por diferentes archivos y carpetas:

etc...
Como podéis ver se puede declarar dentro del package todo lo que quieras.

Escrito por Noel

Buenas, me llamo Noel, soy un divulgador y amante del software libre y Gnu Linux.
Usuario inquieto por ver las novedades y dar a conocer a todos las grandes ventajas del software libre y Gnu Linux.

Suscribirse
Notificarme las
guest
0 Comentarios
Los más recientes
Los más antiguos Más votados
Feedbacks en línea
Ver todos los comentarios
LiGNUx trabaja sobre una licencia de Creative Commons Reconocimiento 4.0 Internacional.
cloudflagpaperclipprinterfile-emptyfilm-playcamera-videopicturelaptop-phonebriefcasecrossmenu
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram