HowTo: Zigbee – Einen Sonoff zigbee 3.0 USB Dongle Plus für zigbee2mqtt vorbereiten

Damit Ihr mithilfe von zigbee2mqtt auch Zigbee-Sensoren bzw. Aktoren zur Steuerung Eures SmartHome nutzen könnt benötigt Ihr einen Zigbee-Adapter.

Dieser ist die Schnittstelle zwischen Zigbee-Gerät und SmartHome-System (z.B. NodeRed) und ist oft in Form eines einfachen USB-Sticks inkl. Antenne erhältlich.

Einer dieser Zigbee fähigen USB Sticks ist der “Sonoff zigbee 3.0 USB Dongle Plus”.

Dieser ist mit dem sehr leistungsfähigen CC2652P IC ausgestattet und unterstützt somit den Zigbee 3.0 Standard und bis zu 50 direkt (also ohne den Umweg über einen weiteren Router) angeschlossene Sensoren bzw. Aktoren.

Damit dieser Zigbee USB Stick mit zigbee2mqtt kommunizieren kann muss er zunächst jedoch mit der passenden Firmware bestückt werden.

Wie das funktioniert habe ich im folgenden Artikel beschrieben


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/

Affiliatelinks/Werbelinks

Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂 


Voraussetzungen

Hilfreiche Artikel:
Bevor ihr mit diesem Artikel startet solltet ihr einen RaspberryPi soweit vorbereitet haben, dass dieser über das Netzwerk erreichbar und per SSH Steuerbar ist. Außerdem sollte natürlich zigbee2mqtt bereits installiert sein.

Die folgenden Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten.

In der folgenden Listen findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.

Benötigtes Werkzeug:

NumberLink
1xSchraubendreher Set  Bei Amazon kaufen
1xSD Kartenleser  Bei Amazon kaufen

Benötigtes Material:

NumberLink
1xSONOFF Zigbee 3.0 USB Dongle Plus  Bei Amazon kaufen
1xUSB Verlängerungskabel  Bei Amazon kaufen
1x Raspberry Pi  Bei Amazon kaufen
1x Raspberry Pi Netzteil  Bei Amazon kaufen
1x Raspberry Pi Gehäuse  Bei Amazon kaufen
1x Micro SD Karte 64GB  Bei Amazon kaufen


Software zum flashen herunterladen

Damit Ihr den Zigbee USB-Stick mit der passenden Firmware flashen könnt müsst Ihr zunächst die passende Software herunterladen. Diese hilft später dabei die eigentliche Firmware auf den USB-Stick zu kopieren.

Öffnet dazu die Webseite von Texas Instruments (dies ist der Hersteller des verwendeten ICs und der dazugehörigen Flash-Software) unter folgendem Link.

Klickt dann dort auf den Download Button…

…und auf der folgenden Seite auf den

“Download options”-Button

im Abschnitt

“FLASH-PROGRAMMER-2”.

In dem sich öffnenden Fenster solltet Ihr dann die Option

“Windows Installer for SmartRF Flash Programmer”

auswählen.

An dieser Stelle müsst Ihr Euch mit einem TI-Account verifizieren.

Dieser Account kann kostenlos erstellt werden. Folgt dazu einfach dem Link unter

“Register now”.

Danach solltet Ihr zur gezeigten Ansicht weitergeleitet werden. Hier könnt Ihr durch einen weiteren klick auf den gezeigten Downloadbutton…

… den Download der Software starten.

Die heruntergeladene Software müsst Ihr nun noch installieren.

Wie man bei der Installation eines Programms unter Windows vorgehen kann habe ich in dem folgenden Artikel beschrieben.

Während der Installation kann es vorkommen, dass das Gezeigte Fenster angezeigt wird. Dies ist lediglich ein Hinweis, dass zusätzliche Treiber installiert werden und kann mit einen Klick auf “Installieren” bestätigt werden.

Nachdem der Installationsvorgang abgeschlossen ist, könnt Ihr die Software direkt starten.


Korrekte Firmware herunterladen

