Neue Hardware für den Zigbee-Hub und Home Assistant

Minisforum N40 mit Dongle und Banane

Vor fast 2 Jahren habe ich mich erstmals bewusst mit der Zigbee-Technologie und ihrer Integration in Home Assistant (HA) beschäftigt. Die seinerzeit gewählte Hardware und Software haben weitestgehend einwandfrei ihren Dienst verrichtet. Doch wiederkehrende Probleme wecken den Wunsch nach Veränderung, Probleme, die mit neuer Hardware und alter Software adressiert werden sollen …

Dabei bleibt der Anwendungsfall unverändert: Die Auswertung und Steuerung von ca. 50 Zigbee-Geräten im Außenbereich der Dahlen-Mühle. Leuchtmittel, Sensoren und Steckdosen auf einer Fläche von über 10.000m², ohne direkten Zugang zum Internet und teilweise abseits einer dauerhaften Stromversorgung.

Hardware aktuell

Seinerzeit habe ich einen Raspberry Pi 4 und das Phoscon Raspbee II-Modul als Hardware-Plattform gewählt. Ziel war ein kompakter, unauffälliger Aufbau mit geringem Stromverbrauch. Dieses Ziel wurde erreicht, doch der Betrieb ist nicht frei von Problemen:

  • die SD-Karte im Raspberry Pi 4 macht schlapp, obwohl es sich um eine Endurance-Version von Samsung handelt. Gleichzeitig ist es mir nicht auf Anhieb gelungen, den Raspberry von USB-Stick der -Disk zu booten (wie z.B. beim Raspberry Pi 3)
  • die Raspbee II-Karte werkelt unsichtbar vor sich hin, aber (ich fürchte) ihre Bauform hat negativen Einfluss auf die Reichweite. Gleichzeitig fehlen ihr moderne Funktionen wie Touchlink
  • trotz guter technischer Werte kommt der Raspberry Pi 4 doch an seine Grenzen. Im „Wirkbetrieb“ fällt das wenig auf, aber bei der (remote) Administration kommt es immer wieder zu Wartezeiten

Besonders der letzte Punkt treibt einem die Schweißperlen auf Stirn, wenn man nach einem Reboot aus der Ferne nicht weiß, ob die Kiste einfach noch ein paar Minuten braucht oder man den Weg ins 25km entfernte Elternhaus antreten darf.

Neue Hardware

Die neue Hardware soll entsprechend die identifizierten Ursachen beseitigen und gleichzeitig den unveränderten Anspruch eines unauffälligen 24/7-Betriebs bei geringem Stromverbrauch erfüllen.

Konkret bedeutet dies:

  • sparsame x86-Hardware mit angemessener Leistung
  • kompakt (was zu Lasten der Flexibilität gehen darf)
  • keine beweglichen Teile, wie Lüfter oder mechanische Festplatten
  • einwandfreie Unterstützung durch (Ubuntu) Linux
  • moderne Zigbee Coordinator-Hardware mit hoher Reichweite

Minisforum N40 Mini-PC

Minisforum N40
Minisforum N40

Der Minisforum N40 (Datenblatt) Mini-PC erfüllt die gestellten Kriterien und ist für den angedachten Anwendungsfall mehr als ausreichend:

  • Intel Celeron N4020 CPU (2 Kerne, bis zu 2,8 GHz)
  • 4 GB RAM (DDR4, nicht erweiterbar)
  • 64 GB „eMMC“ SSD
  • 3 USB-A 3.0-Anschlüsse
  • RJ45 GbE LAN und IEEE 802.11ac Dual-Band Wi-Fi

Bei Bedarf kann eine zusätzliche SSD (M.2 2242 SATA 3.0) verbaut werden. Ich habe aber darauf verzichtet, weil nach der Installation und Konfiguration nur 8,5 GB der verfügbaren 56 GB der eMMC belegt waren.

Das Netzteil (DC 12V, 1,5A) liefert bis zu 18 Watt, der tatsächliche Verbrauch des N40 in meiner Konstellation liegt zwischen 3 und 5 Watt. Die CPU ist mit Grafikeinheit, für den Anschluss an Fernseher / Monitor (während der Installation) steht ein Standard-HDMI Port zur Verfügung.

Die Kantenlänge des N40 entspricht übrigens ziemlich genau dem Durchmesser einer Audio CD (wer es noch kennt). Die CPU wird passiv gekühlt, das gesamte System gibt keinerlei Geräusche von sich und wird nicht warm.

SONOFF ZBDongle-P

Bei der Wahl der neuen Coordinator-Hardware fiel die Wahl auf das SONOFF Zigbee 3.0 USB Dongle Plus (kurz: ZBDongle-P), welches auf der Adapter-Seite von Zigbee2MQTT als „recommended“ aufgeführt wird und über einen modernen Texas Instruments CC2652P Chip mit zusätzlichem Verstärker verfügt.

SONOFF Zigbee 3.0 USB Dongle Plus
SONOFF Zigbee 3.0 USB Dongle Plus

Direkt eingesteckt steht das Dongle deutlich über den N40 hinaus. Allerdings wird bei USB 3.0 und Zigbee wg. möglicher Interferenzen der Einsatz einer USB-Verlängerung empfohlen, was eine relativ freie Platzierung des Dongles erlaubt. Genau wie der Minisforum N40 wird das Dongle auch bei max. Verstärkung von 20dBm nicht warm.

Der Einsatz des Dongles mit Zigbee2MQTT ist problemlos und es liefert „vernünftige“ LQI-Werte. Beim Raspbee II steigen diese mit der Zeit von 0 bis 255 und starten dann wieder erneut. Die Aussagekraft des Link Quality Indicators ist zwar begrenzt, aber stabile Werte sind dennoch von Vorteil.

Software: Home Assistant

Unverändert soll Home Assistant in der „Container„-Edition zum Einsatz kommen, in Verbindung mit Zigbee2MQTT. Jedoch werden die bestehende Installation und Konfiguration verworfen und neu aufgebaut. Nach diversen Iterationen des technisch „Machbaren“ gebe ich dem Wunsch meiner Eltern nach und reduziere auf „das Nötigste“: Licht an bei Bewegung in der Dunkelheit.

Auf dem Gelände sind mehrere, batteriebetriebene Bewegungssensoren von Philips Hue verteilt. Diese werden via Automatiken in Home Assistant mit einen oder mehreren Gruppen von Leuchten verbunden und agieren entsprechend – aber nur wenn es draußen dunkel ist.

Die „Sun„-Integration von HA wird verwendet, um über Dunkelheit zu entscheiden: Sie beginnt 15min nach Sonnenuntergang und endet 30min vor Sonnenaufgang. Alternativ kann die tatsächliche Helligkeit als Indikator dienen, denn die Hue Sensoren liefern ensprechene Angaben. Damit wären dunkle Phasen tagsüber abgedeckt (z.B. bei schlechtem Wetter).

Für meine Belange habe ich ein Repository auf Github angelegt, welches aber ausreichend generisch ist und auch für andere Einsteiger hilfreich sein könnte. Quelle und Instruktionen finden sich unter https://github.com/m0wlheld/homeassistant-zigbee2mqtt/.

Leider bedeutet ein Wechsel der Zigbee-Controller-Plattform (von Raspbee II auf den TI CC2652P des Sonoff Dongle) immer auch eine erneute Einbindung (Pairing) der Zigbee-Geräte. Ein Wochenende mit Leiter, Schraubendreher und Wäschekörben voller smarter LEDs ist also garantiert …


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert