Matter und zigbee gleichzeitig in Home Assistent

Moin,

Langsam werde ich mit meinen 47 Jahren doch wohl zu alt um das alles zu verstehen.

Ich habe einen Home Assistent Green und einen zbt-2 dran f8r meine zigbee Sachen die ich in den letzten 5 Jahren alle so zusammengesammelt habe im HA laufen.

Nun habe ich mir die neuen Ikea Matter Sensoren besorgt da ich dachte das kann ich nun auch so an lernen und es funktioniert.

Sehe ich das richtig das wenn ich beides parallel laufen lassen möchte für die Matter Sachen einen eigenen hub haben muss…wenn ja welcher muss das sein und gibt es da etwas was auch so wie der zbt-2 einfach vom Green erkannt wird…möchte halt nicht schon wieder für einen Hub Unmengen an Kohle los werden

Bin dankbar für eure Hilfe

1 „Gefällt mir“

Ja du benötigst einen Hub. Bei mir ist es der Sonoff Dongle Max geworden. Einrichtung mit diversen Anpassungen bei Unify mittlerweile sehr überzeugend und ich denke auf Dauer wird es Zigbee ablösen

Da ich genau das gleiche Thema habe, aber keine USB-Ports mehr für einen zusätzlichen Dongle, überlege ich, diesen zu holen: SONOFF Zigbee/Thread PoE Dongle Max und den dann direkt an den Router zu hängen. Lt. Rezensionen auf Amazon geht er problemlos mit HA, vielleicht hat da schon jemand Erfahrungen?

Ein USB Hub, wäre eine Möglichkeit. :wink:

Gruß Osorkon

Habe ich ein Verständnis-Problem? Was mach bitte diese HA Integration?

HA zum Matter Hub?

Was spricht denn gegen den Dirigera Hub von Ikea? Ich finde den recht gut.

Mit der Matter Integration kannst Du Matter Geräte in Home Assistant hinzufügen.
Matter over WIFI
Und Matter over Thread, wenn ein Thread Netzwerk vorhanden

Gruß Osorkon

Das ist dann wohl der Punkt. @SirMiker s Ikea Matter Sensoren über Zigbee?!? Geht doch gar nicht. Matter brauch IP für Thread. Aber mangels Ikea Matter Sensoren-Expertise will ich hier nicht weiter mitreden…

Aber habe was gelernt: “SONOFF Zigbee/Thread PoE Dongle Max” muss ich mir in der Tat mal anschauen”! Danke @Der-Eine!

Hi.

Matter hat mit Threat erst mal nix zu tun. Matter ist eine Option, um Geräte immer gleich ins Smart Home einzubinden, egal von welchem Hersteller. Es gibt Matter over WLan, was ohne weitere Hardware (außer einem Wlan Netzwerk, was als vorhanden anzunehmen ist) funktioniert. Die meisten dauerhaft mit Strom versorgten Geräte wie Lampen, Plugs usw. werden als Matter over Wlan produziert. Solche Geräte kann man ohne weiteres über die Matter Integration direkt in HA einbinden. Ich habe eine Deckenleuchte und zwei Plugs mit Matter, alle drei laufen über WLan, brauchen also keinen Threat Border Router, um zu funktionieren. Die FritzBox reicht dafür.

Daneben gibt es Matter over Bluetooth, was aber (bisher?) nur für die Erst- Einrichtung, nicht für den Alltagsbetrieb verwendet wird. Und es gibt Matter over Threat. Das ist ein eigener Funk Standard, sehr ähnlich wie Zigbee. So ähnlich, das dafür dieselbe Hardware verwendet werden kann, aber eben mit anderer Software (Firmware). Bei Zigbee braucht man einen “Koordinator”, bei Threat einen “Threat Border Router (TBR)” als Schnittstelle zum System. Da beide, genau wie WLan auf der 2,4 GHz Frequenz funken, muss man halt etwas mit den Kanälen aufpassen, wenn man das gleichzeitig verwendet. Geht aber ohne weiteres. Die Threat Integration in HA bindet solche TBR ein genau wie die Zigbee Integration (ZHA oder Z2M) den Zigbee Koordinator.

