There it is (sorry for the french…).
Using this, your sensor receive the sentence.
- platform: template
sensors:
nbre_fenetres_ouvertes:
value_template: >
{% set fenetres = [
states.binary_sensor.chambre_maelys_detecteur_fenetre,
states.input_boolean.sdb_fenetre_ouverte,
states.binary_sensor.annaelle_fenetre,
states.binary_sensor.bureau_fenetre,
states.binary_sensor.living_detecteur_fenetre,
states.binary_sensor.salon_detecteur_fenetre,
states.binary_sensor.porte_fenetre_salon,
states.input_boolean.cuisine_fenetre_ouverte,
states.input_boolean.parents_fenetre_ouverte,
states.input_boolean.sacha_fenetre_ouverte
] %}
{% set fenetres_ouvertes = fenetres | selectattr('state','eq','on') | list %}
{% if (fenetres_ouvertes | length ==1)%}
Une fenĂŞtre ouverte
{% elif (fenetres_ouvertes | length >1 )%}
{{ fenetres_ouvertes | length}} fenĂŞtres ouvertes
{% else %}
Tout est fermé
{% endif %}