Dieses Template zählt die Lichter, welche eingeschaltet sind.
Wenn mehr als ein Licht eingeschaltet ist, gibt das Template die Namen der Lichter die eingeschaltet sind.
Sonst „Alle Lichter sind ausgeschaltet“
Kann man für ein Karte, oder eine Text oder TTS Benachrichtigung verwenden.
{% set lichter_liste = states.light |selectattr('state','eq','on')
| map(attribute='name')
| list
| join(', ') %}
{% set lichter_anzahl = states.light |selectattr('state','eq','on')
| list
| count %}
{% if lichter_anzahl == 0 %}
Alle Lichter sind ausgeschaltet
{% else %}
Folgende Lichter sind noch an:
{{ lichter_liste }}
{% endif %}
Und hier der kleinen Bruder für offen stehende Fenster.
{% set fenster_liste = states.binary_sensor
| selectattr('state','eq','on')
| selectattr('attributes.device_class','defined')
| selectattr('attributes.device_class','eq', 'window')
| map(attribute='name')
| list
| join(', ') %}
{% set fenster_anzahl = states.binary_sensor
| selectattr('state','eq','on')
| selectattr('attributes.device_class','defined')
| selectattr('attributes.device_class','eq', 'window')
| list
| count %}
{% if fenster_anzahl == 0 %}
Alle Fenster sind geschlossen
{% else %}
Folgende Fenster sind noch geöffnet:
{{ fenster_liste }}
{% endif %}
Die Templates lassen sich natürlich auch für weiter Domain wie Switches, covers, etc verwenden.
Bzw. für andere device classen, wie z.B. Türen.
| join(', ')
→ Listen alle Einträge in einer Zeille mit einem ,
getrennt.
| join('\n')
→ erzeugt nach jdem EIntrag einen Zeilenumbruch.
Gruß
Osorkon