Ich nutze aktuell noch kein Threat, habe aber einen TBR, da er halt in meinem Echo 4 integriert ist. Deswegen wurde die Threat Integration bei mir “automatisch” aktiviert. Anders als bei Zigbee kann es in einem Threat Netzwerk mehrere TBR geben.

Threat wird halt zur Zeit vorrangig bei batteriebetriebenen Geräten wie Sensoren, Kontakten usw. verwendet, da es doch deutlich weniger Strom verbraucht als WLan.

Man kann die meisten gängigen Zigbee Koordinatoren auch zu einem TBR umflashen. Es gibt sogar Software, womit auf einem Stick und einem Funkchip beide Funkstandards ermöglicht werden. Das ist allerdings nicht grade optimal. Es gibt auch Geräte mit zwei Funkchips und zwei Antennen, die von Haus aus beides abdecken.

Daneben kann man auch eine ESP32 Lösung für wenig Geld selber mit TBR Software flashen, über ESPHome. Man bekommt geeignete Boards (ESP32-H2) für gut 10€ beim Ali. Nach dem Flashen über ESPHome hat man dann einen TBR, der per WLan mit dem Heimnetz verbunden wird und darüber dann Threat Geräte in HA einbinden kann. Aus demselben Board kann man bei Bedarf übrigens auch einen Zigbee Koordinator machen, einfach durch Flashen der passenden Software.

Auf Grund der (noch) geringen Auswahl an Geräten und der deutlich höheren Preise im Vergleich zu Zigbee würde ich aktuell nicht auf Threat setzen. Das wird auch noch Jahre dauern, bis man auch nur ansatzweise an die Auswahl, die es bei Zigbee gibt, heran kommt. Die ersten Matter Erfahrungen kann man auch mit Matter over WLan machen.

Ich bin kein großer Fan der Einbindung mit QR Code. Ist mir zu aufwändig. Zigbee wird ohne Code eingebunden. Das Gerät muss man sowohl bei Matter als auch bei Zigbee erst in den Kopplungsmodus versetzen. Dann läuft das bei Zigbee automatisch, bei Matter muss man zusätzlich noch den QR Code scannen. Bei meiner Deckenleuchte war das ein Riesenproblem, denn der QR Code ist so ungünstig an der Lampe angebracht, das man ihn nicht scannen kann, wenn die Lampe angebaut ist. Auf Grund der Bauform wäre der QR Code sonst optisch sehr störend gewesen. Und bevor sie angebaut ist, nutzt es nichts, den Code zu scannen. Deswegen musste ich den ellenlangen Code manuell eintippen. Das ist nervig und überflüssig, wie ich finde. Nach der Einrichtung macht sich meine 25€ Flurlampe aber wirklich gut, wobei sie inzwischen 35€ kostet, Sie ist sehr hell (ich habe sie im Normalfall grade mal mit 10% Dimmer- Einstellung laufen) und schmiegt sich sehr schön flach an die Decke an. Außerdem ist sie angenehm leicht (halte ich bei Deckenleuchten für einen Vorteil) und war recht einfach zu montieren. Und sie arbeitet absolut zuverlässig in HA…

2 „Gefällt mir“

Threat → Thread

So vielen Dank an alle ..und auch f7r die super ausführlichen Erklärungen!

Es ist der sonoff dongle max geworden.

Hier aber nun mein Problem damit…ich muß ihn Flashen damit ich auf openthreat komme…das mache ich, aber ich kann trotzdem kein openthreat installieren…wenn ich dann nochmals auf das flash tool gehe, steht da das die original Firmware 1.05 wieder oder immernoch drauf ist….was mache ich da falsch?!

