Sonoff Zigbee 3.0 USB Dongle Plus

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

Sonoff Zigbee 3.0 USB Dongle Plus
Sonoff Zigbee 3.0 USB Dongle Plus
  • 11.01.2022
  • Level 2
  • Hardware
  • Zigbee

Mittlerweile gibt es hunderte verschiedene Hubs und Sticks, welche gerne Euer Zigbee Coordinator wären. Hersteller integrieren Zigbee direkt in ihre Smart Home Zentralen und sogar Amazon stellt mit dem Echo Plus eine eigene Zigbee-Zentrale zur Verfügung. Das Problem dabei ist meistens, dass man extrem eingeschränkt ist, welche Hardware man dort überhaupt anlernen kann. So kann ich schließlich keine günstigen Buttons von Aqara an meiner Phlips Hue Bridge anlernen. Warum nicht? Weil Philips das nicht möchte. Und ich komme z.B. auch nicht an die Events der im Echo Plus angelernten Geräte. Am Ende sind die meisten Hubs und Sticks da draußen also eine Einbahnstraße. Das lernt man meistens, indem man den Kram einmal gekauft hat und danach nicht in das eigene Smart Home System integrieren kann. Und genau das machen Sticks wie der SONOFF Zigbee 3.0 USB Dongle Plus besser - und das auch noch zu einem guten Preis!

Wegen des angesprochenen Problems hat die DIY Community schon vor vielen Jahren damit angefangen, eigene Firmware für USB-Sticks zu schreiben. Angefangen hat das meines Wissens nach mit dem CC2531 im Jahr 2017. Damals brauchte man noch zusätzliche Hardware (einen CC Debugger) aus Fernost, um überhaupt die Firmware auf das Gerät flashen zu können. Es war also ziemlich kompliziert - gerade für Einsteiger. Warum sollte man das sich das antun? Dennoch waren meine Videos zu dem Thema damals sehr beliebt - und bis heute haben sicher viele die Sticks noch im Einsatz. Gerade für kleine Netze mit wenigen Teilnehmern ist das auch noch völlig ausreichend.

Dann kamen einige Hersteller auf die Idee, dass es doch schön wäre, das Ganz etwas einfacher zu machen. So kam Dresden Elektronik auf die Idee, den Conbee-Stick zu veröffentlichen. Das kam so gut an, dass nach meinem Video der Stick direkt ausverkauft war. Die Leute hatten also Lust auf das Thema. Einige Jahre später kam dann der Conbee II auf den Markt, welcher bis heute sehr beliebt ist. Die Sticks laufen dabei (meistens) mit der originalen Software Phoscon. Mit gut 40 Euro ist der Stick nicht gerade günstig, aber preiswert.

Irgendwann bin ich dann über die Community auf das Entwickler-Board mit dem sperrigen Namen CC26X2R1 aufmerksam geworden. Auch darüber gibt es ein Video auf YouTube. Das nutze ich bis heute sehr gerne, weil man dieses auch mit einfachen mitteln PoE-fähig machen kann. Du ahnst es: Auch dazu gibt es ein Video. Dieses Board läuft ebenfalls mit der Firmware von Koenkk, welche schon damals beim CC2531 zum Einsatz kam. Mittlerweile natürlich auf Basis des aktuellen Zigbee 3 Standards. Und mit Unterstützung für deutlich mehr Geräte. Leider auch mit rund 50 Euro relativ teuer. Und dabei auch noch sehr groß.

Und genau diesen Trend hat Sonoff erkannt. Hier wurde Ende des Jahres 2021 ein Zigbee Stick für die DIY-Community vorgestellt, welcher extrem preiswert ist (um die 15 Euro) und genau den gleichen Chip (CC2652P) verwendet, wie die großen Entwickler-Boards. Das schöne ist, dass dieser mit der gleichen Community-Firmware arbeitet und bereits geflasht zu Dir kommt. Also einstecken und loslegen. Einfacher geht es nicht. Und genau diesen kleinen Stick schauen wir uns heute gemeinsam an.

Wichtig: Leider gibt es mittlerweile zwei verschiedene Sonoff-ZigBee-Sticks, welche optisch auf den ersten Blick nicht zu unterscheiden sind. Hier im Video siehst Du die P-Variante mit einem CC2652P. Weiterhin gibt es eine E-Variante mit einem EFR32MG21. Die P-Variante hat mit ca. 63mm ein etwas längeres Gehäuse. Bei der E-Variante ist das Gehäuse nur ca. 52mm lang. Solltest Du die E-Variante haben, funktioniert diese auch mit dem ioBroker. Es muss dann nur EZSP/EFR32 als Typ in den Instanzeinstellungen gewählt werden!

