Bonsoir,
Bon, j’essaye de comprendre certaines choses avec les templates, mais c’est pas gagné.
Déjà, ce que j’ai fait et qui fonctionne.
Créer deux sensors :
- sensor:
# ╔══════════════════════════════════════════════════════════════════════════╗
# ║ Entités déterminer la liste des capteurs indiquant une ouverture ║
# ╚══════════════════════════════════════════════════════════════════════════╝
- unique_id: "nombre_fenetres_portes"
name: "nombre_fenetres_portes"
state: >
{{ states.binary_sensor | selectattr('attributes.device_class', 'in', ['door', 'window']) | list | count }}
- unique_id: "nombre_fenetres_portes_ouvertes"
name: "nombre_fenetres_portes_ouvertes"
state: >
{{ states.binary_sensor | selectattr('state', 'eq', 'on') | selectattr('attributes.device_class', 'in', ['door', 'window']) | list | count }}
J’ai testé ces états template dans la partie Outils de développement / modèle.
🪟 Fenêtre(s) ouverte(s) : {{ states("sensor.nombre_fenetres_portes_ouvertes") }} / {{ states("sensor.nombre_fenetres_portes") }}
La carte que je veux faire affiche bien cela :
Jusque-là, c’est normal, c’est majoritairement votre code ^^
Mais voilà j’ai un hic sur un autre capteur, celui qui me fait la liste des ouvertures pas fermées, ou pour les essais la liste des ouvertures fermées…
Dans l’éditeur de modèles j’ai deux choses qui fonctionnent très bien (je ne sais pas trop laquelle est la meilleure, mais une dépend d’un groupe que je dois compléter manuellement si j’ajoute un nouveu détecteur…) :
Liste des ouvertures fermées v1 :
{{ states.binary_sensor | selectattr('state', 'eq', 'off') | selectattr('attributes.device_class', 'in', ['door', 'window']) | map(attribute='name') | list | join(' ; ') }}
Liste des ouvertures fermées v2 :
{{ expand('binary_sensor.groupe_ouvertures') | selectattr('state', 'eq', 'off') | map(attribute='name') | list | join(' ; ') }}
Oui
j’ai essayé de faire une commande plus courte que celle fournie par @Idaho947 ou @freetronic 
Mais le souci, c’est que si je mets ce code dans un sensor, ce dernier est en état unknown
- unique_id: "liste_fenetres_portes_ouvertes"
name: "liste_fenetres_portes_ouvertes"
state: >
{{ states.binary_sensor | selectattr('state', 'eq', 'off') | selectattr('attributes.device_class', 'in', ['door', 'window']) | map(attribute='name') | list | join(' ; ') }}
Je ne comprends pas ce qui se passe, pourquoi le code fonctionne dans l’éditeur de modèles, et pas dans le sensor template ??
Avant d’abandonner mon idée, et de repasser sur la version longue du code, j’aimerais comprendre…
Quelqu’un saurait-il m’aider ?
Merci d’avance 