Wie viele Lampen sind an und welche genau?

Wie viele Lampen sind gerade eingeschaltet in Home Assistant? Mit folgendem Code kann man sich z.B. einen Template-Sensor erstellen, der einem die Anzahl der eingeschalteten Lampen anzeigt.

Sie können den Code direkt verwenden und z.B. in den Developer Tools unter TEMPLATE ausprobieren!
Open your Home Assistant instance and show your template developer tools.

Anzahl der eingeschalteten Lampen

{{ states.light | rejectattr('attributes.entity_id', 'defined') 
| selectattr('state', 'eq', 'on') | list | count }}

Der Code funktioniert auch bei einer Markdown Card und kann zudem auch als Actionable Notification genutzt werden. So kann einem beim Verlassen des Hauses eine Push-Nachricht gesendet werden, dass z.B. noch 6 Lampen eingeschaltet sind und man eine Schaltfläche mit Soll ich sie ausschalten? angezeigt bekommt!

Welche Lampen sind an?

Soll Home Assistant auch noch die Namen der eingeschalteten Lampen anzeigen, können Sie diesen Code verwenden:

{{ states.light | selectattr('state', 'eq', 'on')
   | rejectattr('attributes.entity_id', 'defined')
   | map(attribute='name') | list | join(', ') }}

Browser Mod generierte Lampen ausschließen

Sie nutzen Browser Mod und es werden auch Lampen angezeigt, die von Browser Mod automatisch generiert wurden?

Anzahl der eingeschalteten Lampen

{{ states.light | selectattr( 'state', 'eq', 'on') 
| rejectattr('attributes.type', 'defined')
| list | count }}

Liste der eingeschalteten Lampen

{{ states.light | selectattr('state', 'eq', 'on')
   | rejectattr('attributes.entity_id', 'defined')
  | rejectattr('attributes.type', 'defined')
   | map(attribute='name') | list | join(', ') }}
template:
  - sensor:
    - name: "Lampen Eingeschaltet"      
      state: "{{ states.light | selectattr( 'state', 'eq', 'on') | rejectattr('attributes.type', 'defined') | list | count }}"
    - name: "Eingeschaltete Lampen"      
      state: >
          {{ states.light | selectattr('state', 'eq', 'on')
            | rejectattr('attributes.entity_id', 'defined')
            | rejectattr('attributes.type', 'defined')
            | map(attribute='name') | list | join(', ') }}