Einbindung ZBT-2 in HA und Umzug von ZBT-1 klappt nicht

Hallo,

ich habe versucht, den ZBT-2 in meine HA-Installation (Docker) auf meiner Synology einzubinden und von ZBT-1 in ZHA zu migrieren. Leider bricht das zuverlässig, beim Versuch die Firmaware zu flashen, ab.

  • Installationsmethode: Home Assistant Container
  • Core: 2026.1.0

Das ist im Log zu sehen:

Logger: homeassistant.components.homeassistant_hardware.firmware_config_flow
Quelle: components/homeassistant_hardware/firmware_config_flow.py:203
Integration: Home Assistant Hardware (Dokumentation, Probleme)
Erstmals aufgetreten: 17:15:49 (1 Vorkommnis)
Zuletzt protokolliert: 17:15:49

Failed to flash firmware
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/util.py", line 421, in async_flash_silabs_firmware
    await flasher.enter_bootloader()
  File "/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py", line 351, in enter_bootloader
    bootloader_probe = await self.trigger_bootloader_reset(run_firmware=False)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py", line 219, in trigger_bootloader_reset
    await self.trigger_bootloader(target)
  File "/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py", line 117, in trigger_bootloader
    async with connect_protocol(
               ~~~~~~~~~~~~~~~~^
        self._device, 115200, FlowControlSerialProtocol
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ) as uart:
    ^
  File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/common.py", line 136, in connect_protocol
    _, protocol = await zigpy.serial.create_serial_connection(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/serial.py", line 119, in create_serial_connection
    transport, protocol = await pyserial_asyncio.create_serial_connection(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<8 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/serialx/async_serial.py", line 56, in create_serial_connection
    await transport.connect(
    ...<7 lines>...
    )
  File "/usr/local/lib/python3.13/site-packages/serialx/common.py", line 390, in connect
    return await self._connect(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/serialx/platforms/serial_posix.py", line 519, in _connect
    await self._loop.run_in_executor(None, self._serial.configure_port)
  File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.13/site-packages/serialx/platforms/serial_posix.py", line 354, in configure_port
    self._set_low_latency(self._low_latency)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/serialx/platforms/serial_posix.py", line 383, in _set_low_latency
    fcntl.ioctl(self._fileno, TIOCSSERIAL, buffer)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 95] Not supported

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/firmware_config_flow.py", line 203, in _install_firmware_step
    await self.firmware_install_task
  File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/firmware_config_flow.py", line 310, in _install_firmware
    self._probed_firmware_info = await async_flash_silabs_firmware(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<9 lines>...
    )
    ^
  File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/util.py", line 430, in async_flash_silabs_firmware
    raise HomeAssistantError("Failed to flash firmware") from err
homeassistant.exceptions.HomeAssistantError: Failed to flash firmware

Ich nutze zur Zeit ZHA mit ZBT-1, das funktioniert zuverlässig. Ich erhoffe mir nur etwas mehr Reichweite mit dem ZBT-2.

Der ZBT-2 ist manchmal nach einem HA-Neustart unter den Integrationen zu sehen, lässt sich aber nicht einbinden, mit der Fehlermeldung, dass sich die Firmware nicht flashen lässt, danach ist er verschwunden.
Versuche ich es über “Adapter mirgieren” in der ZHA-Integration, sehe ich den ZBT-2 bei der Auswahl der zur Verfügung stehenden Adaper (mit Pfad und Serial-ID), aber es erscheint dann ein Fenster mit Auswahl des Pfades und Einstellung der Baudrate. Keiner meiner Versuche hat zu einem Ergebnis geführt.

Was ich probiert habe:

  • Wechsel des USB-Kabels
  • Tausch der USB-Ports an der Synology
  • Abziehen des ZBT-1 und Neustart der Synology
  • Flashen der ZBT-2-Firmaware über das Web-Tool, das hat reibungslos funktioniert.
  • Änderungen des Pfades auf Serial-ID und anpassen der Baudrate auf 460800 beim Versuch zu migrieren
  • Integration des ZBT-2 in ZHA auf einem HAOS-Testsystem auf einem alten Notebook über Virtualbox, auch das hat ohne Probleme geklappt.

Jetz bin ich mit meinem Latein am Ende und hoffe auf eure Hilfe.

Diese Anleitung hast Du befolgt?
https://support.nabucasa.com/hc/en-us/articles/29400665034397-Migrating-an-existing-Zigbee-Home-Automation-ZHA-network-to-Home-Assistant-Connect-ZBT-2

Gruß Osorkon

Vielleicht das Problem:

VG Jim

Was mir noch einfällt.
Wenn der ZBT-2 von Home Assistant korrekt erkannt wurde. Taucht dieser ja auch in der Hardware Übersicht auf.
Hast Du auch über diesen Weg die Migration angestoßen?

Gruß Osorkon

Danke für Deine Antwort und den Tipp.
Das hatte ich tatsächlich auch schon gefunden und daraufhin die 7.4.4.5 geflasht mit dem Webtool, sogar beide Versionen (für ZBT-1 und ZBT-2), denn in dem Post unter dem Link wird ja auf die Firmware für den Skyconnect (ZBT-1) als Lösung verlinkt.
Insgesamt habe ich jetzt folgende Firmwares durchprobiert:

7.4.4.4 (Auslieferungszustand)
7.4.4.5 (für ZBT-1 wie in Deinem Link)
7.4.4.5 (für ZBT-2)
7.4.4.6 (aktuell)

@Osorkon Leider taucht der ZBT-2 bei mir nicht unter Hardware auf. Dort sehe ich nur den ZBT-1

Die Anleitung hatte gesehen und bin danach vorgegangen. Mein Problem tritt zwischen Schritt 4 und 5 auf. Der ZBT-2 wird nicht automatisch erkannt, bzw. kann er scheinbar nicht automatisch geflasht werden und es erscheint eine Auswahl der Adapter, wo er zwar sichtbar wird, aber nach Auswahl dann das nächste Fenster erscheint mit den Möglichkeiten den Pfad und die Baudrate anzupassen.

Erst einmal vorab: Ich selber habe keinen ZBT-2 Dongle, sodass ich dazu natürlich nur wenig sagen kann.

Ich weiß nicht welche DS Du da hast, was diese dann an USB-Ports hat und welche Du davon genutzt hast, aber bei der von mir verlinken Diskussion wurde ja von Usern auch noch erwähnt das es (erst) an einem USB 2.0 Port funktioniert hat und nicht bei einem USB 3.0 Port. Nur für den Fall das Du das noch nicht probiert hast.

Außerdem kann Deine Docker-Installation von HA auf der DS da natürlich auch noch eine Rolle spielen. U.a. auch was das Thema USB-Port betrifft. Aber eine HA-Docker-Installation war für mich eigentlich noch nie wirklich ein Thema, weil ich immer nur Bare Metal Installationen oder VMs für HA nutze.

VG Jim

Danke Dir für die schnelle Antwort.

Ich habe auch ein wenig die DS bzw. die USB-Treiber in Verdacht. Ich habe zwar keine Ahnung von Python, aber das Logfile deutet ja darauf hin, dass schon keine serielle Verbindung zustande kommt.

Ich habe eine DS716II+ mit der neuesten DSM-Version (7.3.2-86009). Unter dem bekannten Repository von Robert Kleb für die USB-Treiber ab DSM 7 https://github.com/robertklep/dsm7-usb-serial-drivers gibt es leider keine Treiber für DSM 7.3. Das war aber bisher für den ZBT-1 kein Problem und ich sehe den ZBT–2 wenn ich in der DS über die Konsole und “lsusb” nach den Geräten suche.

Die Ports sind tatsächlich alle USB 3.0, das ist aber auch der Port am Notebook mit der Installation in Virtualbox, die ausprobiert hatte. Da hat das flashen auch nur funktioniert, als ich den Port als 3.0 “gemapped” hatte. Mit USB 2.0 hat das Flashen nicht geklappt. Ich bin echt ratlos.

Da muss ich dann leider auch passen. Ich habe hier zwar drei DS (auch noch eine ältere DS215j), :laughing: aber eben keinen ZBT-2 Dongle, um dann mit dem mal irgendetwas zu testen.

VG JIm

Eben kam mir der Geistesblitz und es funktioniert! Es waren die Rechte des Containers.

Ich habe in der Compose.yaml den Container auf “privileged” gesetzt und schon hat es geklappt und die Migration hat funktioniert.

Das werde ich nicht auf Dauer so lassen, aber zumindest weiß ich jetzt, wo ich ansetzen muss. Vielleicht läuft ja die ZHA Integration mit ZBT-2 nach der Migration auch mit “privileged: false”. Da warte ich aber erstmal ab, bis sich das Zigbee-Netzwerk wieder organisiert hat.

Ich danke Euch für die Tipps, vielleicht hilft das Thema ja auch anderen auf den richtigen Weg.

Fein das es am Ende doch so einfach war und es jetzt funktioniert. :+1:

Ich weiß zwar nicht was Du alles so mit HA anstellst und wofür Du es so nutzt, aber eine HA Docker-Version auf einer alten DS716II+ ist jetzt auch nicht so “der Brüller” :slightly_smiling_face: und vielleicht solltest Du für die Zukunft auch mal entweder ein neues NAS, oder eben irgendeine andere Kiste für HA einplanen. Und dann würde ich halt auch HAOS in einer VM, oder eben bare metal installieren.

VG Jim

Ja triffst Du einen Punkt, der mir schon einige Zeit im Kopf herumschwirrt. HA auf der Synology war beim Start vor etwas mehr als einem Jahr eigentlich nur eine kleine Spielerei, mit Hardware, die sowieso vorhanden war. Verbunden mit den Nachteilen (keine Add-Ons etc.), die ein Container zu HAOS hat, was ich damals noch nicht wusste.

Mittelfristig denke ich eher an sowas wie Proxmox auf einem Mini-PC oder NUC. Auch um meinen Raspi zu ersetzen und PiHole darüber laufen zu lassen.

Gut zu dem Thema welche Kiste für HA gibt es hier im Forum ja schon unzählige Beispiele. Entweder halt irgendeine N100/N150 China Kiste, oder eben einen refurbished Business-PC von den üblichen Verdächtigen (HP, Fujitsu, Dell, Lenovo). Letzteres bevorzuge ich und nutze ich hier auch seit ein paar Jahren.

Wenn es günstig und stromsparend sein soll würde so etwas wie z.B. das hier


oder das hier

Quelle: Mini PC günstig kaufen ⇒ Beste Angebote & Preise - mydealz.de

ja schon reichen und das wäre schon ein ziemlicher Fortschritt gebenüber Deiner jetzigen Lösung mit der DS716II+. :slightly_smiling_face: Aber wie gesagt kommt dieses Thema hier im Forum ja häufig vor und da kannst Du Dich ja dann auch mal ein wenig einlesen.

Im Moment und auch noch b.a.W., sind die explodierenden RAM-Preise halt das Problem, sodass sowohl die China Kisten, als auch Refurbished Kisten, im Preis gestiegen sind. D.h. allein die 16 GB RAM, die in meiner Fujitsu Esprimo D958 Kiste stecken die ich mir Anfang Dezember noch zusätzlich gekauft habe, kosten inzwischen mehr als im Dez. die kompl. Kiste incl. der 16 GB RAM. :laughing:

VG Jim

Danke Dir nochmal für die Links. :slightly_smiling_face:

Ich werde mal schauen, wohin sich meine Ideen noch entwickeln. Ich bin mir noch nicht ganz sicher, was ich da außer HA und PiHole vielleicht zusätzlich noch laufen lassen will.

Wenn Du größenwahnsinnig bist, dann hätte ich hier einen Kanditsten! :joy::joy::joy:

Wäre eine geile Proxmox Kiste, wenn Geld keine Rolle spielen würde! :star_struck::star_struck:

Gruß Osorkon

Vielleicht “etwas” drüber. :laughing:

Auch die Anforderung “so gut wie lautlos” wird die Kiste wahrscheinlich eher nicht erfüllen.

Geld spielt natürlich keine Rolle. :wink:

Deshalb ist es bei mir nur der MS-01 geworden.
Man muss es ja nicht immer gleich übertreiben. :grinning_face_with_smiling_eyes:

Lautlos, sparsam und mit ordentlich viel Schnittstellen, das Zimaboard 2

In der 16 GB RAM Ausführung auch als mini Promxox Server sehr gut geeignet.

Gruß Osorkon