# Zigbee2MQTT

zigfred kann direkt über die Open-Source Software Zigbee2MQTT und den ConBee II USB Stick in viele unterschiedliche Smart Home Systeme wie Home Assistant eingelernt werden. Mittels Tastendruck-Ereignissen löst man nun beliebige Automationen aus, oder steuert die angeschlossenen Geräte am zigfred bequem über das Webinterface von Zigbee2MQTT, via Home Assistant, oder per Sprache.

So lässt sich z.B. auch dein Sonos bequem über die zigfred Tasten fernsteuern.

Dabei übernimmt der Zigbee2MQTT zusammen mit dem ConBee II USB Stick die Aufgabe des Zigbee-Gateways (ähnlich einer Philips Hue Bridge) und bietet über das Nachrichten-Protokoll MQTT deinem Home Assistant eine Schnittstelle um deine zigfreds und anderen Zigbee-Geräte einzubinden.

{% hint style="warning" %}
**Storenzustand "unbekannt"**\
\
Wird bei dir im Home Assistant (oder im Google Home über Nabu Case) der Storen-Zustand als "unbekannt", statt "offen"/"angeschlossen" angezeigt, kannst die Position und den Neigungswinkel aber über das Home Assistant-Dashboard steuern, hat dies damit zu tun, dass Zigbee2MQTT bei Geräten mit mehreren Storen-Endpunkten den Zustand noch nicht richtig für Home Assistant enkodiert.

Wir haben bereits einen Patch beim Zigbee2MQTT-Projekt eingereicht. Dieser sollte Anfang Oktober eingespielt werden. Du kannst dann ganz einfach dein Zigbee2MQTT-Addon oder Server updaten.
{% endhint %}

