j’ai un sensor qui recense le nombre des entités ayant une charge batterie inferieure à 25% qui fonctionne très bien. Je souhaites, via un template lister le nom des entités concernées mais je bloque.
un idée?
mon code
sensor:
- platform: template # https://community.home-assistant.io/t/sensor-unavailable-offline-detection/147618/194
sensors:
low_batteries_entities:
friendly_name: "Entités avec batterie faible"
unique_id: batteries_entities
unit_of_measurement: 'entités'
icon_template: "{{ 'mdi:battery-check' if is_state('sensor.low_batteries_entities','0') else 'mdi:battery-alert' }}"
value_template: >
{% set ignore_batteries_entities = ['sensor.lywsd03mmc_batt'] %} {# ajouter une virgule après chaque entité #}
{% set threshold = 25 %}
{{ states.sensor
| selectattr('attributes.device_class', 'eq', 'battery')
| rejectattr('entity_id', 'in', ignored_batteries_entities)
| map(attribute='state')
| reject('in', ['unknown', 'unavailable'])
| map('int', -1) | select('le', threshold)
|select('ge', 0)
| list | count
}}
attribute_templates:
entities: >
{% set ignore_batteries_entities = ['sensor.lywsd03mmc_batt'] %} {# ajouter une virgule après chaque entité #}
{% set threshold = 25 %}
{{ states.sensor
| selectattr('attributes.device_class', 'eq', 'battery')
| rejectattr('entity_id', 'in', ignored_batteries_entities)
| map(attribute='state')
| reject('in', ['unknown', 'unavailable'])
| map('int', -1) | select('le', threshold)
| select('ge', 0)
| map(attribute='entity_id')
| list
}}
```
map(attribute='entity_id') me retourne undefined pour chaque entité