Tja ich glaube der Stick geht wieder zurück…ich habe irgendwie keine Chance den stick zu installieren….er wir mir angezeigt das ich ihn integrieren kann und dann geht nix

Ich nutze auch zigbee (mit z2m) und Thread in HA parallel. Bei mir ist es ein SLZB-MR4U geworden. Installation und Betrieb sind bislang unauffällig.

Vielleicht wäre das ja auch was für Dich (also ein SLZB-MR Modell)

Gruß, Lars

Welche Firmware ist da denn jetzt drauf? Wenn da eine Thread-Firmware drauf ist, kannst du den natürlich auch nicht mehr für ein Zigbee-Netzwerk benutzen.

Ich möchte ihn ja für ein thread Netzwerk benutzen…nur gehe ich davon aus das HA erstmal wissen muss das ich einen Stick anschließe…wenn ich in an den Green via usb dran mache, soll ich ihn instalieren…wenn ich so versuche obenthread einzurichten wird er mir auch als stick in der auswahl angezeigt

und dann wird er auch gestartet, aber danach ist alles wieder weg.

Was ist danach wieder weg? Das Addon? Was passiert denn genau wenn du das Addon mit den Einstellungen die du oben gezeigt hast startest?

Also wenn ich starte

Dan im Protokoll:

Add-on: OpenThread Border Router

 OpenThread Border Router add-on

\-----------------------------------------------------------

 Add-on version: 2.16.0

 You are running the latest version of this add-on.

 System: Home Assistant OS 17.0  (aarch64 / green)

 Home Assistant Core: 2026.1.2

 Home Assistant Supervisor: 2026.01.1

\-----------------------------------------------------------

 Please, share the above information when looking for help

 or support in, e.g., GitHub, forums or the Discord chat.

\-----------------------------------------------------------

s6-rc: info: service banner successfully started

s6-rc: info: service otbr-agent: starting

\[09:32:59\] INFO: Setup OTBR firewall...

\[09:32:59\] INFO: Migrating OTBR settings if needed...

2026-02-02 09:33:00 homeassistant asyncio\[237\] DEBUG Using selector: EpollSelector

2026-02-02 09:33:00 homeassistant zigpy.serial\[237\] DEBUG Opening a serial connection to '/dev/serial/by-id/usb-SONOFF_SONOFF_Dongle_Max_MG24_76d66ff4dff0ef11a151b90a6d9880ab-if00-port0' (baudrate=460800, xonxoff=False, rtscts=False)

2026-02-02 09:33:00 homeassistant serialx.platforms.serial_posix\[237\] DEBUG Configuring serial port '/dev/serial/by-id/usb-SONOFF_SONOFF_Dongle_Max_MG24_76d66ff4dff0ef11a151b90a6d9880ab-if00-port0'

2026-02-02 09:33:00 homeassistant serialx.platforms.serial_posix\[237\] DEBUG Configuring serial port: \[0, 0, 3248, 0, 4100, 4100, \[b'\\x03', b'\\x1c', b'\\x7f', b'\\x15', b'\\x04', 0, 0, b'\\x00', b'\\x11', b'\\x13', b'\\x1a', b'\\x00', b'\\x12', b'\\x0f', b'\\x17', b'\\x16', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00', b'\\x00'\]\]

2026-02-02 09:33:00 homeassistant serialx.platforms.serial_posix\[237\] DEBUG Setting low latency mode: True

2026-02-02 09:33:00 homeassistant serialx.platforms.serial_posix\[237\] DEBUG Setting modem pins: ModemPins\[!dtr !rts\]

2026-02-02 09:33:00 homeassistant serialx.platforms.serial_posix\[237\] DEBUG TIOCMBIC: 0x00000006

2026-02-02 09:33:00 homeassistant zigpy.serial\[237\] DEBUG Connection made: <serialx.platforms.serial_posix.PosixSerialTransport object at 0xffffb0c84350>

2026-02-02 09:33:00 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=0, network_link_id=0, flag=2), command_id=<CommandID.RESET: 1>, data=b'\\x02')

