Domótica: ejecuta Home Assistant con Podman

Los dispositivos inteligentes nos rodean por todas partes, y la larga lista de dispositivos listos para conectarse al Internet de las cosas (IoT) crece cada día. Por ejemplo, la popularidad de las bombillas inteligentes ha crecido rápidamente en los últimos años y el mercado continúa creciendo, hasta el punto en el que debería estar".el dispositivo doméstico inteligente de más rápido crecimiento en los próximos cinco años"Si bien algunos nombres importantes en el dominio dominan el mercado, muchos competidores más pequeños se están uniendo a la refriega y ofrecen alternativas más económicas con incluso más funciones. Esto es excelente para la competencia, pero plantea una grave preocupación y una situación que muchos administradores de sistemas están demasiado familiarizado con - una pesadilla de integración.

El problema es que cada fabricante suele ofrecer su propia solución integrada y cerrada para controlar sus dispositivos, normalmente en forma de aplicación móvil. Pero, ¿qué sucede cuando decides comprar un nuevo dispositivo de un fabricante diferente al que ya tienes integrado en la domótica de tu hogar? Lo más probable es que necesite usar varias aplicaciones para controlar los dispositivos, y no comencemos hablando de cómo hacer que funcionen juntos de manera automatizada. Hay servicios en la nube disponibles para ayudar a solucionar este problema, proporcionando una forma de crear aplicaciones y automatización para controlar dispositivos de varios fabricantes. Dichos servicios brindan una excelente plataforma para comenzar su viaje hacia la automatización de dispositivos inteligentes, pero estos servicios tienden a funcionar con una suscripción paga o en modelos "freemium" muy limitados, y se encontrará cada vez más dependiente de este servicio basado en la nube. .

En 2013, se inició un proyecto de código abierto para resolver este tipo de problemas y llevar el control local de los dispositivos inteligentes desde la nube al hogar. Hoy, el proyecto está funcionando bien, con más de 2500 colaboradores y nuevas integraciones y funciones implementadas con frecuencia. En este artículo, le presentaré la plataforma de automatización del hogar de código abierto llamada Asistente de hogar.

Índice

Implementar el contenedor de Home Assistant

Home Assistant se puede implementar usando varios métodos de instalación, la forma recomendada de hacerlo es implementar el sistema operativo Home Assistant, que incluye todo lo necesario. Sin embargo, usaremos la imagen del contenedor para este adelanto, que nos dará una descripción general rápida de cómo funciona Home Assistant. Los siguientes pasos asumen que ya tiene un entorno de tiempo de ejecución de contenedor implementado en su sistema, como Podman. Home Assistant funciona en el puerto TCP 8123, por lo que debe asegurarse de que este puerto no esté en uso en su sistema.

1. Comience por extraer la imagen del contenedor:

$ podman pull docker.io/homeassistant/home-assistant:stable

2. Configure un directorio de configuración:

$ mkdir ~/hass_config

3. Implemente el contenedor con Podman:

$ podman run --init -d 
--name homeassistant 
--restart=unless-stopped 
-v /etc/localtime:/etc/localtime:ro 
-v ~/hass_config:/config:Z 
--network=host 
homeassistant/home-assistant:stable

4. Una vez que el contenedor esté operativo, abra su navegador web preferido y vaya a http://127.0.0.1:8123/. Cree su cuenta de usuario administrador completando los campos requeridos.

5. Si ya tiene dispositivos inteligentes conectados a su red doméstica, es posible que en la siguiente pantalla encuentre que Home Assistant ya los detectó y los presenta como integraciones para instalar de inmediato. Omitiremos este paso y explicaremos cómo configurar integraciones en la siguiente sección. Golpear Terminar para cambiar a la interfaz gráfica de usuario Lovelace de Home Assistant y explorar un poco para familiarizarse con la disposición del terreno.

Notar: Si nota que faltan algunos elementos del menú o un mensaje de error como el siguiente en su registro de Home Assistant:

Simplemente reinicie Home Assistant a través de Configuración -> Controles del servidor -> Reiniciar.

Integraciones y Automatización

Con el contenedor de Home Assistant implementado, pasemos a la configuración. en Home Assistant nos brinda la capacidad de interactuar con entradas externas, ya sea una API en línea como un horario de tránsito o un dispositivo físico inteligente como una tira de luz LED o un humidificador inteligente. En el momento de escribir este artículo, Home Assistant tiene una colección de 1765 integraciones, y esa biblioteca está creciendo rápidamente. Descubrirá que muchas marcas importantes ya son compatibles, y si su hogar ya tiene algún tipo de bombilla inteligente, televisor o cafetera, es muy probable que Home Assistant ya esté integrado. De lo contrario, y quiere ensuciarse las manos, el proyecto es de código abierto, alojado en GitHub, y siempre está buscando contribuciones!

