====== Zigbee2Mqtt ======
Offline-Status von Zigbee2MQTT-Geräten erkennen und im Dashboard nutzen
Diese Dokumentation fasst zusammen, wie du den Offline-Status von Zigbee2MQTT (Z2M)-Geräten in Home Assistant (HA) erkennst, ohne extra Binary Sensors zu erstellen. Der Status basiert auf dem nativen "unavailable"-State der Entity (z. B. bei Lampen, wenn sie offline gehen). Z2M publisht den Availability-Status per MQTT an ''zigbee2mqtt/[FRIENDLY_NAME]/availability'' mit Payload wie ''{"state": "online"}'' oder ''{"state": "offline"}''. HA setzt die Entity-State automatisch auf "unavailable", wenn das Gerät nicht erreichbar ist.
==== Voraussetzungen ====
- Zigbee2MQTT installiert und mit HA über MQTT integriert.
- Geräte in Z2M gepaired und friendly_names vergeben.
- MQTT-Broker (z. B. Mosquitto) läuft.
==== Schritt 1: Availability in Zigbee2MQTT aktivieren ====
Aktiviere die Availability-Prüfung, damit Z2M offline-Geräte erkennt. Das funktioniert global oder pro Gerät und verwendet Heartbeats (z. B. alle 10 Minuten).
- Bearbeite ''configuration.yaml'' von Z2M:
availability: true  # Global aktivieren
- Oder pro Gerät (unter ''devices''):
devices:
  '0x00158d0001234567':  # IEEE-Adresse
    friendly_name: 'Deine_Lampe'
    availability: true
- Starte Z2M neu. Teste: Abonniere in MQTT Explorer das Topic ''zigbee2mqtt/Deine_Lampe/availability'' – bei Offline kommt ''{"state": "offline"}''.
==== Schritt 2: Offline-Status in HA erkennen ====
- HA setzt den State der Entity (z. B. ''light.deine_lampe'') automatisch auf "unavailable", wenn Z2M "offline" meldet.
- Überprüfe in **Entwicklertools > Zustände**: Suche die Entity – State ist "unavailable" bei Offline.
- Kein extra Sensor nötig: Nutze direkt ''states('light.deine_lampe') == 'unavailable''' in Templates oder Automationen.
==== Schritt 3: Status im Dashboard anzeigen ====
Nutze Lovelace-Cards, um den Status visuell darzustellen. Für eine kompakte Ansicht (z. B. Gruppe von Lampen) empfehle Mushroom Cards via HACS für Icons und Farben.
- Installiere Mushroom Cards: **HACS > Frontend > lovelace-mushroom**.
- Beispiel für eine horizontale Kachel mit 3 Lampen (YAML in Dashboard-Editor):
type: horizontal-stack
cards:
  - type: custom:mushroom-entity-card
    entity: light.bad_lampe_1
    icon: mdi:lamp
    icon_color: "{{ 'green' if states(entity) != 'unavailable' else 'red' }}"
    primary_info: none
    secondary_info: "{{ 'Online' if states(entity) != 'unavailable' else 'Offline' }}"
    layout: vertical
    card_mod:
      style: |
        :host { --mush-icon-size: 40px; text-align: center; }
  - type: custom:mushroom-entity-card
    entity: light.bad_lampe_2
    icon: mdi:lamp
    icon_color: "{{ 'green' if states(entity) != 'unavailable' else 'red' }}"
    primary_info: none
    secondary_info: "{{ 'Online' if states(entity) != 'unavailable' else 'Offline' }}"
    layout: vertical
    card_mod:
      style: |
        :host { --mush-icon-size: 40px; text-align: center; }
  - type: custom:mushroom-entity-card
    entity: light.bad_lampe_3
    icon: mdi:lamp
    icon_color: "{{ 'green' if states(entity) != 'unavailable' else 'red' }}"
    primary_info: none
    secondary_info: "{{ 'Online' if states(entity) != 'unavailable' else 'Offline' }}"
    layout: vertical
    card_mod:
      style: |
        :host { --mush-icon-size: 40px; text-align: center; }
- Alternative ohne Mushroom: Glance Card (built-in):
type: glance
title: Bad Lampen
entities:
  - entity: light.bad_lampe_1
    name: Lampe 1
    icon: mdi:lamp
  - entity: light.bad_lampe_2
    name: Lampe 2
    icon: mdi:lamp
  - entity: light.bad_lampe_3
    name: Lampe 3
    icon: mdi:lamp
show_state: true
state_color: true
- Hier zeigt "unavailable" rot; passe für custom Text Mushroom an.
==== Tipps und Troubleshooting ====
- Wenn Geräte immer "offline" zeigen: Überprüfe Z2M-Version (z. B. nach Updates wie 2.2.0 kann es Issues geben) und aktiviere Availability.
- Für Alerts: Erstelle Automationen, die auf "to: unavailable" triggern.
- Teste: Schalte ein Gerät aus – nach Timeout (ca. 10 Min.) wechselt der Status.