6. Project6 - Homeassistant¶
Im Rahmen dieses Versuchs wird ein Smarthome-System aufgebaut, das verschiedene Kommunikationstechnologien und Geräte integriert. Ziel ist es, ein Zusammenspiel zwischen WLAN- und Zigbee-basierten Komponenten herzustellen und deren Steuerung über Home Assistant zu untersuchen.
Der zentrale Knotenpunkt des Systems ist ein Raspberry Pi, auf dem Home Assistant läuft. Dieser übernimmt die Rolle der Steuerzentrale und verbindet sich mit den übrigen Geräten im Netzwerk. Um realistische Bedingungen zu schaffen, wurde ein separater WLAN-Router konfiguriert, der das Heimnetz simuliert und in dem alle Komponenten eingebunden sind.
Folgende Geräte wurden in das System integriert:
Sonoff Mini R2: Ein kompakter WLAN-Schalter, der hinter einem klassischen Wandschalter installiert werden kann. Er übernimmt die Schaltfunktion der angeschlossenen Lampe und kann sowohl physikalisch als auch per Software gesteuert werden. Für die Nutzung im Versuch wurde das Gerät mit Tasmota geflasht.
MagicHome LED-Controller: Ein LED-Controller, der handelsübliche 12–24V LED-Streifen ansteuert. Die originale Firmware wurde durch OpenBeken (OpenBK602) ersetzt, um die Integration in Home Assistant zu ermöglichen.
Zigbee-Fernbedienung: Zur Steuerung von Geräten über das Zigbee-Protokoll wird eine Zigbee-Fernbedienung eingesetzt. Diese wird über einen Sonoff Zigbee 3.0 USB Dongle Plus in das System eingebunden. Der Dongle fungiert als Zigbee-Koordinator und ermöglicht die Kommunikation zwischen Zigbee-Geräten und Home Assistant.
6.1. Verwendete Techniken¶
Im Folgenden werden die im Versuch eingesetzten Technologien und Geräte vorgestellt. Eine grundlegende Einführung in MQTT wurde bereits in einem früheren Versuch behandelt und wird daher hier nicht erneut erläutert.
6.1.1. Homeassistant¶
Homeassistant ist eine Open-Source-Plattform für die Heimautomatisierung, die lokal betrieben wird und eine Vielzahl von Geräten und Protokollen unterstützt, darunter Zigbee, Z-Wave, WLAN und Bluetooth.
Wichtige Funktionen: - Zentrale Benutzeroberfläche für die Steuerung aller verbundenen Geräte - Automatisierungen auf Basis von Zuständen und Zeitplänen
Im Versuch dient Home Assistant als Steuerzentrale und Schnittstelle für die Integration aller Geräte, einschließlich der Zigbee-Komponenten über den Sonoff USB-Dongle.
Quelle: https://www.home-assistant.io/
6.1.2. Sonoff Mini R2¶
Der Sonoff Mini R2 ist ein kompakter WLAN-Schalter, der in bestehende Lichtschalter integriert werden kann. Er wird im Versuch mit der alternativen Firmware Tasmota geflasht, um die Integration in Home Assistant über MQTT zu ermöglichen.
Der Einbau erfolgt typischerweise in einer Unterputzdose hinter dem vorhandenen Lichtschalter. Dabei sind folgende Anschlüsse korrekt zu verbinden:
L (Phase): Eingangsspannung (230 V)
N (Neutralleiter): Rückleiter für die Stromversorgung
S1 / S2: Kontakte für einen externen Schalter (z. B. Taster oder Kippschalter)
LOUT: Ausgang zur angeschlossenen Lampe (geschaltete Phase)
Der angeschlossene Lichtschalter wird zwischen S1 und S2 angeschlossen, um eine manuelle Steuerung zu ermöglichen. Über LOUT wird die Lampe ein- bzw. ausgeschaltet – entweder über den physischen Schalter oder über MQTT-Kommandos aus Home Assistant.
Merkmale: - Steuerbar über WLAN, MQTT oder physikalischen Schalter. - Kompatibel mit Tasmota. - Integrierbar in Home Assistant zur automatisierten Steuerung. - Kompakte Bauform, passend für Standard-Unterputzdosen.
Quelle: https://sonoff.tech/product/diy-smart-switches/mini-r2/
6.1.3. MagicHome LED-Controller¶
Der MagicHome-Controller ist ein LED-Controller, der LED-Streifen mit 12–24V versorgen und individuell steuern kann. Im Versuch wird die Original-Firmware durch OpenBeken (OpenBK602) ersetzt, wodurch eine direkte Steuerung über Home Assistant ermöglicht wird.
Steuerung per Webinterface und MQTT.
Unterstützung für RGB(W)-LED-Streifen.
Kompatibel mit Home Assistant nach manueller Konfiguration.
Quelle: https://openbekeniot.github.io/
6.1.4. OpenBeken¶
OpenBeken (auch bekannt als OpenBK7231) ist eine alternative Open-Source-Firmware, die speziell für Geräte mit Nicht-ESP-basierten Controllern entwickelt wurde – insbesondere für Chipsätze wie BK7231N, BK7231T oder BL602(dieser Chip wird im Versuch verwendet). Diese Chips werden häufig in günstigen WLAN-Smart-Geräten verwendet, die nicht mit Tasmota oder ESPHome kompatibel sind.
OpenBeken bietet ähnliche Funktionen wie Tasmota: - Steuerung über Webinterface und MQTT - Unterstützung für Relais, LEDs, Sensoren u.v.m. - Kompatibilität mit Home Assistant
Im Versuch wird OpenBeken auf dem MagicHome LED-Controller mit einem BK7231T (OpenBK602) Chip eingesetzt, um diesen in das bestehende Smarthome-Netzwerk zu integrieren.
Quelle: https://openbekeniot.github.io/
6.1.5. Tasmota¶
Tasmota ist eine alternative Open-Source-Firmware für Geräte mit ESP8266- oder ESP32-Chipsätzen. Sie ermöglicht eine lokale Steuerung über Weboberfläche oder MQTT – ohne Cloud-Abhängigkeit.
Unterstützt viele Geräte wie Schalter, Sensoren und Controller.
Einfache Integration in Home Assistant.
Umfangreiche Dokumentation.
Quelle: https://tasmota.github.io/docs/
6.1.6. Zigbee¶
Zigbee ist ein energieeffizientes, drahtloses Mesh-Netzwerkprotokoll, das sich ideal für Smarthome-Geräte eignet. Zigbee-Geräte kommunizieren direkt oder über Zwischenknoten, was die Reichweite erhöht.
Im Versuch wird eine Zigbee-Fernbedienung über einen USB-Zigbee-Koordinator in das System eingebunden. Dadurch können auch Zigbee-Geräte über Home Assistant angesprochen werden.
Typische Eigenschaften: - Hohe Energieeffizienz - Mesh-Netzwerkstruktur - Lokale Kommunikation ohne Cloud
Quelle: https://csa-iot.org/all-solutions/zigbee/
Im Versuch wird derSonoff Zigbee 3.0 USB Dongle Plus eingesetzt mit folgenden Merkmalen: - Unterstützt Zigbee 3.0 (kompatibel mit vielen Herstellern) - Open-Source-freundlich, ideal für den Einsatz in Bastelprojekten - Einfache Integration in Home Assistant - Breite Unterstützung in der Community
Quelle: https://sonoff.tech/product/smart-home-security/zigbee-dongle-plus/
6.1.7. WLAN-Netzwerk¶
Zur Simulation eines realistischen Heimnetzwerks wurde ein separater WLAN-Router konfiguriert. Alle Komponenten des Versuchsaufbaus – einschließlich Raspberry Pi, Sonoff Mini und MagicHome-Controller – sind darüber miteinander verbunden. Dies ermöglicht die Kommunikation im geschlossenen Testnetz.
Dieser Aufbau zeigt die flexible Kombinierbarkeit von WLAN- und Zigbee-Komponenten in einem Smarthome-System. Durch die zentrale Steuerung über Home Assistant und die Nutzung standardisierter Protokolle wird eine robuste, modulare Systemarchitektur geschaffen.
6.2. Flashen von Sonoff R2 Mini¶
Der Sonoff Mini R2 wird im Versuch über den integrierten DIY-Modus mit der alternativen Firmware Tasmota geflasht – ganz ohne Löten oder zusätzliche Hardware.
Durch längeres Drücken der Taste am Gerät wird der DIY-Modus aktiviert, wodurch der Schalter in den AP-Modus wechselt. Verbindet man sich mit diesem (Passwort 12345678), fordert der Sonoff einen auf, ein WLAN mit Passwort einzugeben.
Im angegebenen Netz wird über das offizielle DIY-Tool von Sonoff die zuvor heruntergeladene Tasmota `.bin`-Datei auf das Gerät übertragen.
Nach dem erfolgreichen Flashen konnte der Schalter wie gewohnt eingerichtet werden. Wenn der OTA-Flash-Vorgang (over-the-air) nicht funktioniert, so ist Löten angesagt. Dafür wird die Platine aus dem Gehäuse entnommen und auf der Rückseite die 4 Lötpunkte mit Jumperkabeln verbunden.
Der Controller basiert auf einem ESP und spricht UART. Dafür wird ein USB-UART-Adapter benötigt. Wichtig ist zu beachten, dass man TX auf RX verbindet und beim Einschalten den Button gedrückt hält, damit der Flashmodus aktiviert wird. Dann kann man ihn mit esptool und einer kompatiblen .bin-Datei flashen.
Die weitere Einrichtung und MQTT-Anbindung wurde bereits in einem früheren Versuch behandelt und wird hier nicht erneut beschrieben. Als einzige Neuheit kommt hinzu, dass man den richtigen GPIO-Pin vom Controller als Switch konfigurieren muss.
6.3. Flashen eines Magichome LED-Controller¶
Um den MagicHome LED-Controller in das Smarthome-System über MQTT und Home Assistant zu integrieren, wurde die originale Firmware durch OpenBeken ersetzt. Dieser Controller basiert auf einem BL602-Chip (kein ESP), weshalb ein spezieller Flash-Vorgang notwendig ist – z.B. mithilfe des Bouffalo Lab Dev Cube Tools unter Windows.
6.3.1. Benötigte Materialien:¶
MagicHome LED-Controller mit BL602-Chip
USB-zu-Seriell-Adapter (z.B. FTDI-Modul, 3.3V)
Jumper-Kabel
Optional: Widerstand oder Taster für BOOT-Modus
PC mit Windows + Bouffalo Lab Dev Cube (https://dev.bouffalolab.com/download)
6.3.2. Anschluss der Pins:¶
Der Controller muss über folgende Pins mit dem USB-Adapter verbunden werden:
TXD → an RX des Adapters
RXD → an TX des Adapters
GND → an GND
VCC / VDD → an 3.3V (kein 5V!)
BOOT → während des Einschaltens auf GND ziehen
(z.B. mit einem Widerstand)
6.3.3. Flashen mit Bouffalo Lab Dev Cube:¶
- Tool starten:
Bouffalo Lab Dev Cube entpacken und starten (BLDevCube.exe)
„BL602/604“ als Chip auswählen
- Verbindung konfigurieren:
Interface: UART
COM Port: Den richtigen Port des FTDI-Adapters wählen (z.B. COM4)
UART Rate: 2000000
Board: IoTKitA
Xtal: 40M
Optional: Chip Erase = False
- Firmware-Dateien auswählen:
Factory Params: Datei mit Parametern (z.B. .dts)
Partition Table, Boot2 Bin, Firmware Bin: aus OpenBeken-Ordner
Die Datei OpenBL602_x.xx.xxx.bin bei „Firmware Bin“ auswählen
- Flash-Vorgang starten:
Stromversorgung sicherstellen
BOOT mit GND verbinden (gedrückt halten oder über Widerstand)
„Download“ klicken und warten, bis „success“ im Log erscheint
Verbindung trennen, BOOT-Verbindung entfernen und Gerät neustarten
Nach dem Neustart erscheint ein WLAN-Netzwerk (z.B. OpenBK_XXXX). Über dieses kann das Gerät eingerichtet werden (z.B. WLAN, MQTT, LED-Pins). Die Einrichtung wurde in einem früheren Versuch behandelt, da sie gleich ist zur Tasmota Einrichtung. Auch hier muss wieder eine Pinkonfiguration vorgenommen werden.
6.4. Installation des Raspberry¶
Für die installation des RaspberryPi4 stehen zwei Optionen zur verfügung. Entweder man installiert eine Linux Distribution, wie RaspbianOS und setzt Home Assistant und Zigbee2MQTT über Docker auf oder man Installiert das HomeAssistantOS und fügt Zigbee2MQTT dort als Plugin hinzu.
6.4.1. Methode 1: Installation über Raspbian mit Docker¶
Raspberry Pi OS installieren
Herunterladen des Raspberry Pi Imager.
Installieren von Raspberry Pi OS auf einer MikroSD.
Aktivieren von SSH durch eine leere Datei ssh im Boot-Verzeichnis.
Pi starten und per SSH verbinden.
System vorbereiten
sudo apt update && sudo apt upgrade -y sudo apt install -y docker.io docker-compose git sudo usermod -aG docker $USER reboot
Home Assistant Container einrichten
version: "3.7" services: homeassistant: container_name: homeassistant image: ghcr.io/home-assistant/home-assistant:stable volumes: - ./homeassistant_config:/config - /etc/localtime:/etc/localtime:ro restart: unless-stopped privileged: true network_mode: host
Zigbee2MQTT Container einrichten
version: "3.7" services: zigbee2mqtt: container_name: zigbee2mqtt image: koenkk/zigbee2mqtt volumes: - ./zigbee2mqtt_data:/app/data - /run/udev:/run/udev:ro devices: - "/dev/ttyUSB0:/dev/ttyUSB0" restart: unless-stopped network_mode: host environment: - TZ=Europe/Berlin
Docker-Container starten
docker-compose up -d
Zugriff
6.4.2. Methode 2: Installation über Home Assistant OS¶
Dies ist der einfachste und stabilste Weg, Home Assistant inklusive dem Addon Zigbee2MQTT zu betreiben.
Home Assistant OS flashen
Herunterladen des Raspberry Pi Imager.
Installieren von HomeAssistantOS auf einer MikroSD.
Erster Start
Einsetzen der SD-Karte und eines Netzwerkkabels in den Pi und starten.
Warten bis Installation abgeschlossen ist.
Aufruf über: http://homeassistant.local:8123 oder IP-Adresse.
Zigbee2MQTT installieren
Gehe im UI zu Einstellungen > Add-ons > Add-on Store
Hinzufügen des Repository https://github.com/zigbee2mqtt/hassio-zigbee2mqtt
Installieren des Add-on Zigbee2MQTT
Installation des Mosquito Brokers ebenfalls aus dem Addin Store
- Zigbee2MQTT konfigurieren
In Mosquito Broker muss ein User und das Passwort zur Verbindungsherstellung angegebn werden
logins: - username: user password: passwd
In Zigbee2MQTT muss noch der Port des Zigbee USB Dongles angegeben werden
port: /dev/ttyUSB0
6.5. Geräte verbinden¶
Da dies nun geschehen ist müssen die MQTT Daten noch auf den beiden Controllern eingerichtet werden, damit diese sich mit dem Broker verbinden können. Hierfür muss lediglich die Broker IP Adresse und die zuvor konfigurierten Nutzerdaten zur Verbindungsherstellung angegeben werden. Die IP Adresse für die Weboberfläche der Controller finden wir ganz einfach über die Verbindungsliste unseres Routers heraus. Wenn die Einstellungen gesetzt sind findet der Home Assistant die Geräte automatisch unter Einstellungen > Geräte & Dienste. Sobald die Geräte verbunden sind und einen Namen bekommen haben werden diese für den Home Assistant steuerbar gemacht und liefern Daten über den aktuellen Zustand.
Damit diese aber nun auch gestert werden können fügen wir noch eine Fernbedienung hinzu. Da diese aber nur über Zigbee funktioniert nutzen wir das installierte Zigbee2MQTT Addon. In diesem Addon kann der Kopplungsmodus aktiviert werden, welcher auch auf der Fernbendienung aktiviert werden muss. Sobald sich die Geräte dann verbunden haben wird auch die Fernbedienung als steuerbares Gerät im Home Assistant Hinzugefügt.
6.6. Erstellung der Automationen¶
Damit die Lichter nun auch ein und ausgeschaltet werden können benötigt man Automationen. Diese können unter Einstellungen > Automationen und Szenen erstellt werden. Mit einem einfachen Auswahlsystem können hier vier Automationen angelegt werden: - Licht ein - Licht aus - Licht heller - Licht dunkler Nun sind die Lichter durch die Knöpfe des Schalters bedienbar.
6.7. Erstellung eines Dashboards¶
Um die Lichter aber auch ohne Schalter bedienen zu können kann man sogenannte Dashboards bauen. Das sind selbstgestaltete Benutzeroberflächen, um Gerätedaten an zu zeigen oder Geräte zu steuern. Die Dashboards können mit einem einfachen Editor eingerichtet werden.
6.8. Quellen¶
[Raspberry Pi Imager](https://www.raspberrypi.com/software/)
[Docker] (https://www.docker.com/what-docker)
[Home Assistant](https://www.home-assistant.io/installation/)
[Zigbee2MQTT](https://www.zigbee2mqtt.io/)
[Mosquito Broker](https://mosquitto.org/)
[MagicHome-Controller](https://www.youtube.com/watch?v=bs0ylC6xRs0)
[sonoff ota] (https://github.com/rynardtspies/Tasmota-Sonoff)
[sonoff löten] (https://dm1cr.de/sonoff-mini-r2-tasmotizing-und-einbau)