Home Assistant 2022.5: Optimización de la configuración – Home Assistant

Home Assistant 2022.5: Optimización de la configuración – Home Assistant

social

¡Asistente doméstico Core 2022.5!

Y, como suele decirse: “¡Todo parece posible en mayo!”. Pues posibilidades tenemos para ti este último mes de primavera.

Lo más visible de esta versión es la próxima iteración del menú de configuración, cuyo resultado, para mí personalmente, tiene mucho sentido. Me costó un poco acostumbrarme, pero la verdad es que me gusta. 🤩

Mientras tanto, en Nabu Casa, lanzaron suscripciones anuales para Home Assistant Cloud en todo el mundo (a excepción de Canadá, el Reino Unido y la UE, seguirán pronto con soporte en moneda local).

¡También estoy muy emocionado de presentarles un montón de nuevas y potentes funciones de automatización y secuencias de comandos! ¡Algunos para la interfaz de usuario, pero hay algunos cambios reales que le encantarán a nuestra comunidad YAML! 🤖

¡Disfruta del lanzamiento!

../francés

Menú de configuración reorganizado

Hace un par de lanzamientos, comenzamos a reorganizar el menú de configuración y este lanzamiento trae el próximo gran paso en esa reorganización.

El objetivo es tener todo en un solo lugar lógico, y después de las pruebas de los usuarios y muchas discusiones en los canales frontend y UX, así es como se ve ahora el menú:

Captura de pantalla que muestra la nueva estructura del menú de configuración

En particular, se le cambió el nombre de “Configuración” a “Configuración” y tenemos un nuevo submenú “Sistema” (que se muestra a la derecha en la captura de pantalla anterior).

¿Está ejecutando el sistema operativo Home Assistant? El Supervisor se ha fusionado completamente en el menú de configuración para brindar una experiencia uniforme/unificada. Elimina rarezas como tener una sección de red en un menú y la sección Supervisor.

Los planos se trasladaron a la sección de automatizaciones y escenas y, por pedido popular: los ayudantes se trasladaron a la página de dispositivos y servicios.

Las herramientas de configuración de YAML tienen un nuevo hogar en las herramientas de desarrollo, un lugar más lógico para las comprobaciones y recargas de configuración de YAML.

Puede notar que algunos de los nuevos elementos del menú están bastante vacíos. Para esos menús, como “Almacenamiento” y “Hardware”, ¡tenemos más contenido planeado pronto!

Solo para estar seguros, hemos agregado una lista de cambios a la sección de cambios importantes; por favor échales un vistazo en caso de que te falte algo.

Encuentra entidades incluso más rápido que antes

¿Busca acceder a esa entidad rápidamente? ¿Pero no está en tu tablero?

La barra rápida ayuda con eso; solo presiona e estés donde estés en Home Assistant. Esta versión también agrega un botón de búsqueda rápida a los tableros, para que pueda buscar y acceder a cualquier entidad que necesite, incluso cuando no esté en su tablero actual.

Captura de pantalla que muestra el nuevo botón de búsqueda rápida

Para ahorrar espacio, la búsqueda no se muestra en los dispositivos móviles; pero está disponible a través del menú adicional (los tres puntos en la parte superior derecha).

Nuevas funciones de automatización y secuencias de comandos

¡Esta versión está repleta de nuevas funciones de automatización y secuencias de comandos! Algunas se agregaron a la interfaz de usuario y otras son funciones avanzadas que solo están disponibles cuando se usa YAML.

Casi todos estos cambios tienen algo en común: han sido solicitados y votados por la comunidad en nuestro foro de solicitudes de funciones.

si-entonces

Cuando introdujimos la acción Elegir, nuestro objetivo era proporcionar una estructura que permitiera otras secuencias de acción selectivamente en función de las condiciones.

Si bien esta estructura es muy flexible y extensa, todavía existía el deseo de una estructura if-then(-else) que fuera pequeña, simple, compacta y limpia. Este lanzamiento te trae precisamente eso.