2026-02-02 09:33:00 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Sending data b'\~\\x80\\x01\\x02\\xea\\xf0\~'

2026-02-02 09:33:00 homeassistant serialx.descriptor_transport\[237\] DEBUG Immediately writing b'\~\\x80\\x01\\x02\\xea\\xf0\~'

2026-02-02 09:33:00 homeassistant serialx.descriptor_transport\[237\] DEBUG Sent 7 of 7 bytes

2026-02-02 09:33:02 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Device did not respond to reset, continuing

2026-02-02 09:33:02 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\\x08')

2026-02-02 09:33:02 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Sending data b'\~\\x83\\x02\\x08\\xbc\\x9a\~'

2026-02-02 09:33:02 homeassistant serialx.descriptor_transport\[237\] DEBUG Immediately writing b'\~\\x83\\x02\\x08\\xbc\\x9a\~'

2026-02-02 09:33:02 homeassistant serialx.descriptor_transport\[237\] DEBUG Sent 7 of 7 bytes

2026-02-02 09:33:04 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\\x08'), trying again in 0.10s (attempt 1 of 3)

2026-02-02 09:33:04 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\\x08')

2026-02-02 09:33:04 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Sending data b'\~\\x83\\x02\\x08\\xbc\\x9a\~'

2026-02-02 09:33:04 homeassistant serialx.descriptor_transport\[237\] DEBUG Immediately writing b'\~\\x83\\x02\\x08\\xbc\\x9a\~'

2026-02-02 09:33:04 homeassistant serialx.descriptor_transport\[237\] DEBUG Sent 7 of 7 bytes

2026-02-02 09:33:06 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\\x08'), trying again in 0.10s (attempt 2 of 3)

2026-02-02 09:33:07 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\\x08')

2026-02-02 09:33:07 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Sending data b'\~\\x83\\x02\\x08\\xbc\\x9a\~'

2026-02-02 09:33:07 homeassistant serialx.descriptor_transport\[237\] DEBUG Immediately writing b'\~\\x83\\x02\\x08\\xbc\\x9a\~'

2026-02-02 09:33:07 homeassistant serialx.descriptor_transport\[237\] DEBUG Sent 7 of 7 bytes

2026-02-02 09:33:09 homeassistant universal_silabs_flasher.spinel\[237\] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\\x08'), trying again in 0.10s (attempt 3 of 3)

2026-02-02 09:33:09 homeassistant serialx.descriptor_transport\[237\] DEBUG Closing at the request of the application

2026-02-02 09:33:09 homeassistant zigpy.serial\[237\] DEBUG Waiting for serial port to close

2026-02-02 09:33:09 homeassistant serialx.descriptor_transport\[237\] DEBUG Closing connection: None

2026-02-02 09:33:09 homeassistant serialx.descriptor_transport\[237\] DEBUG Closing file descriptor 7

