nachdem ich immer wieder Probleme mit der Verbindung zu meinen Zigbee Geräten habe, hab ich mal beschlossen, vom Deconz ConBee II auf den Sonoff Dongle Plus (Version CC2652P) zu wechseln. Hab zwischenzeitlich nen täglichen Reboot des Systems eingestellt, weil sich Zigbee immer wieder aufgehängt hat, aber das macht ja auch keinen Sinn. Und irgendwie bin ich immer wieder bei der Recherche auf den Stick gekommen, weshalb ich durch den Wechsel das Thema mal ausschließen wollte.
Bei mir läuft Zigbee über Zigbee2MQTT auf nem Pi 4. Dabei hängt der Stick in ner USB-Verlängerung (ist so ein älteres Teil das mal bei ner Logitech-Maus mit dabei war, damit man den Stick von hinter dem PC nach vorne bekommt, nur als Info falls das relevant sein könnte).
Ganz naiv bin ich davon ausgegangen, dass ich in der Z2M-Konfig einfach den Part
austauschen muss. Dem war aber leider nicht so, danach startet Z2M nicht mehr hoch, im Log bekomme ich folgende Meldung:
[18:46:35] INFO: Preparing to start...
[18:46:35] INFO: Socat not enabled
[18:46:36] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2025-03-12 18:47:44] error: z2m: Error while starting zigbee-herdsman
[2025-03-12 18:47:44] error: z2m: Failed to start zigbee-herdsman
[2025-03-12 18:47:44] error: z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start_crashes-runtime.html for possible solutions
[2025-03-12 18:47:44] error: z2m: Exiting...
[2025-03-12 18:47:44] error: z2m: Error: network commissioning timed out - most likely network with the same panId or extendedPanId already exists nearby (Error: AREQ - ZDO - stateChangeInd after 60000ms
at Object.start (/app/node_modules/.pnpm/zigbee-herdsman@3.2.7/node_modules/zigbee-herdsman/src/utils/waitress.ts:67:23)
at ZnpAdapterManager.beginCommissioning (/app/node_modules/.pnpm/zigbee-herdsman@3.2.7/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:372:31)
at ZnpAdapterManager.start (/app/node_modules/.pnpm/zigbee-herdsman@3.2.7/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:91:21)
at ZStackAdapter.start (/app/node_modules/.pnpm/zigbee-herdsman@3.2.7/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:158:16)
at Controller.start (/app/node_modules/.pnpm/zigbee-herdsman@3.2.7/node_modules/zigbee-herdsman/src/controller/controller.ts:136:29)
at Zigbee.start (/app/lib/zigbee.ts:69:27)
at Controller.start (/app/lib/controller.ts:142:13)
at start (/app/index.js:161:5))
at ZnpAdapterManager.beginCommissioning (/app/node_modules/.pnpm/zigbee-herdsman@3.2.7/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:374:23)
at ZnpAdapterManager.start (/app/node_modules/.pnpm/zigbee-herdsman@3.2.7/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:91:21)
at ZStackAdapter.start (/app/node_modules/.pnpm/zigbee-herdsman@3.2.7/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:158:16)
at Controller.start (/app/node_modules/.pnpm/zigbee-herdsman@3.2.7/node_modules/zigbee-herdsman/src/controller/controller.ts:136:29)
at Zigbee.start (/app/lib/zigbee.ts:69:27)
at Controller.start (/app/lib/controller.ts:142:13)
at start (/app/index.js:161:5)
Meine configuration.yaml für Z2M sieht wie folgt aus:
Ja: schreib in die configuration.yaml von Z2M die korrekten Eintragungen. Leider kommt es vor, dass die Einträge in der GUI nicht in die yaml-Datei übernommen werden (bekanntes und bisher nicht gelöstes Problem). In deiner jetzigen stehen noch Angaben deines alten Sticks:
Ob die nicht erfolgte Übernahme in die yaml-Datei daran liegt, dass die Einrückung in deiner GUI nicht korrekt ist, weiß ich nicht, denn auch da ist ein Fehler. Bei dir steht:
Also ich hab das mal korrigiert, sowohl die config.yaml als auch die Einrückung in der GUI, aber hat leider nichts gebracht, Z2M wollte nicht starten (trotz Neustart aller YAML, des Pi, etc.). Hab dann folgenden Hinweis gefunden, und diesen mal in die config.yaml anstelle der bisherigen Einträge gesetzt:
Daraufhin wurde der Part neu generiert, und ich kann mein Z2M jetzt wieder öffnen.
ABER: es sind natürlich alle Devices weg. Hab ich irgendwie ne Chance die Devices wieder reinzubekommen? Ich hab noch ein Z2M-Backup, das hab ich mir mal heruntergeladen, allerdings finde ich nichts wie ich das wieder einspielen kann. Oder geht das eh nicht, weil ich ja pan-id, ext_pan_id und network_key neu generiert habe? Heißt das, die einzigste Möglichkeit ist, alles wieder neu anzulernen?
Ich kenne mich mit den Conbee Dongle nicht wirklich aus und Du kannst ja auch noch einmal per Google danach suchen ob ein Dongle-Wechsel von Conbee zu Sonoff ohne ein Neuanlernen möglich ist, aber aufgrund der von mir verlinkten Z2M Info
Migration from one adapter to another requires backup and restore support which is so far only implemented for the zstack (Texas Instrument) and ember adapters. Backup and restore is not supported for any other adapters (conbee, ezsp, zboss and zigate).
Nachdem ich gerade die Umstellung von einem ConbeeII auf einen Sonoff ZBDongle-P erfolgreich abgeschlossen habe, darf ich erfreulicherweise widersprechen. Die Migration ist ohne neues Pairing möglich, dafür muss ich allerdings die Bereitschaft mitbringen, viel neues zu lernen.
Mein Ziel war es, mit dem Sonoff aus Netzwerksicht einen Klon des ConbeeII zu erstellen. Dieser Klon sollte dann auf einen zweiten Sonoff dupliziert werden.
Ich habe nun 2 funktionierende Sonoff-Sticks, die zwar niemals zeitgleich genutzt werden können, aber bei einem Hardwaredefekt problemlos ausgewechselt werden können. Der Conbee liegt jetzt herum und könnte notfalls mit minimaler Änderung auch wieder verwendet werden.
Dafür sind folgende Dinge zu tun:
Wichtig: Backups von HA und z2m sind entscheidend!
Über ein geeignetes Tool muss der Conbee ausgelesen werden (PAN ID, Extended PAN ID, Channel, Device IEEE, Network Key)
Der Sonoff muss mit einer geeigneten Coordinator-Firmware geflasht werden, falls noch nicht geschehen
Die aus dem Conbee ausgelesenen Daten müssen auf den Sonoff übertragen werden. Je nach Tool geschieht dies entweder beim Flashen der Firmware oder danach
Da z2m bei Nutzung mit dem Conbee keine coordinator_backup.json erstellt, muss diese Datei selbst erstellt werden
Ohne Datei ist es für den Sonoff der erste Einsatz und der Coordinator möchte ein neues Netzwerk erstellen. Das kann nicht funktionieren, da es ja ein bestehendes Netzwerk gibt. Daher ist die Datei entscheidend.
Für die einzelnen Schritte gibt es diverse Tools und Ansätze, ich habe die Sticks unter Windows 11 mit Python und VSCode bearbeitet.
Wer gerne mit Python arbeitet und sich grob mit Zigbee auskennt, ist hier meiner Meinung nach richtig aufgehoben. Wer da bisher keine Ahnung hat, ist eventuell mit einem neu Anlernen besser bedient.
Ich habe absichtlich nicht jedes Detail geschrieben, da ich nicht den Eindruck erwecken möchte, dass hier in wenigen Schritten eine erfolgreiche Migration erledigt ist. Bei konkreten Fragen kann ich gerne aushelfen.