La nueva acción si-entonces está disponible a través de YAML y a través de la interfaz de usuario mediante editores de scripts y automatizaciones.

Captura de pantalla que muestra Si-entonces

Se puede encontrar más información en la documentación de los scripts.

Activador de calendario

@allenporter le dio mucho amor a la integración de Calendar (y la integración de Google Calendars). En el proceso, se agregó un nuevo disparador de Calendario, que está disponible para usar en sus automatizaciones.

Captura de pantalla que muestra el nuevo activador de calendario en la interfaz de usuario
El nuevo disparador de calendario está disponible en el editor de automatización.

Este nuevo disparador es un poco más flexible que el disparador de estado (anteriormente solo otra opción). También está disponible para automatizaciones en YAML, y el disparador proporciona muchas variables de disparador que puede usar en sus plantillas.

Ejemplo de activador de calendario en YAML

Puede encontrar más información en la documentación de integración de Calendar.

Para cada

Teníamos varias opciones disponibles para repetir un grupo de acciones. Por ejemplo, repetir en función de un conteo, mientras se cumple una condición o hasta que se cumple una condición.

Estos son muy poderosos, pero también se solicitó y se votó a favor de repetir una secuencia para cada elemento de una lista. Esta versión agrega: Para cada uno.

Esta es una función avanzada y solo está disponible para su uso en automatizaciones escritas manualmente en YAML. Aquí hay un ejemplo que envía dos notificaciones en diferentes idiomas:

repeat:
  for_each:
    - language: English
      message: Hello World
    - language: Dutch
      message: Hallo Wereld
  sequence:
    - service: notify.phone
      data:
        title: "Message in {{ repeat.item.language }}"
        message: "{{ repeat.item.message }}!"

Cada elemento de la lista se ejecutará en una secuencia de acciones, y el elemento está disponible como una variable que puede usar en sus plantillas. Los elementos que puede proporcionar a for_each pueden ser asignaciones, listas de solo cadenas e incluso plantillas complejas que proporcionan una lista como resultado.

Se puede encontrar más información en la documentación de los scripts.

Deshabilitar cualquier activador, condición o acción

A veces, es posible que desee deshabilitar un activador, una acción o una condición específicos, ya sea para realizar una prueba, una solución temporal o por cualquier otro motivo.

En YAML, comentaría partes de su automatización, pero si quisiera hacerlo en la interfaz de usuario, la única opción que tiene es eliminarlo de la automatización o secuencia de comandos.

En esta versión, agregamos soporte para deshabilitar un activador, acción o condición; sin necesidad de quitarlo o comentarlo! Un disparador deshabilitado no se activará, una condición deshabilitada siempre pasa y una acción deshabilitada se omite.

Captura de pantalla que muestra una condición deshabilitada en una automatización de la interfaz de usuario

Se puede encontrar más información en la documentación de Desencadenadores, condiciones y acciones deshabilitados.

Continuar en caso de error

Una automatización ejecuta una secuencia de acciones. Una de las preguntas que a menudo vemos/leemos/obtenemos es: “Si una de las acciones falla, ¿por qué se detiene toda la automatización?”

¡Buena pregunta! Para responder a esto, hemos agregado: Continuar en caso de error.

Permite que pasos específicos en una secuencia de script o automatización fallen sin interrumpir el resto de la secuencia.

Esta característica avanzada actualmente solo está disponible para automatizaciones y scripts escritos en YAML. El siguiente ejemplo muestra una acción de automatización que siempre ejecutará la segunda acción, incluso si la primera falla con un error:

action:
  - alias: "If this one fails..."
    continue_on_error: true
    service: notify.super_unreliable_service_provider
    data:
      message: "I'm going to error out..."

  - alias: "This one will still run!"
    service: persistent_notification.create
    data:
      title: "Hi there!"
      message: "I'm fine..."

Se puede encontrar más información en la documentación de los scripts.

Detener un script o una automatización

Ahora puede detener un script o una automatización a la mitad con la acción Detener. En combinación con la nueva acción If-then mencionada anteriormente, esto se puede usar para detener una automatización o un script de forma condicional.