Zigbee-Stick kaufen

Video

Arduino-Kurs

Firmware Update

Nachdem ich nun sehr häufig gefragt wurde, wie man die Firmware des Sticks auf die aktuellste Version bringt, möchte ich das auch noch zeigen. Am Ende ist es relativ einfach, da es auch hier wieder super Tools aus der Community gibt. Man kann den Stick also direkt unter Linux flashen - also auf dem System, wo er eh verwendet wird. Da das Tool unter Python läuft, brauchen wir Python 3 auf dem System (was bei Rasbian vorinstalliert ist).

python --version

Wird hier Version 3.x ausgegeben, ist alles okay. Ansonsten gibt es weiter unten eine Anleitung wie man das korrigieren kann.

Außerdem brauchen wir pip und venv auf dem System, welches ebenfalls am einfachsten über den Paketmanager installiert werden kann:

sudo apt install python3-pip python3-venv

Als nächstes klonen wir das Repository:

sudo apt install git

cd ~
git clone https://github.com/JelmerT/cc2538-bsl.git
cd cc2538-bsl/

In neueren Debian-Versionen erhältst Du ggf. den Fehler “This environment is externally managed”. Dann kann man entweder mit venv arbeiten (oder die Pakete über apt installieren). Erstmal eine neue virtuelle Umgebung erstellen:

python -m venv sonoff
source sonoff/bin/activate

In diesem venv werden dann die Abhängigkeiten installiert:

pip install wheel pyserial intelhex python-magic
pip install .

Jetzt brauchen wir noch die aktuellste Firmware aus dem GitHub-Repository. Stand heute ist das die Version 20230507. Also lade ich die ZIP-Datei mit wget herunter und entpacke diese im gleichen Verzeichnis:

sudo apt install wget

wget https://github.com/Koenkk/Z-Stack-firmware/raw/master/coordinator/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_coordinator_20230507.zip
unzip CC1352P2_CC2652P_launchpad_coordinator_20230507.zip
rm CC1352P2_CC2652P_launchpad_coordinator_20230507.zip

Da wir jetzt alles zusammen haben, kann der Stick auch schon mit der neuen Firmware geflasht werden. Das geht wie folgt:

Wichtig: Bitte beende vor dem Flashvorgang alle Prozesse, welche auf den Stick zugreifen (ioBroker Adapter, zigbe2mqtt oder was auch immer verwendet wird)
python cc2538-bsl.py -p /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_b005234c56c9eb11b4d08f4f1d69213e-if00-port0 -e -v -w --bootloader-sonoff-usb CC1352P2_CC2652P_launchpad_coordinator_20230507.hex

Wie genau der Port (-p) heißt, bekommst Du mit folgendem Befehl raus:

ls -la /dev/serial/by-id/

Fertig! Jetzt kannst Du die Software Deiner Wahl wieder starten und den Stick normal weiter verwenden. Das venv kann mit folgendem Befehl verlassen werden:

deactivate

Aufräumen / Dateien löschen:

cd
rm -rf cc2538-bsl/

Python-Version

Gerade Nutzer des ioBroker bekommen durch den Installer noch eine alte Python 2.7 Version auf das System installiert. Und viel schlimmer ist, dass diese zum Standard deklariert wird. Zwar kann man mit python3 dann noch auf die aktuellere Verison zugreifen, aber schön ist das nicht. Deswegen helfen die folgenden Befehle, das wieder zu korrigieren:

sudo apt install python-is-python3 python3-dev
sudo apt autoremove
Wichtig: Dieses Tutorial basiert auf Debian 11 (Bullseye) - in vorigen Versionen gibt es das Paket python-is-python3 noch nicht! Bitte aktualisiere Dein Betriebssystem vor der Installation

Transparenz-Hinweis (Level 2)

Für diesen Beitrag wurden mir Produkte kostenfrei zur Verfügung gestellt! Es wurden keinerlei Bedingungen, Richtlinien oder Vorgaben bezüglich der Inhalte, welche ich in meiner Bewertung äußern darf, auferlegt.

Darüber hinaus habe ich keine zusätzliche Vergütung erhalten.

Du willst mehr?

Smart-Home-Trainings von A-Z

Steig' noch tiefer in die Themen ein und meistere Deine Projekte! Über 15.000 Teilnehmer konnten sich schon von der Qualität der Online-Kurse überzeugen.