2026-02-02 09:33:09 homeassistant serialx.descriptor_transport\[237\] DEBUG Calling protocol \`connection_lost\` with exc=None

2026-02-02 09:33:09 homeassistant zigpy.serial\[237\] DEBUG Connection lost: None

Traceback (most recent call last):

  File "/usr/local/lib/python3.13/dist-packages/universal_silabs_flasher/spinel.py", line 260, in send_frame

    return await asyncio.shield(future)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

asyncio.exceptions.CancelledError

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

Traceback (most recent call last):

  File "/usr/local/bin/migrate_otbr_settings.py", line 223, in <module>

    asyncio.run(main())

    \~\~\~\~\~\~\~\~\~\~\~^^^^^^^^

  File "/usr/lib/python3.13/asyncio/runners.py", line 195, in run

    return runner.run(main)

           \~\~\~\~\~\~\~\~\~\~^^^^^^

  File "/usr/lib/python3.13/asyncio/runners.py", line 118, in run

    return self.\_loop.run_until_complete(task)

           \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^^^^^

  File "/usr/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete

    return future.result()

           \~\~\~\~\~\~\~\~\~\~\~\~\~^^

  File "/usr/local/bin/migrate_otbr_settings.py", line 154, in main

    hwaddr = await get_adapter_hardware_addr(

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    ...<3 lines>...

    )

    ^

  File "/usr/local/bin/migrate_otbr_settings.py", line 101, in get_adapter_hardware_addr

    rsp = await protocol.send_command(

          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    ...<2 lines>...

    )

    ^

  File "/usr/local/lib/python3.13/dist-packages/universal_silabs_flasher/spinel.py", line 292, in send_command

    return await self.send_frame(frame, \*\*kwargs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.13/dist-packages/universal_silabs_flasher/spinel.py", line 259, in send_frame

    async with asyncio_timeout(timeout):

               \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^^^^^^^^

  File "/usr/lib/python3.13/asyncio/timeouts.py", line 116, in \__aexit_\_

    raise TimeoutError from exc_val

TimeoutError

\[09:33:09\] WARNING: otbr-agent exited with code 1 (by signal 0).

Chain OTBR_FORWARD_INGRESS (0 references)

target     prot opt source               destination         

DROP       all  --  anywhere             anywhere             PKTTYPE = unicast

DROP       all  --  anywhere             anywhere             match-set otbr-ingress-deny-src src

ACCEPT     all  --  anywhere             anywhere             match-set otbr-ingress-allow-dst dst

DROP       all  --  anywhere             anywhere             PKTTYPE = unicast

ACCEPT     all  --  anywhere             anywhere            

otbr-ingress-deny-src

otbr-ingress-deny-src-swap

otbr-ingress-allow-dst

otbr-ingress-allow-dst-swap

Chain OTBR_FORWARD_EGRESS (0 references)

target     prot opt source               destination         

ACCEPT     all  --  anywhere             anywhere            

\[09:33:09\] INFO: OTBR firewall teardown completed.

s6-svlisten1: fatal: /run/s6-rc/servicedirs/otbr-agent failed permanently or its supervisor died

s6-rc: warning: unable to start service otbr-agent: command exited 1

s6-rc: info: service legacy-cont-init: stopping

s6-rc: info: service banner: stopping

s6-rc: info: service mdns: stopping

/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.

/run/s6/basedir/scripts/rc.init: fatal: stopping the container.

s6-rc: info: service banner successfully stopped

Default: mDNSResponder (Engineering Build) (Jan 28 2026 17:15:29) stopping

s6-rc: info: service legacy-cont-init successfully stopped

s6-rc: info: service fix-attrs: stopping

s6-rc: info: service fix-attrs successfully stopped

s6-rc: info: service s6rc-oneshot-runner: stopping

s6-rc: info: service s6rc-oneshot-runner successfully stopped

\[09:33:09\] INFO: mDNS ended with exit code 4 (signal 0)...

s6-rc: info: service mdns successfully stopped

Baudrate 115200 gestellt und zack es läuft!

1 „Gefällt mir“

Danke für deine Ausführungen. Kurze Verständnisfrage.
Kann man mischen Plugs Matter over WLAN, Türkontakte u. ä. via Thread?

Ja, man kann in HA alle möglichen Protokolle “mischen”.
Bei mir ist Zigbee, Matter over Wifi, Matter over Thread und Z-Wave aktiv.
Bsp: In einer Automation erkennt ein Thread-Sensor eine Bewegung und schaltet einen Z-Wave Aktor und eine Zigbee-Steckdose.

BTW: Ich habe mir die Einrichtung über einen USB-Stck erspart und nehme stattdessen einen Apple HomePod mini als Border Router. Ergänzend einige Thread-Steckdosen, um ein großflächiges Mesh-Netzwerk für Thread aufzubauen.
Ich muss allerdings zugeben, dass das Zigbee-Netzwerk stabiler läuft und die Komponenten auch (noch) günstiger sind.