Por ejemplo, esto puede ser útil si desea que solo una parte de una automatización se ejecute cuando esté en casa y que se ejecute por completo cuando esté fuera.

Esta función está disponible tanto a través de la interfaz de usuario como de YAML.

Captura de pantalla que muestra la nueva acción de parada

Se puede encontrar más información en la documentación de los scripts.

Paralelización de acciones

Esta versión presenta una función muy avanzada que proporciona una forma de paralelizar acciones.

De manera predeterminada, todas las acciones en Home Assistant se ejecutan secuencialmente. Esto significa que la siguiente acción solo se inicia después de que se haya completado la acción actual.

La ejecución en serie no siempre es necesaria, por ejemplo, si la secuencia de acciones no depende una de la otra y el orden no importa. Para esos casos, la acción paralela se puede usar para ejecutar las acciones en la secuencia en paralelo, lo que significa que todas las acciones se inician simultáneamente.

automation:
  - trigger:
      - platform: state
        entity_id: binary_sensor.motion
        to: "on"
    action:
      - parallel:
          - service: notify.person1
            data:
              message: "These messages are sent at the same time!"
          - service: notify.person2
            data:
              message: "These messages are sent at the same time!"

Esta función está parcialmente disponible a través de la interfaz de usuario; sin embargo, como se dijo: esta es una característica bastante poderosa y avanzada, y viene con advertencias. Asegúrese de consultar la documentación del script sobre la paralelización de acciones antes de decidirse a usarlo.

Uso de un disparador de estado único para varias entidades

Si escribe automatizaciones en YAML, probablemente ya esté al tanto de la capacidad de activar múltiples entidades en un solo activador; Ha existido durante bastante tiempo.

Y ahora también disponible en la interfaz de usuario. Una pequeña adición que podría ayudarlo a reducir la duración de sus automatizaciones administradas por la interfaz de usuario.

Captura de pantalla que muestra varias entidades en un solo disparador desde la interfaz de usuario.

Desencadenar al no coincidir con/desde estados

Esta es una característica exclusiva de YAML que hemos agregado a los activadores de estado: Activación al no coincidir con/desde estados. Sí, has leído bien. Cuando no
coincide con lo que desencadena.

En vez de fromahora puedes usar not_from y en lugar de toahora puedes usar not_to. Este activador de ejemplo solo se activará si el estado anteriormente no era “no disponible” o “desconocido”:

trigger:
  - platform: state
    entity_id: light.living_room
    not_from:
      - "unavailable"
      - "unknown"
    to: "on"

Se puede encontrar más información en la documentación de condición del estado.

Notación abreviada para condiciones lógicas

Una pequeña característica de YAML que agregó @thomasloven puede hacer que sus automatizaciones y scripts basados ​​en YAML se vean significativamente más limpios.

Condiciones lógicas (también conocidas como and, or, not) ahora tienen una notación abreviada. Algunos ejemplos de pseudocódigo para mostrarlos a todos:

or:
  - <condition>
  - and:
    - <condition>
    - <condition>
  - not:
    - <condition>

en lo anterior <condition>por supuesto, debe reemplazarse con una condición real, pero la nueva sintaxis breve de or, andy not es claramente visible.

Se puede encontrar más información en la documentación de la condición.

Colores de los segmentos de la tarjeta de indicador

¡Una excelente adición de @Netzwerkfehler es la capacidad de definir libremente la cantidad de segmentos y sus colores de la tarjeta de indicador!

Captura de pantalla de la tarjeta de indicador con varios segmentos de colores.
Captura de pantalla de la tarjeta de indicador con varios segmentos de colores.

Útil si desea definir los límites superior e inferior del sensor en su indicador, como se muestra en el ejemplo anterior. El ejemplo de configuración utilizado para la captura de pantalla anterior se puede encontrar en la documentación de la tarjeta de calibre.

Optimizaciones de bases de datos

La última versión se centró en reducir el tamaño de la base de datos y optimizar la escritura de datos en la base de datos.

Si bien hay algunos…


Visto en