Sonoff Probleme
Inzwischen habe ich die Sonoff Sensoren zwei Jahre im Einsatz. Leider verlieren die Sensoren gelegentlich die Verbindung zu openHAB, ohne dass eine Meldung erfolgt (speziell nach Neustart von openHAB wegen Windows Update oder Stromausfall). Selbst mehrmaliges Reset oder Entfernen der Batterie CR2032 fruchten nicht immer. Anaylsetools sind mir keine bekannt und die openHAB Logfiles sind nicht sehr ergiebig. Alle Einträge (Things, Model, Items) löschen und neu anlernen ist aufwändig, führt aber in der Regel zum Erfolg.Welche Produkte habe ich im Einsatz?
Die Schnittstelle zwischen dem Windows Computer und den Sonoff Sensoren ist der Sonoff Zigbee 3.0 USB Dongle Plus (auf der Unterseite mit Modell ZBDongle-E bezeichnet), der direkt an den USB Port des Computers angeschlossen wird (alternativ auch mit Verlängerungskabel möglich). Wichtig: der ZBDongle-P kann nicht mit openHAB genutzt werden!

Als Sensoren nutze ich die Fenster-/Tür-Sensoren mit der Bezeichnung SNZB-04 und die Bewegungsmelder SNZB-03.

Sensor SNZB-04, im kleinen Gehäuse der Magnet, der das Relais auslöst

Die Platine im Sensor SNZB-04 mit der Bezeichnung ZB-DS01 V1.0 2020/12/17. In die Halterung oben wird die Batterie vom Typ CR2032 eingeschoben. Ganz oben der Mikrotaster (durch ein kleines Loch im Gehäuse zugänglich)
Wenn etwas nicht funktioniert, gibt es mehrere Ansatzpunkte. in diesem Fall hat weder ein neuer Kopplungsversuch (Mikrotaster mehrere Sekunden gedrückt halten), noch das Entfernen der Batterie für mehrere Minuten Erfolg gebracht. Nächste Option: Software Update. Bei Hardware bedeutet das in der Regel Firmware Update. Auf der Suche nach Firmware für den Sensor SNZB-04 bin ich nicht fündig geworden. Es ist durchaus denkbar, dass ein Firmware Update nicht vorgesehen ist. Was ich bei der Recherche festgestellt habe: der Sonoff Sensor vom Typ SNZB-04 wird überhaupt nicht mehr angeboten. Auf der Sonoff Herstellerseite zeigt die Suche lediglich den Sonsor SNZB-04P. Der Bezeichnung nach zu urteilen das Nachfolgeprodukt. Support für SNZB-04? Fehlanzeige! Lediglich ein Kontaktformular wird zur Verfügung gestellt.
Die Suche nach ZBDongle-E liefert zumindest einen Treffer und ganz unten einen Post: How to Flash Firmware on SONOFF ZBDongle-E: Step-by-Step Tutorial. Wie bereits oben erwähnt scheidet das P-Modell für openHAB aus und beim E-Modell benötigen wir den Firmware Typ Coordinator. Für weitere Details wird auf Github verzweigt. Verfügbar (April 2025) sind unter NCP die Versionen 6.10.3 (Firmware Dateiname: ncp-uart-sw_EZNet6.10.3_V1.0.1.gbl) sowie 7.3.3, 7.4.1, 7.4.3 und 7.4.4. Interessanterweise ist nur unter NCP mit der Version 6.10.3 openHAB aufgeführt: "The same firmware version has also been confirmed to work with OpenHAB Zigbee Binding".
Firmware Update mit CoolTerm
In dem Tutorial ist beschrieben wie man mit dem XMODEM fähigen Tool CoolTerm (Download) die Firmware aktualisiert. CoolTerm muss nicht installiert sondern lediglich in passendes Verzeichnis extrahiert werden. Wie in der Anleitung beschrieben müssen nach Aufruf von CoolTerm einige Parameter eingestellt werden.
Alternativen zu CoolTerm: Tera Term oder SecureCRT.
Ungewöhnlich: das Gehäuse des ZBDongle-E muss geöffnet werden, da zum Upload der Firmware die Tasten Boot und Reset auf der Platine gedrückt werden müssen. Diese Taster sind von außen nicht zugänglich!
In der Anleitung (siehe oben) bereits beschrieben, hier meine Screenshots für den Firmware Update mit CoolTerm.
Nach dem Start von CoolTerm wird der Dongle bereits am Port COM3 angezeigt. Der Port ist abhängig vom jeweiligen PC und wird vom Betriebssystem automatisch gesetzt. Über Options erreicht man die Einstellungen.

Standard Einstellung für die Baudrate ist 9600. Diese muss auf 115200 geändert werden. Flow Control Einstellungen wie folgt deaktivieren:

Im Menü Terminal den Line Mode aktivieren und mit OK bestätigen.

Jetzt am geöffneten (und angeschlossenen) Dongle die Boot-Taste drücken und gedrückt halten. Anschließend die Reset-Taste drücken und beide loslassen. Der Dongle sollte sich mit dem Bootloader melden. Bei mir wurden trotz korrekter Einstellungen der seriellen Schnittstelle nur kryptische Zeichen angezeigt:

Dieses Verhalten scheint nicht ungewöhnlich zu sein. Das Drücken der Boot- und Reset-Taste ein paar Mal wiederholen, bis das Bootloader Menü angezeigt wird:

Taste 1 drücken und bestätigen. Auf dem Bildschirm wird das Zeichen C wiederholt ausgegeben.

In dieser Zeit kann der Upload der .gpl Datei erfolgen. Menü: Connection - Send File(s)... , Auswahl XMODEM Protokoll und Select File.... Die von Github heruntergeladene Firmware Datei auswählen und bestätigen.
Der Upload startet:

Meldung der erfolgreichen Übertragung mit OK bestätigen:

Firmware Update mit Browser
Es geht aber auch einfacher! Dafür muss weder das Gehäuse geöffnet werden, noch muss ein XMODEM fähiges Tool heruntergeladen und ausgeführt werden. Benötigt wird ein Browser. Nicht alle Browser funktionieren! Empfohlen wird Chrome.
Folgenden Link aufrufen (an dem Computer, an dem der ZBDongle-E angeschlossen ist):
darkxst.github.io/silabs-firmware-builder/
Der Dongle wird erkannt. Dongle auswählen und auf Verbinden klicken.

Die Verbindung wird aufgebaut:

Die aktuell installierte Version wird angezeigt. Version 6.10.3.0 hatte ich zuvor über CoolTerm installiert. Die aktuelle Version 7.4.4.0 wird vorgeschlagen. Warum nicht? Also mit UPGRADE TO 7.4.4.0 fortfahren.

Der Installationsfortschritt wird angezeigt:

Nach erfolgreicher Installation den Prozess mit X beenden.

Sollte es Probleme mit der Version 7.4.4.0 geben (bei mir läuft diese mit openHAB 5.0.0 ohne Probleme), kann auch eine ältere Firmware installiert werden. Dazu den Browser Link darkxst.github.io/silabs-firmware-builder/ wieder aufrufen. Die aktuell installierte Version wird angezeigt. Auf CHANGE FIRMWARE klicken:

Upload your own firmware anklicken:

Klick auf UPLOAD und Auswahl der von Github heruntergeladenen .gbl Datei. Mit INSTALL die Installation bestäigen.

Windows Treiber
Wird der ZBDongle-E erstmalig mit dem USB-Anschluss des Windows Computers verbunden, wird unter Windows 10/11 automatisch ein Treiber installiert, damit der Dongle Windows intern als serielle Schnittstelle angesprochen werden kann. Welche serielle Schnittstelle dafür konfiguriert wird, hängt davon ab, was auf dem Windows Computer alles konfiguriert ist. Bei mir ist es COM3.
Überprüfen lässt sich das im Windows Geräte-Manager.

Unter Anschlüsse (COM & LPT) wird der ZBDongle-E mit dem Eintrag USB-Enhanced-SERIAL CH9102 (COM3) angezeigt. Ein Doppelklick auf diesen Eintrag bietet die Option den Treiber zu aktualisieren.

Der ursprünglich installierte Treiber ist allerdings noch aktuell (Treiberanbieter: wch.cn, Treiberdatum: 12.12.2021, Treiberversion: 1.6.2021.12).
Nach Firmware Upgrade auf 7.4.4 am 15. Apil 2025 habe ich alle Sonoff Sensoren in openHAB 5 gelöscht. Obwohl in openHAB keine Spuren mehr von den Sensoren zu sehen war, wurde mir plötzlich ein Sensor angezeigt, der seit Tagen ohne Batterie auf dem Tisch liegt. Wie kann das sein? Im openHAB Unterverzeichnis userdata/jsondb liegen mehrere .json Dateien. Hier sollte man nur eingreifen, wenn man sich mit dem json Format auskennt. Ich habe openHAB beendet, anschließend die json Dateien editiert und alle sonoff Einträge der Sensoren entfernt. Nach Neustart von openHAB habe ich die Sensoren wieder gekoppelt und aktuell laufen alle Sensoren ohne Probleme!
Da die SNZB-04 Sensoren nicht mehr bei Sonoff geführt werden - aber noch von mehreren Händlern zum Verkauf angeboten werden! - habe ich mir den Nachfolger bestellt SNZB-04P. Die Gehäuseabmessungen sind minimal größer. Abhängig von der Tür oder dem Fenster könnte das problematisch werden.
Am 23. April 2025 hat Windows nach einem Update einen Neustart durchgeführt. Selbst nach zwei Tagen werden die sechs Sensoren in openHAB mit UNKNOWN angezeigt. Der Ember Coordinator wird mit ONLINE geführt. Diesen habe ich deaktiviert (Disable) und gleich danach wieder aktiviert. Nach wenigen Minuten werden die Sensoren mit dem Status ONLINE geführt. Sieht auf den ersten Blick gut aus! Leider nur auf den ersten Blick. Ein Fenster bzw. eine Türe öffnen oder schließen führt nicht zu einem Statuswechsel.
Die Einträge in den Logfiles lassen auch keine Rückschlüsse auf mögliche Probleme zu. Alle sechs Sensoren werden im Log mit ONLINE geführt:
2025-04-25 09:34:31.599 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zigbee:device:sonoff:00124b002894xxxx' changed from UNKNOWN to ONLINE
Auch die Aktualisierung von openHAB von 5.0.0.M1 auf 5.0.0.M2 bringt keine Verbesserung.