Table of Contents

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.