{% hint style="info" %}
~~Im Unterschied zu~~ [Zigbee Home Automation für Home Assistant](/zigfred/extras/zigbee_home_automation_for_home_assistant.md) ~~für Home Assistant unterstützt Zigbee2MQTT auch den Neigungswinkel von angeschlossenen Storen, und kann deaktivierte Ausgänge am zigfred ausblenden.~~\
\
**Hinweis: Seit ZHA** [**Version 2023.11**](https://www.home-assistant.io/changelogs/core-2023.11) **wird auch dort der Neigungswinkel von angeschlossenen Storen unterstützt.**
{% endhint %}

## Setup

Du findest im Internet zahlreiche Anleitungen und Videos, wie man Home Assistant mit Zigbee2MQTT einrichtet. Daher haben wir die Schritte nur kurz zusammengefasst.

### Voraussetzungen

* zigfred mit Firmware Version 30 oder höher
* Ein wenig Erfahrung mit Kommandozeile und Programmierung, sowie ein wenig Geduld
* Einen Zigbee2MQTT kompatiblen USB Stick wie z.B. den ConBee II Stick
  * <https://www.zigbee2mqtt.io/guide/adapters/>
  * <https://www.digitec.ch/de/s1/product/dresden-elektronik-conbee-ii-usb-stick-smart-home-hub-11045397?ip=conbee>
* Einen Raspberry Pi, Computer oder Heimserver (Windows oder Linux)

### Einrichten auf Raspberry Pi 4 mit Home Assistant

Zuerst bespielst du deinen Raspberry Pi mit Home Assistant (siehe <https://www.home-assistant.io/installation/raspberrypi/>) und verbindest dich über die Weboberfläche.

Als erstes musst du sicherstellen, dass die  ZHA Integration **nicht** installiert ist. Diese nutzt ebenfalls den lokalen Zigbee USB-Stick und steht daher im Konflikt mit Zigbee2MQTT.

Anschliessend musst du noch folgende Komponenten über die Einstellungen mit ein paar Klicks installieren:

* [MQTT **integration**](https://www.home-assistant.io/integrations/mqtt/): Verbindet sich mit dem lokalen Mosquitto MQTT Broker per MQTT-Protokoll und integriert die verfügbaren Geräte auf der MQTT-Schnittstelle im Home Assistant.
* [Mosquitto MQTT broker **addon**](https://github.com/home-assistant/addons/blob/master/mosquitto/DOCS.md): Bietet Home Assistant und Zigbee2MQTT einen MQTT Broker (Zwischenserver für das MQTT-Protokoll) um die Geräte von Zigbee2MQTT bereitzustellen.
* [Zigbee2MQTT **addon**](https://www.zigbee2mqtt.io/guide/installation/03_ha_addon.html): Verbindet sich mit dem lokalen Zigbee USB-Stick und stellt gegenüber dem MQTT Broker die Zigbee-Geräte bereit.

Generell müssen nur die Einstellungen für den Zigbee USB-Stick im Zigbee2MQTT Addon einkonfiguriert werden.

<figure><img src="/files/q3eyvGxqcwbFWpQxF9z8" alt=""><figcaption></figcaption></figure>

Du hast nun deinen ersten zigfred eingelernt

* Du möchtest die angeschlossenen Geräte direkt über Zigbee2MQTT-Oberfläche ausprobieren? Klicke dazu auf den blauen Gerätenamen-Link (*Friendly Name*) links. Unter "*Details*" findest du dann die einzelnen Regler für Schalter-LED, Licht und Storen.
* Über den blauen Bleistiftknopf kannst du den Schalter umbenennen: Wir empfehlen dir hier noch die Option "*Aktualisiere Home Assistant entity ID*" zu aktivieren. Dann hat dein zigfred gleich auch den richtigen Namen in der Geräteverwaltung und Dashboard von Home Assistant selbst.
* Du hast die Ausgänge nach dem Pairing umkonfiguriert? Mit Klick auf den gelben Refresh-Knopf kannst du die aktuelle Konfiguration ins Zigbee2MQTT übernehmen. Falls du die einzelnen Ausgänge unabhängig im Zigbee2MQTT aktivieren möchtest, kannst du auf den blauen Gerätenamen-Link (*Friendly Name*) klicken und die einzelnen Ausgänge unter "*Einstellungen (spezifisch)*" aktivieren.

Du möchtest nun dein Home Assistant auf dich abgestimmt anpassen? Unter [Home Assistant](/zigfred/extras/home-assistant.md)findest du unsere Tricks und Kniffe.

### Einrichtung Fortgeschritten (Windows, Linux, Mac)

Du möchtest Zigbee2MQTT unabhängig von einem Raspberry Pi installieren? Kein Problem! Zigbee2MQTT ist in Javascript geschrieben und läuft auf nahezu jedem System.

* Installiere Git, mosquitto, node.js und zigbee2MQTT auf deinem System
* Bearbeite die Konfigurationsdatei `data/configuration.yaml` und füge folgende Konfiguration ein:

```yaml
homeassistant: true
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://localhost
serial:
  adapter: deconz
  port: \\.\COM3 # Please change to the correct serial port designator as seen in `Device Manager`
frontend:
  port: 8080
  host: 0.0.0.0
```

* Starte zigbee2MQTT neu und füge deine zigfreds über die Weboberfläche von zigbee2MQTT ([http://localhost:8080](http://localhost:8080/)) ins Netz ein.
* Installiere Home Assistant auf diesem oder einem anderen System
* Danach musst du nur noch das MQTT Plugin im Home Assistant (<https://www.home-assistant.io/integrations/mqtt/>) einrichten. Per zigfred App kannst du das Tastenlayout richtig einlernen und solltest die Tasten drücken, damit Home Assistant die Taste erkennt.
* Die Tasten können nun mit einer neuen Automation im Home Assistant einprogrammiert werden.
* Parallel kannst du die Front-Tasten von zigfred via zigfred App direkt mit Zigbee-Funktionen belegen. So funktioniert ein Grossteil der Leuchten auch bei einem Ausfall deines Servers weiterhin.

#### Tasten-Layouts

Je nach Tasten-Layout sind die Tasten-Ereignisse im Home Assistant unterschiedlich. Die folgende Grafik hilft dir dabei, die Tasten am zigfred den *Buttons* in Home Assistant zuzuordnen.

![Zuordnung der Tasten-Layouts zu den Tasten-Ereignissen in Home Assistant.](/files/DR6BNaE09w1yfHHmE5nu)

Ein kleines Video direkt aus dem Labor :smile:

{% embed url="<https://youtu.be/8ut8sUxUceQ>" %}

## Für Entwickler

Die zigbee2MQTT-Event-Signaturen für zigfred uno findest du unter <https://www.zigbee2mqtt.io/devices/ZFU-1D-CH.html>

Die zigfred-Integration für zigbee2MQTT findest du in den folgenden Repos:

* <https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/devices/siglis.js>
* <https://github.com/Koenkk/zigbee-herdsman/blob/master/src/zcl/definition/cluster.ts>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zigfred.ch/zigfred/extras/zigbee2mqtt.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
