Zigbee

Aus TippvomTibb
Zur Navigation springen Zur Suche springen

Allgemeines

Erst war ich skeptisch, ob Zigbee das Richtige als Ergaenzung fuer mein EIB/KNX ist. Es gab tatsaechlich in meinem Haus einen Fall, bei dem die vorhandene Elektroinstallation es nicht erlaubte eine Leuchte direkt (ohne Kernbohrungdurch die Stahlbetondecke) an den KNX anzuschlieszen. WLAN fuer 230V-Schalter war fuer mich OK. Die Datenerfassung von Temperatur, Praesenz, usw. per KNX war an vielen Stellen aber schlecht oder gar nicht moeglich. Neben WLAN habe ich jetzt noch ein Zigbee-Netz installiert.

Vorabueberlegungen

  • Matter ist keine Alternative. Es ist einfach noch nicht soweit.
  • Ich brauche keine App-Unterstuetzung.
  • Die Integration in Home Assistant soll nur ueber MQTT laufen.

NB: HA zu einer Eierlegendenwollmilchsau zu machen halte ich fuer keine gute Idee. Das heiszt fuer mich so viel als geht in MQTT zentieren und in HA (oder FHEM) die Automation hinterlegen. ZHA ist ueberfluessig. Zigbee2MQTT im docker auf meinem Homeserver war die beste Wahl.

Startschwierigkeiten

Nach der Installation von Zigbee2MQTT auf dem Homeserver habe ich auch eine Zigbee-Coordinator Anbindung über LAN probiert. Ich habe aber der USB-Stick Anbindung den Vorzug gegeben.

Erst hatte ich den default Kanal 11 belassen, aber schnell festgestellt, dass die Zigbees gegen mein WLAN (6 APs im Haus verteilt) nicht angkommen (Verbindungsabbrueche).

Zigbee unbedingt Kanal 25 einstellen.

Die zweite Huerde war, dass ich die notwendige Anzahl der Router unterschaetzt habe.

Nur steckerbetriebene Devices besitzen Routerfunktionalitaet. 

Das fuehrte dazu, dass ich 10 weitere Smartplugs installiert habe, einfach nur um das Netz zu stabilieren.

Der durchschnittliche Abstand fuer ein stabiles Netz ist beim mir etwa 5 Meter.

Was ich nervig finde ist, dass auch den Devices die IEEE-Address nicht abgedruckt ist. Ich habe schon nach den ersten 10 Devices (mittlerweile ueber 30) den Ueberblick verloren. Also alles auf Anfang und nach jedem Join direkt die IEEE-Address auf das Device geschrieben und gleich in Zigbee2MQTT den Installationsort in der Device-Beschreibung vermerkt.


HA Automation

HA ist zwar ganz nett, aber das unendliche Geklicke nur um einen Schalter mit einem Socket zu verbinden finde ich nervig.

Was ich brauche ist schnell und einfach eine Verknuepfung Zigbee -> MQTT -> Zigbee/KNX oder KNX -> MQTT -> Zigbee

automation.yaml

- id: '1774891422778'
  alias: Licht_indirekt
  description: ''
  triggers:
  - trigger: mqtt
    options:
      topic: zigbee2mqtt/0x00124b002919efa7
  conditions:
  - condition: template
    value_template: '{{ trigger.payload_json.action == ''single'' }}'
  actions:
  - action: light.toggle
    metadata: {}
    data: {}
    target:
      entity_id: light.ug_r8_hobby_licht_indirekt
  mode: single

In dem Automationen-GUI wird der Eintrag in 3 Portionen angeboten.

Sobald (triggers)

trigger: mqtt
options:
  topic: zigbee2mqtt/0x00124b002919efa7

Und wenn (conditions)

condition: template
value_template: "{{ trigger.payload_json.action == 'single' }}"

Dann

action: light.toggle
metadata: {}
data: {}
target:
  entity_id: light.ug_r8_hobby_licht_indirekt <- KNX.Entity


https://www.home-assistant.io/faq/unique_id

HA "Programmierung"

Bei **Home Assistant** kannst du die `configuration.yaml` **nicht komplett per CLI neu laden**, aber du kannst:

  • die Konfiguration prüfen
  • Home Assistant neu starten
  • einzelne YAML-Bereiche neu laden

Hier sind die relevanten Befehle.

---

  1. 1. Konfiguration prüfen (ohne Neustart)

```bash ha core check ```

prüft die `configuration.yaml` auf Fehler.

---

  1. 2. komplette Konfiguration neu laden (Neustart)

```bash ha core restart ```

lädt die gesamte YAML neu.

---

  1. 3. nur YAML neu laden (ohne Neustart)

nicht alles kann hot-reload, aber viele Bereiche schon:

```bash ha core reload ```

lädt unterstützte YAML-Komponenten neu.

---

  1. 4. nur MQTT neu laden

wenn du MQTT Entities geändert hast:

```bash ha mqtt reload ```

---

  1. 5. Alternative über Service Call

```bash ha service call homeassistant.reload_core_config ```

oder z. B.:

```bash ha service call mqtt.reload ```

---

  1. 6. wenn du Home Assistant Container nutzt

```bash docker restart homeassistant ```

---

  1. typische Nutzung

nach Änderung:

```bash ha core check ha core restart ```

---

  1. Übersicht

| Zweck | Befehl | | ----------------- | --------------- | | config prüfen | ha core check | | alles neu laden | ha core restart | | teilweises reload | ha core reload | | mqtt reload | ha mqtt reload |

---

wenn du möchtest, kann ich dir auch zeigen:

  • welche YAML Teile ohne Neustart reloadbar sind
  • wie man YAML Fehler schneller findet
  • wie man config automatisch prüfen lässt