Bevor es aber mit dem Flashvorgang losgehen kann, müsst Ihr zunächst noch die korrekte Firmware Version herunterladen. Diese ist von dem verwendeten Chip und der gewünschten Konfiguration abhängig. In den meisten Fällen könnt Ihr jedoch die untern verlinkte Firmware verwenden.

Unter dem folgenden Link findet Ihr eine Übersicht der verfügbaren Firmware Versionen und der zugehörigen Hardware.

Die jeweils aktuelle Firmware Version ist hier auch verlinkt.

Alternativ ist unter folgendem Link die aktuelle Firmware Version verlinkt.


Bootloader des USB-Sticks aktivieren

Nun ist nur noch ein letzter Schritt notwendig um den USB-Stick auf den Flashvorgang vorzubereiten. Damit dieser in mit der neuen Firmware bestückt werden kann, müsst Ihr den Bootloader aktivieren. Dies ist ein kleiner Programmbestandteil der aktuell auf dem USB-Stick installieren Firmware, welcher dabei hilft die neue Firmware auf den USB-Stick zu übertragen.

Um den Bootloader zu aktivieren hat der Hersteller des USB-Sticks ein python-Skript zur Verfügung gestellt, welches ich (leicht modifiziert) im folgenden GIT repository hochgeladen habe. Ich habe dabei lediglich die chinesischen Debug-Nachrichten auf Englisch übersetzt. Die Handhabung sollte also noch etwas leichter sein als auf den Screenshots zu sehen.

Spätestens jetzt solltet Ihr den Zigbee USB-Stick an Euren Computer anschließen.

Navigiert also in das oben verlinkte GIT repository und kopiert Euch das python-Skript uartLog.py auf Euren Computer.

Wie Ihr Dateien aus einem GIT repository herunterladen könnt habe ich anhand eines Beispiels in dem folgenden Artikel beschrieben.

Nachdem Ihr das Skript heruntergeladen habt könnt Ihr es starten. Öffnet dazu eine Eingabeaufforderung, navigiert zum Speicherort des Skripts und führt den folgenden Befehl aus.

python uartLog.py

Ggf. müsst Ihr zum erfolgreichen Start die pySerial und/oder gevent Bibliothek installieren. Dazu müsst Ihr die folgenden Befehle ausführen.

pip install pyserial

pip install gevent

Das Skript führt nun ein paar einfache Schritte aus und listet dann alle verbundenen COM-Ports auf. Hier kann es passieren, dass mehr als ein COM-Port gefunden werden. In diesem Fall müsst Ihr den COM-Port der zu Eurem Zigbee USB-Stick gehört angeben.

Sollt Euer USB-Stick dort nicht erkannt werden müsst ihr eventuell zunächst den passenden Treiber installieren. Den Treiber findet Ihr unter folgendem Link. (Danke an Christopher für den Hinweis. 🙂 )

In diesem Beispiel erkennt Ihr den korrekten COM Port an der Zeile die mit dem Eintrag

“Silicon Labs CP210x USB to UART Bridge”
also COM14

Sollten bei Euch mehrere Geräte mit diesem Eintrag vorhanden sein ist es am einfachsten wenn Ihr alle anderen Geräte zunächst vom Computer trennt, das Skript neu startet und dann fortfahrt.

In jedem Fall müsst Ihr aber die Nummer des zugehörigen COM Ports eingeben und mit Enter bestätigen.

In dem hier gezeigten Beispiel also “14” für COM14.

Das Skript führt dann alle notwendigen Schritte aus um den Bootloader auf Eurem USB-Stick zu aktivieren.

Wichtig: Ab jetzt dürft Ihr den USB-Stick nicht mehr von Eurem Computer trennen. Falls doch müsst Ihr das Skript erneut ausführen um den Bootloader wieder zu aktivieren.


Flashvorgang starten

Nun könnt Ihr (endlich) mit dem Flashvorgang starten. Startet dazu – falls noch nicht geschehen – die zuvor Installierte Software

  • SmartRF Flash Programmer 2

In der gezeigten Ansicht solltet Ihr in der oberen linken Ecke wieder Euren Zigbee USB-Stick auswählen. Ihr erkennt diesen wieder an dem Eintrag

“Silicon Labs CP210x USB to UART Bridge”

Wählt hier dann den Eintrag “Unknown” darunter aus.

Danach solltet Ihr den auf dem Zigbee USB-Stick verwendeten IC auswählen. In diesem Fall ist das der

CC2652P

Wählt den entsprechenden Eintrag in der Liste unten Links aus.

Dieser Schritt ist optional:

Falls Ihr von einem anderen Zigbee Stick migriert und direkt eine bekannte MAC Adresse auf den USB-Stick übertragen wollt, müsst Ihr in den Reiter

MAC Address

wechseln.

Dieser Schritt ist optional:

Tragt die Gewünschte MAC Adresse dann in das Textfeld bei „Secondary Address” ein. Achtung: Im Bild ist das falsche Textfeld markiert! Das korrekte Textfeld ist das mit der Beschriftung „Secondary Address”.

Weitere Infos dazu findet Ihr auch in dem Artikel

Die zu flashende Firmware könnt Ihr dann durch einen Klick auf den Button

Browse

auswählen.

Die Firmware habt ihr in einem der vorherigen Schritte heruntergeladen.

Der Pfad zu der ausgewählten Firmware wird dann in dem markierten Textfeld angezeigt.

Nun könnt Ihr den Flashvorgang starten.

Setzt dazu die Häkchen wie gezeigt und klickt auf den markierten Pfeil-Button.

Der Flashvorgang startet nun und dessen Fortschritt wird im unteren Bereich angezeigt.

Sobald dieser erfolgreich abgeschlossen ist wird hier die Meldung

Success!

angezeigt.


Konfigurationsdatei von zigbee2mqtt aktualisieren

Damit zigbee2mqtt weiß unter welcher Adresse es den neuen Zigbee USB-Stick ansprechen kann müsst Ihr nun noch die Konfigurationsdatei von zigbee2mqtt korrekt konfigurieren.

Damit dies funktioniert solltet Ihr jetzt Euren Zigbee USB-Stick mit dem Raspberry Pi verbinden auf dem zigbee2mqtt installiert ist.

Mit dem folgenden Befehl könnt Ihr nun die angeschlossenen Zigbee USB-Sticks auflisten.

ls /dev/serial/by-id/

In dem gezeigten Beispiel ist lediglich ein USB-Stick verbunden, weshalb hier auch nur ein Eintrag angezeigt wird.

Falls dort mehrere Einträge vorhanden sind solltet Ihr den Eintrag mit dem Identifikationsstring für den “Sonoff Zigbee 3.0 USB Dongle Plus” auswählen.

Kopiert hier die komplette Zeile also:

  • /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_aa2513a6c419ec11abc477e5f01c6278-if00-port0

und speichert sie zum Beispiel in einer Textdatei um sie später in die Konfigurationsdatei einfügen zu können.

Öffnet nun die Konfigurationsdatei von zigbee2mqtt durch Eingabe des folgenden Befehls.

sudo nano /opt/zigbee2mqtt/data/configuration.yaml

Löscht nun ggf. einen bereits vorhandenen Eintrag an der markierten Stelle im Abschnitt “port:”.

Die zuvor kopierte Adresse zu Eurem Zigbee USB-Stick müsst Ihr nun wie im Beispiel zu sehen in die Konfigurationsdatei einfügen.

Achtet dabei auf die korrekte Einrückung und dass unter der Kategorie “port:” nur ein Eintrag vorhanden ist.

Speichert die Änderungen in der Konfigurationsdatei nun durch

  • STRG-X, Y und Enter


zigbee2mqtt neu starten um die Änderungen zu übernehmen

Um die Änderungen der Konfigurationsdatei zu übernehmen solltet Ihr nun noch Eure zigbee2mqtt Installation neu starten.

Dazu müsst ihr lediglich den folgenden Befehl ausführen.

sudo systemctl restart zigbee2mqtt

