
Con auto-entities Home Assistant podrás completar automáticamente las tarjetas de Lovelace con entidades que coincidan con ciertos criterios.
Uso
type: custom:auto-entities
card: <card>
entities:
- <entity>
- <entity>
filter:
template: <template>
include:
- <filter>
- <filter>
exclude:
- <filter>
- <filter>
show_empty: <show_empty>
unique: <unique>
sort: <sort_method>Opciones
card:Requerido. La tarjeta que se va a mostrar. Especifique esto como lo haría con cualquier tarjeta de encaje normal, pero omita elentities:parámetro.entities:Todas las entidades agregadas aquí se agregarán a la tarjeta antes de que se apliquen los filtros.filter:template:Una plantilla jinja2 que evalúa una lista de entradas para incluirinclude:Una lista de filtros que especifican qué entidades agregar a la tarjetaexclude:Una lista de filtros que especifican qué entidades eliminar de la tarjeta
show_empty:Si mostrar la tarjeta si no tiene entidades. Por defecto:true.unique:Ya sea para eliminar valores duplicados después de filtrar y ordenar. Configúrelo entruepara eliminar entradas duplicadas exactas. Configúrelo enentitypara eliminar entradas con el mismo ID de entidad. Por defecto:false.sort:Cómo ordenar las entidades de la tarjeta. Por defecto:none. Consulte Clasificación de entidades para obtener más detalles.card_param:El parámetro de la tarjeta a rellenar. Por defecto:entities.
Filtros
Las dos secciones principales de filtros include y exclude cada una tiene una lista de filtros.
Los filtros tienen las siguientes opciones y coincidirán con cualquier entidad que cumpla TODAS las opciones:
domain:Coincidir con el dominio de la entidad (plight. Ej .binary_sensor,media_player)state:Coincidir con el estado de la entidad (p"on". Ej .home,"3.14")entity_id:ID de entidad coincidente (plight.bed_light. Ej. ,input_binary.weekdays_only)name:Coincidir con el atributo de nombre descriptivo (pKitchen lights. Ej. ,Front door)group:Coincidir con entidades en un grupo determinado (pgroup.living_room_lights. Ej. )area:Coincidir con entidades en un área determinada (pKitchen. Ej. )device:Coincidir con entidades que pertenecen a un dispositivo dado (pThomas iPhone. Ej. )attributes:Mapa deattribute: valueparejas para emparejar.last_changed:Minutos de coincidencia desde el último cambio de estado (más útil como comparación, plast_changed: < 15. Ej. )last_updated:Minutos del partido desde la última actualización
Opciones especiales:
options:Mapa de opciones para aplicar a la entidad cuando se pasa a la tarjeta.type:Tipo de entradas especiales para incluir en la lista de entidades. Las entradas con untype:no se filtrarán.not:Especifica un filtro que las entidades no deben coincidir.sort:Especifica un método para ordenar las entidades que coinciden solo con este filtro .or:Coincide con cualquiera en una lista de filtros.
Filtro de plantilla
La sección de filtro toma template una plantilla jinja2 que se evalúa como una lista de entidades u objetos de entidad.
Cómo funciona
auto-entities crea una lista de entidades por:
- Incluyendo todas las entidades dadas en
entities:(esto permite anidarauto-entitiessi desea hacerlo por alguna razón …) - Incluya todas las entidades enumeradas en una evaluación
filter.template - Incluya todas las entidades que coincidan con TODAS las opciones de CUALQUIER filtro en la sección
filter.include. La misma entidad puede estar incluida varias veces por diferentes filtros. - Excluya todas las entidades que coincidan con TODAS las opciones en CUALQUIER filtro de la sección
filter.exclude
Luego crea una tarjeta basada en la configuración dada card: y completa entities: esa tarjeta con las entidades de arriba.
Reglas coincidentes
Comodines
Cualquier opción de filtro se puede utilizar *como comodín para la comparación de cadenas. Tenga en cuenta que las cadenas deben estar entre comillas al hacer esto:
filter:
include:
- name: "Bedroom *"
- entity_id: "sensor.temperature_*_max"Expresiones regulares
Cualquier opción de filtro puede usar expresiones regulares de JavaScript para la comparación de cadenas. Para hacer esto, incluya la expresión regular en /. También asegúrese de citar la cadena:
filter:
include:
- name: "/^.* [Ll]ight$/"
- entity_id: "/sensor.temperature_4[abd]/"Comparación numérica
Cualquier opción de filtro que trate con cantidades numéricas puede usar operadores de comparación si se especifica como una cadena (debe estar entre comillas):
filter:
include:
- attributes:
battery: "<= 50" # El atributo battery_level es 50 o menos
- state: "> 25" # El estado es mayor que 25
- attributes:
count: "! 2" # El recuento de atributos no es igual a 2
- state: "= 12" # El estado es exactamente 12 (también coincide con "12", "12.0", etc.)
- state: 12 # El estado es exactamente 12 pero no "12"Opciones de repetición
Cualquier opción se puede usar más de una vez agregando un número o cadena al nombre de la opción:
filter:
include:
- state 1: "> 100"
state 2: "< 200"El filtro anterior coincide con entidades en las que el estado está por encima de 100 Y por debajo de 200. Compare con lo siguiente:
filter:
include:
- state: "< 100"
- state: "> 200"Los dos filtros anteriores juntos coinciden con entidades donde el estado está por debajo de 100 O por encima de 200.
Atributos de objeto
Algunos atributos de entidad contienen en realidad varios valores. Un ejemplo es hs_colorpara una luz, que tiene un valor para el tono y otro para la saturación. Estos valores se pueden introducir mediante claves o índices separados por dos puntos ( :):
filter:
include:
- attributes:
hs_color:1: ">30"El ejemplo anterior coincide con luces con un hs_colorvalor de saturación superior a 30.
Entidades de clasificación
Las entidades se pueden ordenar, ya sea filtro por filtro agregando una sort: opción al filtro, o todas a la vez después de que se hayan aplicado todos los filtros usando la sort:opción de auto-entitiessí mismo.
Los métodos de clasificación se especifican como:
sort: method: <method> reverse: <reverse> ignore_case: <ignore_case> attribute: <attribute> first: <first> count: <count> numeric: <numeric>
method:Requerido Uno dedomain,entity_id,name,state,attribute,last_changedlast_updatedolast_triggered.reverse:Configure entruepara invertir el orden. Por defecto:false.ignore_case:Establezca entruepara que la ordenación no distinga entre mayúsculas y minúsculas. Por defecto:false.numeric:Configure entruepara ordenar por valor numérico. Por defecto:falsea excepción delast_changed,last_updatedylast_triggeredmétodos de ordenación.attribute:Atributo para ordenar por simethod: attribute. Puede ser un atributo de objeto como el anterior (pattribute: rgb_color:2. Ej. )firstycountse puede usar solo para mostrar<count>entidades, comenzando con<first>(comienza con 0).
Opciones de entidad
En la options: opción de los filtros, la cadena this.entity_id se reemplazará con el entity_id coincidente. Útil para llamadas de servicio; consulte a continuación.
Ejemplos de auto-entities Home Assistant
Muestra todas las entidades, excepto el tiempo, los grupos y las zonas de yahoo en una tarjeta de vistazo:
type: custom:auto-entities
card:
type: entities
filter:
include: [{}]
exclude:
- entity_id: "*weather*"
- domain: group
- domain: zoneMostrar todos los gps device_tracker con nivel de batería inferior a 50:
type: custom:auto-entities
card:
type: entities
title: Teléfono con batería baja
filter:
include:
- domain: device_tracker
options:
secondary_info: last-changed
attributes:
battery: "< 50"
source_type: gpsMuestra todas las luces que están encendidas:
type: custom:auto-entities
show_empty: false
card:
type: glance
title: Lights on
filter:
include:
- domain: light
state: "on" # Recuerda que "on" y "off" son mágicos en yaml, y siempre se deben citar
options:
tap_action:
action: toggleOtro ejemplo que también muestra todas las luces que están encendidas:
type: custom:auto-entities
show_empty: false
card:
type: entities
title: Lights on
show_header_toggle: false
filter:
include:
- domain: light
exclude:
- state: "off"
- state: "unavailable"Muestre todo lo que tenga «luz» en su nombre, pero que no sea una luz, y todos los interruptores en la área Estancia:
type: custom:auto-entities
card:
type: entities
title: Lights on
show_header_toggle: false
filter:
include:
- name: /[Ll]ight/
not:
domain: light
- type: section
- domain: switch
area: EstanciaEnumere todos los sensores que pertenecen a cualquier iPhone:
type: custom:auto-entities
card:
type: entities
title: Phones
show_header_toggle: false
filter:
include:
- device: /iPhone/Enumere los cinco últimos sensores de movimiento activados:
type: custom:auto-entities
card:
type: entities
filter:
include:
- domain: binary_sensor
attributes:
device_class: motion
sort:
method: last_changed
count: 5 Coloque todos los sensores en tarjetas de entidad individuales en una tarjeta de cuadrícula:
type: custom:auto-entities
card:
type: grid
card_param: cards
filter:
include:
- domain: sensor
options:
type: entityEncienda las escenas haciendo clic en ellas:
type: custom:auto-entities
card:
type: glance
filter:
include:
- domain: scene
options:
tap_action:
action: call-service
service: scene.turn_on
service_data:
# Tenga en cuenta el valor mágico this.entity_id aquí
entity_id: this.entity_id Ejemplo usando plantillas para saber que luces tenemos encendidas:
type: custom:auto-entities
card:
type: entities
filter:
template: |
{% for light in states.light %}
{% if light.state == "on" %}
{{ light.entity_id}},
{% endif %}
{% endfor %}
Sígueme a Youtube

