Hallo zusammen,
ich möchte mir die Anzahl meiner offenen Fenster anzeigen lassen.
Dazu bin ich auf folgendes Video gestoßen: https://www.youtube.com/watch?v=NHDiz5xpotU
Der verwendete Code…
# Offene Fenster zählen
- platform: template
sensors:
offene_fenster:
value_template: >
{{ expand('binary_sensor.alle_fenster')
| selectattr('state', 'eq', 'on')
| list | count | int }}
…, der aus einem Helfer (Gruppe “offene_fenster”) die Anzahl macht, ist aber in dem “alten Format” geschrieben. Meine yaml ist so aufgebaut:
template:
- sensor:
- name: "offene_tueren_fenster"
unique_id: "offene_tueren_fenster"
state:
Wie kriege ich jetzt den Rest so hin, dass er mir die Anzahl der offenen Fenster/Türen ausgibt? Eine Helfer-Gruppe in der alle Fenster und Türen drin sind ist vorhanden (binary_sensor.fenster_tueren).
Besten Dank und Grüße
Daniel
Das sähe dann in etwa so aus:
# Offene Fenster zählen
- sensor:
- name: Alle Fenster
unique_id: "offene_tueren_fenster"
state: "{{ expand('binary_sensor.alle_fenster') | selectattr('state','eq','on') | list | count }}"
Perfekt, funktioniert! Vielen Dank!
Als Ergänzung. Ich habe ähnliches Konstrukt ebenfall und lasse mir unter den Attributen noch anzeigen welche Fenster offen sind:
- sensor:
- name: Alle Fenster
unique_id: "offene_tueren_fenster"
state: "{{ expand('binary_sensor.alle_fenster') | selectattr('state','eq','on') | list | count }}"
attributes:
Sensor: >-
{% set entities = expand('binary_sensor.alle_fenster') | selectattr('state','eq','on') | map(attribute='name') | list | join(', ') %}
{%- for s in entities -%}
{{ s }}
{%- endfor %}

Super, vielen Dank! Wieder etwas gelernt und mein HA ein Stückchen cooler gemacht 
Hallo zusammen,
bei mir zeigt der Code folgenden Fehler an:
Logger: homeassistant.config
Quelle: config.py:609
Erstmals aufgetreten: 15:15:46 (1 Vorkommnisse)
Zuletzt protokolliert: 15:15:46
Invalid config for 'template' at templates.yaml, line 19: 'name' is an invalid option for 'template', check: name Invalid config for 'template' at templates.yaml, line 21: 'state' is an invalid option for 'template', check: state Invalid config for 'template' at templates.yaml, line 22: 'attributes' is an invalid option for 'template', check: attributes
Entweder stimmen die Einrückungen nicht, oder du hast den - vergessen oder vergessen sensor davor zu schreiben…poste doch einfach mal den Code wie er bei dir genau steht
hier ist der Code
- sensor:
- name: Alle Fenster
unique_id: "offene_fenster"
state: "{{ expand('binary_sensor.fenster_status') | selectattr('state','eq','on') | list | count }}"
attributes:
Sensor: >-
{% set entities = expand('binary_sensor.fenster_status) | selectattr('state','eq','on') | map(attribute='name') | list | join(', ') %}
{%- for s in entities -%}
{{ s }}
{%- endfor %}
unter attributes das Sensor muss eingerückt werden
und es muss klein geschrieben werden.
bekomme weiterhin eine Fehlermeldung:
Invalid config for ‘template’ at templates.yaml, line 23: invalid template (TemplateSyntaxError: expected token ‘,’, got ‘state’) for dictionary value ‘sensor->0->attributes->sensor’, got “{% set entities = expand(‘binary_sensor.fenster_status) | selectattr(‘state’,‘eq’,‘on’) | map(attribute=‘name’) | list | join(’, ') %} {%- for s in entities -%} {{ s }} {%- endfor %}”
code sieht aktuell wie folgt aus:
- sensor:
- name: Alle Fenster
unique_id: "offene_fenster"
state: "{{ expand('binary_sensor.fenster_status') | selectattr('state','eq','on') | list | count }}"
attributes:
sensor: >-
{% set entities = expand('binary_sensor.fenster_status) | selectattr('state','eq','on') | map(attribute='name') | list | join(', ') %}
{%- for s in entities -%}
{{ s }}
{%- endfor %}
diese ist in einer templates.yaml
sensor unter attributes muss um noch ein Leerzeichen weiter eingerückt werden…
es kommt weiterhin zu einer Fehlermeldung:
IInvalid config for ‘template’ at templates.yaml, line 23: invalid template (TemplateSyntaxError: expected token ‘,’, got ‘state’) for dictionary value ‘sensor->0->attributes->sensor’, got “{% set entities = expand(‘binary_sensor.fenster_status) | selectattr(‘state’,‘eq’,‘on’) | map(attribute=‘name’) | list | join(’, ') %} {%- for s in entities -%} {{ s }} {%- endfor %}”
- sensor:
- name: Alle Fenster
unique_id: "offene_fenster"
state: "{{ expand('binary_sensor.fenster_status') | selectattr('state','eq','on') | list | count }}"
attributes:
sensor: >-
{% set entities = expand('binary_sensor.fenster_status) | selectattr('state','eq','on') | map(attribute='name') | list | join(', ') %}
{%- for s in entities -%}
{{ s }}
{%- endfor %}
in der Zeile darunter fehlt nach 'binary_sensor.fenster_status noch das ’
danke! jetzt funktioniert es …man man war das eine schwere Geburt 
Jetzt eine andere Frage dazu:
wie kann man die Attribute z.B. auf Dashboard mit einblenden lassen?
Im Moment sehe ich das ja nur unter dem sensor
auf Dashboard sieht es aktuell wie folgt aus
Mit einem Templatesensor wo du den attributes Bereich unter state eingibst.
also wäre das ähnlich wie oben, jedoch umgekehrt
anstatt entities die state variante
Probiere es damit:
- sensor:
- name: Alle Fensternamen
unique_id: "offene_fensternamen"
state: >-
{% set entities = expand('binary_sensor.fenster_status') | selectattr('state','eq','on') | map(attribute='name') | list | join(', ') %}
{%- for s in entities -%}
{{ s }}
{%- endfor %}
Ich habe es so umgesetzt
type: vertical-stack
cards:
- type: tile
entity: sensor.lichter
show_entity_picture: true
color: orange
name: ' '
vertical: false
- type: custom:mushroom-template-card
primary: ''
icon: ''
multiline_secondary: true
secondary: >-
{{ expand('light.all_lights') | selectattr('state','eq','on') |
map(attribute='name') | list | join(', ') }}
badge_icon: ''
fill_container: false
tap_action:
action: navigate
navigation_path: /lovelace/glance
card_mod:
style: |
ha-card {
border-top: 0 none;
border-top-left-radius: 0;
border-top-right-radius: 0;
margin-top: -20px;
}
light.all_lights ist eine Gruppe mit allen Lampen und sensor.lichter der Sensor.
vielen Dank, es funktioniert wie folgt: