Template für Anzahl der Zigbee-Geräte, die offline sind

Ich nutze HA 2025.10 und Zigbee2MQTT 2.6.3-1.
Ich habe ca 90 Zigbee-Geräte integriert. Allen Zigbee-Geräten haben das Label Zigbee2MQTT zugewiesen.

Nun möchte ich zwei Helfer erstellen:

Der erste Helfer soll die Anzahl der Zigbee-Geräte ausgeben. Hierfür nutze ich das folgende Template, das die Geräte mit dem Label Zigbee2MQTT zählt. Der Sensor funktioniert problemlos:
{{ label_devices('Zigbee2MQTT') | count }}
Gibt es hierfür eine elegantere Lösung, die nicht auf der manuellen Vergabe von Labels basiert?

Der zweite Helfer soll die Anzahl der Zigbee-Geräte ausgeben, die gerade offline sind. Leider bekomme ich das nicht hin. Meine Versuche mit folgendem Template liefern fälschlicherweise immer 0, obwohl Zigbee-Geräte offline sind.

{{ label_devices('Zigbee2MQTT')
     | selectattr('state', 'in', ['offline', 'unavailable', 'unknown'])
     | list
     | count }}

Wer kann helfen?

@mafe68 hat das, glaube ich, mit Kuma realisiert

Ich zähle nur den online Status von anderen Integration um einen Energy Sensor zu erstellen
Den Status offline geht sonst nur beim Neustarten der Integration (habe mich aber nicht weiter drum gekümmert)
Ich frage eh alle Sensoren ab, wenn einer offline gib’s eine Permanente Benachrichtigung (außer sie sind ausgenommen)

Nein, tut mir leid ich habe nichts in der Richtung hier laufen!

vielleicht findest du in Nie wieder Offline-Geräte übersehen: Smarter Lösungsansatz für Home Assistant Ausfälle! Ideen/Anregungen.

@ww22
mit label_devices findest du Geräte. Geräte habe aber keine Attribute. Nur Entitäten haben Attribute.

Ich habe das Problem nun wie folgt mittels Labels gelöst:

  • Alle Zigbee-Geräte erhalten das Label Zigbee2MQTT

  • Ich habe einen Template-Helfer angelegt, der die Anzahl der Zigbee-Geräte zählt
    Template {{ label_devices(‚Zigbee2MQTT‘) | count }}

  • In der config.yaml habe ich einen Template-Sensor angelegt, der die Anzahl der offline Zigbee-Geräte zählt:

    template:
      - sensor:
          ### Anzahl Zigbee-Geräte offline
          - name: "Anzahl Zigbee-Geräte offline"
            unique_id: anzahl_zigbee_gerate_offline
            icon: mdi:zigbee
            unit_of_measurement: "Geräte"
            state: >
              {% set zigbee_label = 'Zigbee2MQTT' %}
              {% set devices = label_devices(zigbee_label) %}
              {# Hier nutzen wir das volle Wort 'namespace' #}
              {% set count_ns = namespace(total=0) %}
              {% for dev_id in devices %}
                {% set entity = device_entities(dev_id) | first %}
                {% if entity is defined and is_state(entity, 'unavailable') %}
                  {% set count_ns.total = count_ns.total + 1 %}
                {% endif %}
              {% endfor %}
              {{ count_ns.total }}
    

Funktioniert problemlos.