Para este ejemplo, configuraré el Met.no integración para la recuperación de las previsiones meteorológicas en los países nórdicos. No dude en utilizar otro proveedor de servicios meteorológicos si lo desea.

  1. En la GUI de Home Assistant, navegue hasta Configuración -> integraciones -> Añadir integración. Busque "Meteorologisk institutt (Met.no)" e ingrese el nombre, la latitud y la longitud deseados. Es posible que Home Assistant ya los haya completado, pero si no, puede recogerlos en otro lugar de Internet e ingresarlos usted mismo.
  2. Golpear Enviar TP después Terminar para agregar la integración a su configuración de Home Assistant. En el panel de navegación izquierdo, haga clic en Descripción general para acceder a su interfaz gráfica de Lovelace.
  3. De manera predeterminada, Home Assistant está configurado para llenar automáticamente la GUI de Lovelace por usted, pero en algún momento querrá tomar el control y configurarlo de la manera que desee. Haga clic en el icono del menú de kebab (tres puntos verticales) en la parte superior derecha y seleccione Editar tablero -> Tomar el control.
  4. Pinchalo Añadir un mapa y para el tipo de tarjeta, seleccione Pronóstico del tiempo. Luego se le presentarán las opciones de configuración para esa tarjeta. En la mayoría de los casos, Home Assistant habrá seleccionado automáticamente la entidad correcta para ti, pero puedes usar el menú desplegable para cambiar la entidad si es necesario. En mi caso, le di a mi integración Met.no el nombre de "Inicio" y, por lo tanto, la entidad se llama automáticamente "weather.home". también pongo el Atributo secundario a "Velocidad del viento".
  5. después de llamar Para salvaguardar, la tarjeta se agrega a la GUI de Lovelace. Puede eliminar tarjetas haciendo clic en el icono del menú de kebab en la parte inferior derecha de la tarjeta respectiva y seleccionando Eliminar tarjeta. Cuando haya terminado de editar el tablero, presione el botón. X en la parte superior izquierda para volver al modo de visualización.
La configuración del mapa de previsión.

Ahora que hemos agregado una integración, podemos considerar configurar alguna automatización. Vamos a crear una automatización que envíe un breve informe meteorológico a su teléfono a través de una notificación automática todas las mañanas. Para que esto funcione, deberá instalar la aplicación Home Assistant en su dispositivo móvil e iniciar sesión. Una vez conectado, su teléfono comenzará a informar a su servidor de Home Assistant. mirando debajo Configuración -> Entidadesencontrará una lista de los diferentes sensores que su teléfono envía a Home Assistant. Se debe permitir la comunicación en el puerto TCP 8123 entre su teléfono y su contenedor Home Assistant en la red local, por lo que es posible que deba ajustar las reglas de su firewall en consecuencia.

1. Ir a Configuración -> Automatizaciones -> Agregar automatización -> Comience con automatización vacía.

2. Nombre la automatización "Informe meteorológico matutino".

3. Bajo disparadores, Seleccione sol escribir y asegurar Evento se establece en amanecer. Puede agregar una compensación como "01:00:00" para una hora después del amanecer o "-01: 00: 00" para una hora antes del amanecer. También puede simplemente establecer un tiempo fijo usando el Hora pegar.

4. Bajo Comportamiento, establezca el tipo en Servicio telefónico y configurarlo Un servicio a "notify.mobile_app_. Para Un servicio data, necesitamos escribir nuestra configuración en formato YAML, y usaremos los modelos Jinja2 para ejecutar algunas declaraciones condicionales. Puede encontrar más información en modelos en Home Assistant.

title: Weather Report
message: >-
  The current temperature is {{state_attr("weather.home", "temperature") }} degrees
  with an expected maximum of {{ state_attr("weather.home","forecast")[0]["temperature"] }} degrees.
  {%if state_attr("weather.home", "forecast")[0]["precipitation"] | float == 0 %}
    There is no rain forecast today
  {% else %}
    You can expect {{ state_attr("weather.home","forecast")[0]["precipitation"] }}mm of rain today
  {% endif %}
  {% if state_attr("weather.home","wind_speed") | float > 20%}
    and it's a little windy outside, so hold on to your hat!
  {% else %}
    and it's not too windy.
  {% endif %}

5. Golpea el azul Para salvaguardar botón para guardar la automatización. Sobre Automatizaciones página, puede probar su nueva y brillante automatización haciendo clic en Correr. Ahora debería tener una notificación automática en su teléfono con un breve informe meteorológico de Home Assistant que se ve así:

Un ejemplo de un informe meteorológico.

Conclusión

Esta es una instalación, configuración e implementación básicas de Home Assistant. Implementé una nueva integración en el tablero de Lovelace y le di una descripción general de las automatizaciones. Si bien apenas he arañado la superficie de la abundancia de integraciones, automatizaciones y configurabilidad de Home Assistant, al menos debería darle una idea de lo que es posible. Al hacer pleno uso de las ofertas de Home Assistant, descubrirá un número casi infinito de posibilidades; en realidad solo estás limitado por tu imaginación. Si disfrutó de esta breve introducción, le recomiendo que siga jugando con la imagen del contenedor para tener una idea de lo que Home Assistant puede hacer por usted. Si desea configurar un entorno de producción, consulte el sistema operativo Home Assistant.

Artículos de interés

Subir