Zigbee2mqtt sollte nun neu starten und der konfigurierte Zigbee USB-Stick verfügbar sein. Wie Ihr nun Zigbee-Sensoren oder Aktoren hinzufügen und zigbee2mqtt über ein einfaches Dashboard administrieren könnt habe ich in den folgenden Artikeln beschrieben.

In der folgenden Kategorie habe ich außerdem weitere Zigbee-Geräte aufgelistet welche sich mit dem dort angebotenen NodeRed code ansteuern bzw. auslesen lassen.


Weitere Artikel zum Thema

Weitere Artikel zum Thema Zigbee bzw. zigbee2mqtt habe ich in der folgenden Kategorie zusammengefasst. Dort findet Ihr auch Artikel zu diversen Zigbee Geräten und wie diese aus NodeRed angesteuert werden können.

Externe Links:


Viel Spaß mit dem Projekt

Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com       

41 Kommentare

  1. Hi!
    Ersteinmal vielen Dank für diesen Artikel! Ich wollte heute auch meinen Sonoff Stick auf Zigbee2MQTT umstellen und war mit dem Firmware-Upgrade ein wenig überfordert. Dank deiner Anleitung ging alles super einfach! Ich würde allerdings noch hinzufügen, dass es u.U. nötig sein kann die Treiber für den Stick zu installieren bevor dieser vom Python-Skript als serielles Gerät erkannt wird. Die Treiber hab ich hier heruntergeladen: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

      1. Moin,
        der Driver muss aber schon beim Aktivieren ds Bootloaders da sein. Windows erkennt sonst das ganze Gerät nicht als COM-Port.

        Gruß

  2. Hi Fabian,
    danke für die richtig gute und ausführliche Anleitung.
    Hat mir sehr geholfen meine beiden Sonoffs zu flashen.
    Blöderweise dachte ich mir direkt beim zweiten Stick mit der Option “Disable Bootloader” im Flash Programmer den Bootloader dauerhaft zu deaktivieren.
    Leider mit dem Ergebnis daß ich jetzt gar nichts mehr draufflashen kann. 🙁
    Hast Du vielleicht eine Idee wie ich da trotzdem noch ne Firmware flashen kann?
    Danke Dir
    Gruß
    Andre

    1. Hi Andre,
      oh das ist mir bisher noch nicht passiert, deswegen kann ich dir keinen (100%igen) tipp geben.
      Ich würde allerdings mal folgendes ausprobieren.
      Wenn du das Gehäuse von dem USB Stick entfernst könnte auf der Platine ein Taster verbaut sein. Wenn du diesen gedrückt hälst während du den USB Stick in den USB-Anschluss steckst und ca. eine Sekunde nach dem Einstecken losläasst, sollte der Bootlader auch aktiviert werden.
      Das sollte so eigentlich klappen. Habe es aber wie gesagt noch nie ausprobiert. :/
      Beste Grüße
      Fabian

  3. Hi Christopher,
    herzlichen Dank für die Anleitung! Hat fast alles perfekt geklappt.
    Nur die ieee bekomme ich ums Verr.. nicht geflasht. Ich gehe exakt nach deinen Bildern vor. Als ieee hätte ich gern die meines alten Sticks. Also trage ich die bei Mac Address wie im Bild ein und flashe dann die aktuelle Firmware. Die ist auch perfekt geflasht nur eben die ieee nicht.
    Kann es sein, dass sich die nicht per Bootloader flashen läßt? Oder hast du sonst eine Idee, was sein könnte?

    Gruß
    Reiner

    1. Hi Reiner,
      oh ich sehe gerade, dass ich hier einen blöden Fehler gemacht habe.
      Trag deine IEEE bitte mal in das Feld bei “Secondary Address” -> “IEEE 802.15.4 MAC address” ein. Dann müsste es klappen.
      Werde versuchen das im Artikel zu korrigieren. Sorry für die Umstände!
      Beste Grüße
      Fabian

  4. Hi. I got the follwing feedback

    Zigbee2MQTT:info 2022-02-04 12:48:28: Logging to console and directory: ‘C:\zigbee2mqtt\data\log\2022-02-04.12-48-26’ filename: log.txt
    Zigbee2MQTT:info 2022-02-04 12:48:29: Starting Zigbee2MQTT version 1.23.0 (commit #unknown)
    Zigbee2MQTT:info 2022-02-04 12:48:29: Starting zigbee-herdsman (0.14.10)
    Zigbee2MQTT:error 2022-02-04 12:48:59: Error while starting zigbee-herdsman
    Zigbee2MQTT:error 2022-02-04 12:48:59: Failed to start zigbee
    Zigbee2MQTT:error 2022-02-04 12:48:59: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
    Zigbee2MQTT:error 2022-02-04 12:48:59: Exiting…
    Zigbee2MQTT:error 2022-02-04 12:48:59: Error: AREQ – SYS – resetInd after 30000ms
    at Timeout._onTimeout (C:\zigbee2mqtt\node_modules\zigbee-herdsman\src\utils\waitress.ts:64:35)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7)

    Do you have any idea for this problem?

  5. Das Python-Script hat leider nicht funktioniert bei mir (auch wenn es die gleiche Ausgabe hatte wir hier beschrieben). Die Flasher-Software konnte das Gerät nicht erkennen.

    Das Gehäuse aufschrauben und dem Boot-Button beim Einstöpseln des Sticks gedrückt halten hat jedoch schließlich geklappt!

  6. Hallo, vielen Dank für deine informative Beschreibung.
    Ich habe ein Problem und zwar command zeigt mir “no modul name gevent ”
    was soll ich hier machen
    danke

    1. Hi Jamal,
      dann fehlt noch eine Bibliothek. Versuch mal sie zu installieren mit dem Befehl “pip install gevent”. Danach dann das Skript nochmal ausführen. 🙂
      Beste Grüße
      Fabian

  7. Hi,
    bei mir kommt beim Ausführen von python uartLog.py die Fehlermeldung:
    File “uartLog.py”, line 8

    ^
    SyntaxError: invalid syntax

    Was verursacht die Fehlermeldung?

    Grüße
    Sebi

    1. Hi Sebi,
      habe es gerade nochmal probiert und das Skript funktioniert einwandfrei.

      Das Problem wird wahrscheinlich durch das Herunterladen des „nicht RAW“-Inhalts der Python-Datei verursacht. Höchstwahrscheinlich hast du es per Rechtsklick und “Ziel speichern unter” heruntergeladen. In diesem Fall wird nicht die Python-Datei heruntergeladen, sondern die HTML-Seite, die der Ansicht auf die Python-Datei dient.
      Wenn du die Datei korrekt herunterladen möchtest, lade am besten das vollständige Repository herunter oder oder lade die Datei über die RAW-Ansicht hier herunter: https://raw.githubusercontent.com/Nerdiyde/Sonoff_zigbee_3.0_USB_dongle_plus_bootloader_script/main/uartLog.py

      Zusätzliche Infos, wie du das komplette Repository herunterladen kannst, findest du auch hier: https://nerdiy.de/github-wie-kopieren-ich-dateien-aus-einem-github-auf-meinen-computer/

      Beste Grüße
      Fab

  8. IEEE Adresse des alten Zigbee-Coordinater (USB-Dongle) herausfinden… Das ist auf Zigbee2MQTT zugeschnitten. Gibt es eine Möglichkeit das mit der ioBroker zu machen?

    1. Hi Christof,
      Ja das stimmt. Eigentlich müsstest du die Adresse auch mit dem “Smart RF Flash Programmer 2” (der auch in dem Artikel genutzt wird) auslesen können. Hattest du das mal versucht?
      Beste Grüße
      Fabian

  9. Hey, ich muss sagen, nachdem ich jetzt einige Videos zum Thema Flashen des „P“ sticks durch habe und keines funktioniert hat, bin ich nach eiterer Suche auf deine Seite gestoßen. Auch deine Anleitung hat nicht funktioniert.
    Allerdings haben mir deine Bilder, explizit das Bild mit dem Punkt, wo man den PORT angeben muss (hier 14 ) weiter geholfen, denn der nachfolgende Text der Eingabeaufforderung lautete bei dir anders als bei mir.

    Ich habe den Eingabeaufforderungstext der vom starten des Bootloaders zurück gegeben wpurde gerade nicht mehr verfügbar aber es war ein entscheidener Punkt vorhanden, der in deiner Meldung nicht auftaucht.

    Bei Dir steht alles auf:
    xxxxxxx >>> processing
    xxxxxxx >>> processing
    END

    Bei mir sah es wie folgt aus:
    xxxxxxx >>> processing
    xxxxxxx >>> processing
    xxxxxxx >>> 0x(15)
    END

    Ich habe rausgefunden, das hier ein „hardware“ Schalter verbaut ist, der den Bootloader mit Strom versorgt.
    Ich musste den Stick aufschrauben, dann sind, wenn der USB Port auf der rechten seite sitzt, links danneben 2 kleine Punkte ( Buttons) der Rechts ist der Bootloader, der Linke der Resetknopf und links vom Reset knopf ist ein Hebel, den man mit einem Finger auf eine andere Position setzen kann. Erst nachdem ich diesen Hebel umgelegt habe, also an den Rand der Platine, wurde der Bootloader mit Strom versorgt.

    PS. Ich hab den Hebel erst umgelegt und dann in den USB port gesteckt.

    Falls man noch nicht weiß welche Knöpfe und Hebel ich meine:
    Hier gibt es ein schönes Video auf Youtube.

    dannach konnte ich dein Script zum starten des Bootloaders ohne Probleme durchführen und die zurückgegebenen Meldungen entsprachen genau die deines Screenshots.

    Evtl hilft das hier ja jemandem der ebenfalls vergeblich versucht den Stick neu zu Flashen.

  10. Hallo!
    Ist es tatsächlich notwendig den Stick neu zu flashen? Laut diversen reviews auf amazon sollte der Stick ootb mit zigbee2mqtt funktionieren

    1. Hi Christoph,
      bist du sicher, dass er mit zigbee2mqtt funktioniert? Ich hatte nur Hinweise gesehen, dass er direkt mit ZHA aus HomeAssistant funktioniert.
      Im Zweifelsfall würde ich den Empfehlungen in der zigbee2mqtt Dokumentation folgen. Wenn ich es richtig gesehen habe empfehlen die immer noch das flashen der entsprechenden firmware. 🙂
      Beste Grüße
      Fabian

  11. Hallo
    Danke für die tolle Anleitung. Aber verstehe ich das richtig: es ist nicht für den Sonoff Zigbee 3.0 USB Dongle Plus V2 model ZBDongle-E (EFR32MG21) gedacht, oder? Habt ihr da zufällig eine “Abwandlung” dieser Anleitung?
    Danke und Grüsse aus CH
    André

  12. Diese Anleitung hat mir mein Leben gerettet!! Hatte nach einer Anleitung gesucht sauber die Firmware neu auf den Stick zu flashen da ich mein HA von einem PI auf einen NUC migriert hatte und der Stick dann in einem Status hängen geblieben ist den ich nicht anders als mit einen Flash der Firmware beheben konnte! Top Arbeit! Vielen Dank!!

  13. Hoi, ik ben bezig geweest met het flashen van de USB Dongle maar dit wil mij niet lukken. Als eerste heb ik de vraag of jullie dit doen met Windows? Flash programmer draait onder Windows maar hebben jullie ook Python op de Windows machine draaien?
    Ik heb het script niet gebruikt maar de boot button op de print van de dongle. Exact volgens het filmpje hiervoor. Echter ik krijg de volgende foutmelding:
    >ACK/NAK not received. Expected 0x00 0xCC or 0x00 0x33, received 0x78 0x00.
    >ACK/NAK not received. Expected 0x00 0xCC or 0x00 0x33, received 0x80 0x78.
    >No response from device. Device may not be in bootloader mode. Reset device and try again. If problem persists, check connection and baud rate.
    >Connecting over serial bootloader failed: No response from device. Device may not be in bootloader mode. Reset device and try again. If problem persists, check connection and baud rate.
    >Initiate access to target: COM6 using 2-pin cJTAG.
    >Failed to create device object.
    Heeft iemand suggesties wat ik verkeerd doe of beter anders kan doen?

  14. I am trying to provide firmware to a USB dongle for zigbee2mqtt in various ways. For this, I am using Flash Programmer 2 from TI.
    If I do this with the boot button on the dongle, I get various error messages that there is no communication with the dongle. This is seen by the PC.
    If I use the method of opening the port with the Python script described here https://nerdiy.de/en/howto-zigbee-prepa … gbee2mqtt/, I get a log that the port is open and then the dongle is in boot mode, but then Flash Programmer 2 crashes immediately.
    What else can I try?

    1. Hi Hans,
      I have no guaranteed solution here since this never happened during my flashing.
      But two things that might help:
      – Try starting the Flash Programmer 2 with admin rights. Sometimes there are difficulties at accessing the hardware.
      – Make sure that you have the correct zigbee dongle. If I remember right Sonoff is meanwhile also selling a newer version which might be not compatible. :/
      If you like let me know who tis came out. 🙂
      Best regards
      Fabian

  15. I have informed the supplier. He gave the following response:
    This newer E version of the Zigbee dongle from Sonoff is equipped with a Silabs/Silicon Labs EFR32MG21 chip and therefore uses a different firmware upgrade process and, of course, different firmware. The steps you are currently following seem to be designed for the older P version of the Zigbee dongle from Sonoff, which is equipped with a CC2652P chip from Texas Instrument (TI).

    By the way, if you are planning to use this dongle with Home Assistant, I recommend using it with the ZHA (Zigbee Home Assistant) implementation. This dongle works stably with ZHA, but is still experimentally supported within Zigbee2MQTT. In addition, Home Assistant has also released a Zigbee dongle with EFR32MG21 chip, so this Sonoff dongle is also expected to receive good support in the future.

    Because I am working with Domoticz, I need Zigbee2MQTT. So now I will continue searching for a solution.

  16. Klasse Artikel! Besten Dank. Habe auch eben einen SONOFF- Stick geflasht. Am Ende habe ich es mit dem Python- Skripten unter Windows aufgegeben, das Ding aufgeschraubt und den Schalter umgelegt. Dann beim connect den einen Switch zum USB-Port hin gehalten und schon ging´s.

  17. Danke für die Anleitung, ich hatte allerdings ein großes Problem mit dem TI-Flash-Tool. Laut diversen Foren und dem Entwickler “Koenkk” hat das Tool einen Bug und kann das verlinkte Koordinator-HEX-File nicht flashen.

    Dein Script zum aktivieren des Bootloader lief zwar durch, hatte aber leider nicht den gewünschten Effekt.
    Der Bootloader wird nicht aktiviert.
    Ich habe den Stick aufgeschraubt und die Hardwaretasten genutzt. Zudem hat mir der Hinweis von “Vio” geholfen, den Schalter auf dem Board zu betätigen.

    Mein Vorgehen war:
    – Aufschrauben des Sticks
    – Schalter zum Platinenrand schieben
    – Bootloader-Taste gedrückt halten und den Stick dabei einstecken

    Statt des TI-Tool habe ich das “ZigStar Multi Tool” verwendet. Damit lies sich die HEX sofort flashen.
    Hier der Link zum Projekt:
    https://zig-star.com/radio-docs/zigstar-multi-tool/

    Vielleicht hilft es jemanden weiter.

    1. Danke! Genauso war es bei mir auch. Egal, was ich versucht habe, das TI Tool hat immer nur Fehler gebracht.

      Geflasht bekommen habe ich es dann genau wie du:
      1) Aufschrauben
      2) Schalter auf “ON” (zum Platinenrand)
      3) Einstecken während BOOT Knopf am Stick gedrückt wird
      4) Flashen mit ZigStar GW Multi tool v0.3.5:
      – Aktualisieren
      – COM Port auswählen
      – Firmware Datei auswählen
      – Erase, Write, Verify anhaken
      – Start drücken

Kommentar hinterlassen

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.