MATTER im FHEM? Schon was in Planung?

Begonnen von misux, 18 Mai 2022, 15:40:21

Vorheriges Thema - Nächstes Thema

Rampler

Hallo zusammen,
ich habe gerade mal auf meinem Testsystem FHEMPY installiert...
Beim Start des Matter Server meckert dieser die Version von nodejs an.
Diese soll laut Matter Server mind. eine V22 sein.
Trixie (auf einem Raspberry 2B, leider nur 32 bit fähig) bringt nur v20.19.2  mit.
Die Installation empfiehlt folgendes:

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash - && sudo apt install nodejs 
Was aber zu folgender Fehlermeldung führt:

2026-10-28 08:59:08 - Error: Unsupported architecture: armhf. Only amd64, arm64 are supported. Contact Nodesource for an extended support version https://nodesource.com/pages/contact-us.html. (Exit Code: 1)

Sieht für mich so aus, als ob der Matter Server von FHEMPY nicht (mehr) auf einem Raspberry Model 2b lauffähig ist, trotz aktueller Linux Distro.

Mit diesen Befehlen ist es mir gelungen, zumidest Nodejs V22.15 zu installieren:

sudo apt update && sudo apt install -y curl tar apt-transport-https ca-certificates gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://nodesource.com | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt install -y nodejs

Vermutlich bringt das nichts auf Dauer, da neue Versionen des Matter Servers auch neuere Nodejs Versionen erfordern, oder ?

Ich möchte keinen neuen Raspberry kaufen, da der "alte" für mich völlig ausreichend ist .

Gibt es andere Möglichkeiten ein neueres Nodejs zu installieren ?

Gruß Klaus
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Trixie), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

dominik

Antwort von Claude :)
Hallo Klaus,

danke für die ausführliche Beschreibung! Du hast recht: NodeSource baut seit einiger Zeit nur noch für amd64 und arm64, für 32-bit (armhf) gibt es dort nichts mehr. Der Hinweis in fhempy ist für den Pi 2B daher leider falsch, das passe ich an.

Zu deinem zweiten Weg: Der Schlüssel wurde von https://nodesource.com geladen, das ist aber die Webseite und kein GPG-Key (richtig wäre https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key). Außerdem hat die Repo für armhf keine Pakete. Schau bitte mal, woher dein Node 22.15 wirklich kommt:

which -a node
node -v
apt policy nodejs
Wenn apt update jetzt wegen der NodeSource-Quelle meckert, kannst du sie einfach wieder entfernen:

sudo rm /etc/apt/sources.list.d/nodesource.list /etc/apt/keyrings/nodesource.gpg
sudo apt update
Mein Vorschlag: offizielles Node 22 von nodejs.org. Für Node 22 gibt es auf nodejs.org weiterhin offizielle Binaries für armv7l (also auch den Pi 2B). Installation nach /usr/local, damit es auch der fhem-User findet:

cd /tmp
FILE=$(curl -fsSL https://nodejs.org/dist/latest-v22.x/ | grep -o 'node-v22[0-9.]*-linux-armv7l.tar.xz' | head -1)
curl -fsSLO https://nodejs.org/dist/latest-v22.x/$FILE
sudo tar -xJf $FILE -C /usr/local --strip-components=1 --exclude=CHANGELOG.md --exclude=README.md --exclude=LICENSE
hash -r
node -v
/usr/local/bin steht im PATH vor /usr/bin, das Debian-Node 20 darf also installiert bleiben. Für ein Update führst du die Befehle einfach nochmal aus. Danach fhempy neu starten, dann sollte der Matter Server starten.

nvm würde ich hier nicht nehmen: Es installiert Node nur ins Home-Verzeichnis des jeweiligen Users, fhempy läuft aber als fhem-User und sieht es dann nicht.

Zu deiner Frage "auf Dauer": Leider hast du recht. Node 22 bekommt noch bis Ende April 2027 Sicherheitsupdates. Ab Node 24 gibt es keine offiziellen 32-bit-ARM-Builds mehr, und auch die "unofficial builds" von Node.js bauen kein armv7l für Node 24. Der Matter Server braucht aktuell Node 22.13 oder neuer. Solange er nicht Node 24 verlangt, läuft es mit Node 22. Was danach kommt, kann ich heute nicht sagen.

Ein Tipp noch: Schau mal, welche Revision dein Pi 2B hat:

grep Revision /proc/cpuinfo
Steht dort a22042 (Pi 2B v1.2), dann hat dein Pi schon einen 64-bit-fähigen Chip (BCM2837, wie im Pi 3). Dann kannst du Raspberry Pi OS 64-bit (arm64) installieren und bekommst Node 22/24 ganz normal über NodeSource oder fhempy installiert es sogar selbst. Bei a01041 oder a21041 (v1.1) geht das leider nicht, dann bleibt nur der Weg über Node 22 oben.

Gruß Dominik
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Rampler

#167
Hi Dominik,
danke für Deine Anleitung.
Habe jetzt node v22.23.4 am laufen  :)
Leider habe ich noch den Raspberry Model 2B V1.1, also nur 32 bit.

Kann jetzt schon mal via Matter over Wifi meine Govee Ambilight schalten ..
Als nächstes möchte ich ein IKEA Thread device mit dem SMLIGHT SLZB-06MU testen ..

Gruß Klaus
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Trixie), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

cetri

Hallo Dominik,

erstmal Danke für deine Arbeit.

Ich versuche gerade ein Smart Lock U200 von Aquara über Matter einzubinden. Der Aquara Hub M100 liess sich ohne Probleme pairen. Wenn ich das U200 über die App in den Pairingmodus versetze erkennt fhempy das ein neues Gerät im Netzwerk ist und ich kann den Pairing-Code eingeben. Dann passiert erstmal nichts und nach einiger Zeit taucht im Matter-Device die Fehlermeldung

failed: Commission failed: discovery of node with discriminator 1 failed: No device could be commissioned (1 of 1 started attempt(s) failed, 1 discovered). Check the code, put the device in pairing mode again and retry. IPv6 must be enabled in your network.
auf. Ich habe mal testweise test_dcl auf 1 gesetzt aber das ändert auch nichts.

Hast du eine Idee woran es liegen könnte?

Gruß
Jörg

List vom Matter-Device:

define matter fhempy matter
attr matter group matter
attr matter room Matter
attr matter test_dcl 1
#   DEF        matter
#   FHEMPYTYPE matter
#   FUUID      6ae2d4f3-f33f-47d8-8d05-10c69250291c6755
#   IODev      fhempy_local
#   NAME       matter
#   NR         107498
#   NTFY_ORDER 50-matter
#   PYTHONTYPE matter
#   STATE      connected
#   TYPE       fhempy
#   disableNotifyFn 1
#   eventCount 27
#   timeout    3000
#   READINGS:
#     2026-10-29 06:09:43   bluetooth       disabled
#     2026-10-29 06:09:43   fabric_id       1
#     2026-10-29 06:31:54   next_step       Ready. Pair more devices with 'set matter pair <code>'. Click 'Device specific help' for details.
#     2026-10-29 06:09:14   node_version    24.19
#     2026-10-29 06:31:54   nodes           1
#     2026-10-29 07:07:32   pairing         failed: Commission failed: discovery of node with discriminator 1 failed: No device could be commissioned (1 of 1 started attempt(s) failed, 1 discovered). Check the code, put the device in pairing mode again and retry. IPv6 must be enabled in your network.
#     2026-10-29 06:09:43   server_sdk      matter-server/1.4.0 (matter.js/0.17.9)
#     2026-10-29 06:09:38   server_version  1.4.0
#     2026-10-29 07:03:29   state           connected
#     2026-10-29 06:09:43   thread_dataset  not set
#     2026-10-29 06:09:43   wifi_credentials not set
#   args:
#     matter
#     fhempy
#     matter
#   argsh:
#   hmccu:
#



List vom funktionierenden M100:

define matter_1 fhempy matter matter 1
attr matter_1 alias Aqara Hub M100
attr matter_1 group matter
attr matter_1 icon mqtt_bridge_1
attr matter_1 room Matter
#   DEF        matter matter 1
#   FHEMPYTYPE matter
#   FUUID      6ae2da4a-f33f-47d8-a362-7c084e6a6f3c134d
#   IODev      fhempy_local
#   MATTER_CONTROLLER matter
#   MATTER_ID  1
#   MATTER_NODE 1
#   NAME       matter_1
#   NR         108367
#   NTFY_ORDER 50-matter_1
#   PYTHONTYPE matter
#   STATE      online
#   TYPE       fhempy
#   disableNotifyFn 1
#   eventCount 5
#   timeout    3000
#   READINGS:
#     2026-10-29 06:55:22   firmware        4.5.80
#     2026-10-29 06:31:54   label           Aqara Hub M100
#     2026-10-29 06:31:54   model           Aqara Hub M100
#     2026-10-29 07:03:29   state           online
#     2026-10-29 06:31:54   vendor          Aqara
#   args:
#     matter_1
#     fhempy
#     matter
#     matter
#     1
#   argsh:
#   hmccu:
#



taskkill

#169
Moin,
Kann jemand mal die Befehle und/oder Reihenfolge für eine parallele Installation von node hier aufschreiben.
Für RPi 3B+ /armv7l mit Bullseye und das Befehl für Befehl. Kann sein das fhempy auch schon seine eigne parallele Installation gemacht hatte, aber jetzt beim Modul matter sagt das list :

Internals:
   DEF        matter
   FHEMPYTYPE matter
   FUUID      6ae2f680-f33f-9a8d-d7f2-2caefc6f2b6efdce
   IODev      fhempy_local
   NAME       matter
   NR         385
   NTFY_ORDER 50-matter
   PYTHONTYPE matter
   STATE      Node.js 22.13 or newer needed
   TYPE       fhempy
   disableNotifyFn 1
   eventCount 4
   timeout    30000
   READINGS:
     2026-10-29 08:49:14   discovered      failed: Matter server is not connected, see state of matter
     2026-10-29 08:32:17   next_step       Install Node.js 22 or newer (https://nodejs.org or 'curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash - && sudo apt install nodejs') and restart fhempy.
     2026-10-29 09:15:09   node_version    found Node.js 20.19, 22.13 or newer needed
     2026-10-29 09:15:09   state           Node.js 22.13 or newer needed
   args:
     matter
     fhempy
     matter
   argsh:
Attributes:
   group      matter
   icon       control_building_control
   room       Matter
   verbose    5

Ich danke Euch schon mal, Reiner.
RPI 4 mit RB-OS Trixie SSD, RPI 3B+ mit RM-OS Bullseye SSD, aktiver USB-Hub, Fhem (is klar)              TI CC2652P, JeeLink 868 PCA301, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.

Rampler


Hi Taskkill,
siehe Post #166:
cd /tmp
FILE=$(curl -fsSL https://nodejs.org/dist/latest-v22.x/ | grep -o 'node-v22[0-9.]*-linux-armv7l.tar.xz' | head -1)
curl -fsSLO https://nodejs.org/dist/latest-v22.x/$FILE
sudo tar -xJf $FILE -C /usr/local --strip-components=1 --exclude=CHANGELOG.md --exclude=README.md --exclude=LICENSE
hash -r
node -v

Besser wäre Du würdest dein RPI 3 mit ARM64 (trixie) neu installieren...  ;)

3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Trixie), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

dominik

Zitat von: cetri am 29 Oktober 2026, 07:24:40Hallo Dominik,

erstmal Danke für deine Arbeit.

Ich versuche gerade ein Smart Lock U200 von Aquara über Matter einzubinden. Der Aquara Hub M100 liess sich ohne Probleme pairen. Wenn ich das U200 über die App in den Pairingmodus versetze erkennt fhempy das ein neues Gerät im Netzwerk ist und ich kann den Pairing-Code eingeben. Dann passiert erstmal nichts und nach einiger Zeit taucht im Matter-Device die Fehlermeldung

failed: Commission failed: discovery of node with discriminator 1 failed: No device could be commissioned (1 of 1 started attempt(s) failed, 1 discovered). Check the code, put the device in pairing mode again and retry. IPv6 must be enabled in your network.
auf. Ich habe mal testweise test_dcl auf 1 gesetzt aber das ändert auch nichts.

Hast du eine Idee woran es liegen könnte?

Gruß
Jörg

List vom Matter-Device:

define matter fhempy matter
attr matter group matter
attr matter room Matter
attr matter test_dcl 1
#  DEF        matter
#  FHEMPYTYPE matter
#  FUUID      6ae2d4f3-f33f-47d8-8d05-10c69250291c6755
#  IODev      fhempy_local
#  NAME      matter
#  NR        107498
#  NTFY_ORDER 50-matter
#  PYTHONTYPE matter
#  STATE      connected
#  TYPE      fhempy
#  disableNotifyFn 1
#  eventCount 27
#  timeout    3000
#  READINGS:
#    2026-10-29 06:09:43  bluetooth      disabled
#    2026-10-29 06:09:43  fabric_id      1
#    2026-10-29 06:31:54  next_step      Ready. Pair more devices with 'set matter pair <code>'. Click 'Device specific help' for details.
#    2026-10-29 06:09:14  node_version    24.19
#    2026-10-29 06:31:54  nodes          1
#    2026-10-29 07:07:32  pairing        failed: Commission failed: discovery of node with discriminator 1 failed: No device could be commissioned (1 of 1 started attempt(s) failed, 1 discovered). Check the code, put the device in pairing mode again and retry. IPv6 must be enabled in your network.
#    2026-10-29 06:09:43  server_sdk      matter-server/1.4.0 (matter.js/0.17.9)
#    2026-10-29 06:09:38  server_version  1.4.0
#    2026-10-29 07:03:29  state          connected
#    2026-10-29 06:09:43  thread_dataset  not set
#    2026-10-29 06:09:43  wifi_credentials not set
#  args:
#    matter
#    fhempy
#    matter
#  argsh:
#  hmccu:
#



List vom funktionierenden M100:

define matter_1 fhempy matter matter 1
attr matter_1 alias Aqara Hub M100
attr matter_1 group matter
attr matter_1 icon mqtt_bridge_1
attr matter_1 room Matter
#  DEF        matter matter 1
#  FHEMPYTYPE matter
#  FUUID      6ae2da4a-f33f-47d8-a362-7c084e6a6f3c134d
#  IODev      fhempy_local
#  MATTER_CONTROLLER matter
#  MATTER_ID  1
#  MATTER_NODE 1
#  NAME      matter_1
#  NR        108367
#  NTFY_ORDER 50-matter_1
#  PYTHONTYPE matter
#  STATE      online
#  TYPE      fhempy
#  disableNotifyFn 1
#  eventCount 5
#  timeout    3000
#  READINGS:
#    2026-10-29 06:55:22  firmware        4.5.80
#    2026-10-29 06:31:54  label          Aqara Hub M100
#    2026-10-29 06:31:54  model          Aqara Hub M100
#    2026-10-29 07:03:29  state          online
#    2026-10-29 06:31:54  vendor          Aqara
#  args:
#    matter_1
#    fhempy
#    matter
#    matter
#    1
#  argsh:
#  hmccu:
#



Antwort von Claude :)

Hallo Jörg,
danke für die ausführlichen Infos, das hilft sehr.
Die Meldung "1 discovered" zeigt, dass fhempy das U200 im Netzwerk findet. Der Verbindungsaufbau zum Schloss klappt danach aber nicht. Ich vermute, das liegt an einer fehlenden IPv6-Route ins Thread-Netz.
Warum der M100 geht und das U200 nicht
Der M100 hängt direkt in deinem LAN, deshalb geht das Pairing ohne Probleme. Das U200 ist ein Thread-Gerät, das über den M100 als Thread Border Router funkt. Das Schloss hat eine IPv6-Adresse aus dem Thread-Netz (meist fdxx:...). Diese Adresse erreicht dein FHEM-Rechner nur, wenn er eine Route dorthin kennt. Der M100 kündigt diese Route per Router Advertisement an. Linux ignoriert solche Routen in der Standardeinstellung aber. Das Schloss wird also per mDNS gefunden, die Pakete von fhempy kommen beim Schloss aber nie an.
Prüfen
ip -6 route | grep -v fe80
Wenn dort keine Zeile wie fdxx:xxxx:xxxx:xxxx::/64 via fe80::... dev eth0 auftaucht, fehlt die Route. Du kannst auch set matter discover ausführen, während das U200 im Pairingmodus ist. Dann steht die Adresse im Reading discovered. Ein ping -6 <adresse> darauf sollte antworten.
Lösung (eth0 durch deine Schnittstelle ersetzen, z.B. wlan0)
sudo tee /etc/sysctl.d/60-matter-thread.conf <<'EOF'
net.ipv6.conf.eth0.accept_ra=1
net.ipv6.conf.eth0.accept_ra_rt_info_max_plen=64
EOF
sudo sysctl --system
Falls auf dem Rechner IPv6-Forwarding aktiv ist (z.B. durch Docker), nimm accept_ra=2 statt 1. Danach ein paar Minuten warten, bis der M100 die nächste Ankündigung schickt, oder einfach neu starten. Dann mit ip -6 route prüfen, ob die fd-Route da ist. Danach das U200 in der Aqara App wieder in den Matter-Pairingmodus setzen und gleich danach set matter pair <code> ausführen. Der Code aus der App gilt nur ein paar Minuten.
Noch ein paar Hinweise:
test_dcl hat damit nichts zu tun, das kannst du wieder auf 0 setzen.
thread_dataset und Bluetooth brauchst du nicht. Die sind nur für ganz neue Geräte nötig, die noch in keinem Netz sind. Dein U200 ist schon über den M100 im Thread-Netz.
Wenn FHEM in Docker läuft, muss der Container mit network_mode: host laufen, und die sysctl-Einstellungen gehören auf den Host.
Das U200 schläft zwischendurch, um Batterie zu sparen. Wenn es trotz Route einmal nicht klappt, das Schloss kurz aufwecken (z.B. Tastenfeld berühren) und gleich noch einmal versuchen.
Gib gern Bescheid, ob es danach klappt. Falls nicht, schick mir bitte die Ausgabe von ip -6 route und das Reading discovered.
Gruß
Dominik
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

300P

Zufällig den Faden gesehen...

@Dominik

WOW - fhempy  :o ist ja ganz schön "groß" geworden. Ich hatte mich von fhempy vor 1-2 Jahren verabschiedet, weil es leider immer wieder mal Zugangsproblem mit meinen Gerätschaften Netatmo / Tuya und Co. gab.

Da werd ich wohl mal bislang ungenutztes mein SLZB-MR4U rausholen müssen und mit fhempy irgendwie einbinden. ;D

Mal schauen und hoffen das ich dann damit mein Lamellendach von PERGOLUX irgendwie ins FHEM bekommen kann..... ;)

Gruß
300P

FHEM 6.5|QNAP-Container-bookworm|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|
Buderus-MQTT_EMS|Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP|AI_on_the_Edge|ESP32CAM usw.

cetri

Zitat von: dominik am 29 Oktober 2026, 21:09:08Antwort von Claude :)

Hallo Jörg,
danke für die ausführlichen Infos, das hilft sehr.
Die Meldung "1 discovered" zeigt, dass fhempy das U200 im Netzwerk findet. Der Verbindungsaufbau zum Schloss klappt danach aber nicht. Ich vermute, das liegt an einer fehlenden IPv6-Route ins Thread-Netz......


Hallo Claude, :)

deine Vermutung war richtig. Die IPv6-Route hat gefehlt. Bei mir läuft FHEM in einem lxc unter Proxmox.

Mit

net.ipv6.conf.eth0.accept_ra=2
net.ipv6.conf.eth0.accept_ra_rt_info_max_plen=64

im lxc wird die Route korrekt angelegt und das U200 wurde gepairt.

Besten Dank und liebe Grüße

deine Gemini  ;D

300P

#174
Aktueller Status bei mir:

SLZB-MR4U ist in der Theorie komplett installiert und eingebunden - aber das notwendige "set matter pair xxxxxxxx" klappt trotz aller möglichen Anstrengungen (leider) noch nicht.

Mein Lamellendach von Pergolux ist da leider schon sehr sehr zimperlich mit der Einbindung bzw. dem Verbindungsaufbau.
In "Apple Home" habe ich es heute nur dadurch gepairt bekommen, das ich mit dem Handy "Wange an Wange" am Controller-Gerät / Aluprofil gestanden bin.
Mit einer App von PERGOLUX geht es auch nur im Umkreis von 2 Metern - nur die Fernbedienung (Funk) geht so bis zu 3-4 Meter Abstand.
Die Elektronik ist leider hinter einem Alu-Profil verschraubt, verdeckt und versteckt vor dem Wetter draußen.
Guter Wetterschutz - aber schlecht für die Verbindung.

Wenn ich es am WE nochmals (ohne den vielen Regen und etwas wärmer) wieder auf der Leiter schaffe, ganz nah mit dem SLZB-MR4U heranrücke, es erneut versuche und dann erfolgreich wäre ->> Juhuhuhuh ;)
Gruß
300P

FHEM 6.5|QNAP-Container-bookworm|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|
Buderus-MQTT_EMS|Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP|AI_on_the_Edge|ESP32CAM usw.

dominik

Claude:

Hallo,
danke für den Zwischenstand. Die gute Nachricht: Für FHEM musst du sehr wahrscheinlich nicht noch einmal auf die Leiter.
Wichtig vorweg: Wer muss nah ans Dach?
Beim allerersten Einrichten läuft die Verbindung per Bluetooth. Deshalb musstest du mit dem Handy "Wange an Wange" stehen. Der SLZB-MR4U spielt dabei keine Rolle. Er ist nur der Thread Border Router und macht kein Bluetooth-Pairing. Wenn du ihn näher ans Dach bringst, hilft das beim Pairing also nicht.
set matter pair nutzt gar kein Bluetooth. Es erwartet, dass das Gerät schon im Netzwerk ist (WLAN oder Thread), und spricht es dann über IPv6 an. Ein frischer Code vom Typenschild bringt bei einem Gerät, das noch in keinem Netz ist, also nichts. Dafür gäbe es pair_new_device, das läuft über Bluetooth am FHEM-Rechner. Das hat bei dir aber dasselbe Reichweitenproblem.
Der einfache Weg: über Apple Home teilen
Das Dach ist ja schon in Apple Home und damit bereits in einem Netz. Matter erlaubt mehrere Steuerungen gleichzeitig (Multi-Admin). Du kannst es also aus Apple Home heraus an FHEM weitergeben, ganz ohne Bluetooth:
In der Home-App das Dach antippen und unten zu den Einstellungen scrollen.
"Kopplungsmodus einschalten" wählen. Du bekommst einen neuen 11-stelligen Code.
Gleich danach in FHEM set matter pair <code> ausführen. Der Code gilt nur ein paar Minuten.
Das Ergebnis steht im Reading pairing. Das Dach bleibt dabei weiter in Apple Home.
Das kannst du ganz bequem vom Sofa aus machen.
Falls das Dach per Thread angebunden ist
Wenn du in Apple Home gepairt hast, hängt das Dach jetzt im Thread-Netz deines Apple-Border-Routers (HomePod mini oder Apple TV). Das ist nicht unbedingt dasselbe Thread-Netz wie das vom SLZB-MR4U. Für den Weg oben ist das egal, solange dein FHEM-Rechner das Thread-Netz über IPv6 erreicht.
Genau da hakt es unter Linux oft. Der Border Router kündigt eine Route ins Thread-Netz an (Adressen wie fdxx:...), und Linux ignoriert diese Ankündigung in der Standardeinstellung. Das Gerät wird dann zwar gefunden, aber das Pairing schlägt fehl.
Prüfen:
ip -6 route | grep -v fe80
Dort sollte eine Zeile wie fdxx:xxxx:xxxx:xxxx::/64 via fe80::... dev eth0 auftauchen. Wenn sie fehlt (eth0 ggf. durch deine Schnittstelle ersetzen, z.B. wlan0):
sudo tee /etc/sysctl.d/60-matter-thread.conf <<'EOF'
net.ipv6.conf.eth0.accept_ra=1
net.ipv6.conf.eth0.accept_ra_rt_info_max_plen=64
EOF
sudo sysctl --system
Falls IPv6-Forwarding aktiv ist (z.B. durch Docker), nimm accept_ra=2 statt 1. Danach ein paar Minuten warten oder neu starten und mit ip -6 route noch einmal prüfen. Läuft FHEM in Docker, braucht der Container network_mode: host, und die Einstellungen gehören auf den Host.
Zum Testen: set matter discover ausführen, während in Apple Home der Kopplungsmodus läuft. Die gefundenen Geräte stehen im Reading discovered. Taucht das Dach dort auf, sieht FHEM es schon. Dann liegt es fast immer an der Route.
Wenn es trotzdem nicht klappt
Schick mir bitte:
die Readings pairing und discovered (nach einem Versuch mit frischem Code),
die Ausgabe von ip -6 route,
die letzten Zeilen aus matter_server.log (meist unter /opt/fhem/.fhempy/matter_server/).
Damit sehe ich, ob das Dach gar nicht gefunden wird, ob die Verbindung nicht zustande kommt oder ob das Gerät etwas ablehnt.
Den SLZB-MR4U brauchst du für diesen Weg übrigens nicht. Er wird erst interessant, wenn du Thread-Geräte ganz ohne Apple einbinden willst. Dann reicht es, wenn er irgendwo in Funkreichweite anderer Thread-Geräte steht. Thread ist ein Mesh, die Geräte reichen die Pakete weiter.
Viel Erfolg am Wochenende, hoffentlich ganz ohne Leiter ;)
Gruß
Dominik
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

300P

#176
Kurzfassung:
Danke Dominik!

Ich habe keinen HomePod / kein Apple TV als Border Router. Mein einziges Thread-Gateway ist der SLZB-MR4U. Das Handy nutze ich nur als temporäre Bluetooth-Hilfe, um den Code zu erzeugen.



Langfassung:
Zitat von: dominik am 30 Oktober 2026, 23:05:52Der einfache Weg: über Apple Home teilen
Das wäre der allerletzte Plan....da müsste ein Applegerät dauerhaft im Hausnetz sein / bleiben.

Zitat von: dominik am 30 Oktober 2026, 23:05:52Wenn du in Apple Home gepairt hast, hängt das Dach jetzt im Thread-Netz deines Apple-Border-Routers (HomePod mini oder Apple TV). Das ist nicht unbedingt dasselbe Thread-Netz wie das vom SLZB-MR4U. Für den Weg oben ist das egal, solange dein FHEM-Rechner das Thread-Netz über IPv6 erreicht.

...und genau das ist bei mir der große Haken :
Das ist wie früher in der Kaffeewerbung " Isch habe gar kein Auto".... ;)

Ich habe kein Matter bei mir im Hausnetz - das möchte ich allein über den mein SLZB-MR4U realisieren.
Aber solange ich keine Kopplung mit diesem vornehmen kann......

Das sollte ?? m.A.n. ?? daher nur so (evtl.) funktionieren:
Wenn ich "Wange an Wange" mein Handy mit Apple Home bei Matterdevice bin und damit Kontakt habe...
Dann muss ich unten in / zu den Einstellungen meines dort einzigen Gerätes (PERGOLUX).
"Kopplungsmodus einschalten" und ich erhalte einen neuen 11-stelligen Code.
Handy in der Nähe des PEEGOLUX-Matter-Ddevice temporär ablegen / hinlegen.

Sofort / Eiligst in FHEM set matter pair <code> ausführen ->>> da der Code ja nur ein paar Minuten gilt ;)
Wenn das klappt, dann will ich wieder mit meinem Handy von dem PERGOLUX auf der Leiter wieder weg  :o

So war mein aktueller Plan mit dem näherbringen des SLZB-MR4U der in dem normalen Hausnetz per WLAN erreichbar ist (ein IP-Adressen-Kreis)
Oder ist das total daneben ?
Wie gesagt - Matter gar keine Ahnung / Erfahrung bislang....  :o  O:-)

Gruß
300P



NACHSATZ:

Dies schon mal im QNAP-Container ausgeführt....:


# sysctl -w net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.all.accept_ra = 2
# ip -6 route
2001:16b8:46:e100::/64 dev eth0 proto ra metric 1024 expires 6952sec pref medium
2001:16b8:46:e100::/56 via fe80::ec5:74ff:fed0:2aa3 dev eth0 proto ra metric 1024 expires 1552sec pref medium
fdd8:ddc8:bda5::/64 dev eth0 proto ra metric 1024 expires 6952sec pref medium
fdd8:ddc8:bda5::/64 via fe80::ec5:74ff:fed0:2aa3 dev eth0 proto ra metric 1024 expires 1552sec pref medium
fded:8dc0:e11e:1::/64 via fe80::eaf6:aff:feca:b868 dev eth0 proto ra metric 1024 expires 1645sec pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via fe80::ec5:74ff:fed0:2aa3 dev eth0 proto ra metric 1024 expires 1552sec mtu 1492 pref medium
#


# ip -6 route | grep -v fe80
2001:16b8:46:e100::/64 dev eth0 proto ra metric 1024 expires 6773sec pref medium
fdd8:ddc8:bda5::/64 dev eth0 proto ra metric 1024 expires 6773sec pref medium
#


Aber trotz aller Bemühungen (mit externer Unterstützung) heute leider keine Erfolg.


Hier noch das Log von Heute:

2026-10-31 16:06:36.492 INFO MatterServer File logging enabled: /opt/fhem/.fhempy/matter_server/matter_server.log
2026-10-31 16:06:36.499 INFO ConfigStorage Storage location: /opt/fhem/.fhempy/matter_server/data (Directory)
2026-10-31 16:06:36.615 INFO ConfigStorage Set config key fabricLabel to FHEM
2026-10-31 16:06:36.672 INFO ConfigStorage Set config key nextNodeId to 10
2026-10-31 16:06:36.685 INFO ConfigStorage Set config key wifiSsid to undefined
2026-10-31 16:06:36.690 INFO ConfigStorage Set config key wifiCredentials to <redacted>
2026-10-31 16:06:36.696 INFO ConfigStorage Set config key threadDataset to <redacted>
2026-10-31 16:06:36.704 INFO ServerIdResolver Found existing storage for server ID: server-1-fff1
2026-10-31 16:06:36.777 INFO DclCertificateService Initialize CertificateService prod: https://on.dcl.csa-iot.org test: https://on.test-net.dcl.csa-iot.org github: yes acceptTest
2026-10-31 16:06:36.787 INFO DclVendorInfoService Initialize VendorInfoService source: https://on.dcl.csa-iot.org interval: 24h
2026-10-31 16:06:36.797 INFO ControllerCommandHandler BLE is disabled
2026-10-31 16:06:36.813 NOTICE WebSocketControllerHandler Starting server: matter-server/1.4.0 (matter.js/0.17.9)
2026-10-31 16:06:37.039 INFO DclVendorInfoService Loaded 891 vendors from storage
2026-10-31 16:06:37.041 INFO DclVendorInfoService seed: skipping vendors ? storage has 891 entries >= seed expectedCount 891
2026-10-31 16:06:37.041 INFO DclVendorInfoService Fetching vendor information from DCL
2026-10-31 16:06:37.083 INFO DclCertificateService Loaded 181 certificates from storage
2026-10-31 16:06:37.209 INFO DclCertificateService seed: consumed 0 PAA certs from snapshot 2026-10-30T02:12:41.655Z
2026-10-31 16:06:37.218 INFO DclCertificateService seed: consumed 0 CDSigner certs from snapshot 2026-10-30T02:12:41.655Z
2026-10-31 16:06:37.230 INFO ServerNodeStore Opened server-1-fff1 storage location: /opt/fhem/.fhempy/matter_server/data/server-1-fff1 driver: wal
2026-10-31 16:06:37.742 INFO BaseEventStore Loaded volatile event store with next number 6001
2026-10-31 16:06:37.772 INFO Endpoint server-1-fff1 ready endpoint#: 0 type: RootNode (0x16, rev 4) behaviors: ?parts ?index ?accessControl ?basicInformation ?generalCommissioning ?generalDiagnostics ?administratorCommissioning ?operationalCredentials ?groupKeyManagement ?commissioning ?network ?productDescription ?subscriptions ?sessions ?events ?controller ?descriptor
2026-10-31 16:06:37.835 INFO DclOtaUpdateService Initialize OTAUpdateService prod: https://on.dcl.csa-iot.org test: https://on.test-net.dcl.csa-iot.org
2026-10-31 16:06:37.932 INFO Endpoint server-1-fff1.ota-provider ready endpoint#: 1 type: OtaProvider (0x14, rev 1) behaviors: ?otaSoftwareUpdateProvider ?descriptor ?softwareupdates
2026-10-31 16:06:37.937 INFO CertificateAuthority Loaded stored credentials with ID 0
2026-10-31 16:06:37.986 NOTICE FabricAuthority Rotated NOC for fabric 1
2026-10-31 16:06:38.022 WARN CommissioningController BLE is not enabled on this platform
2026-10-31 16:06:38.024 NOTICE Node server-1-fff1 going online
2026-10-31 16:06:38.036 INFO ServerNetworkRuntime TCP transport enabled (incoming=true, outgoing=true)
2026-10-31 16:06:38.075 INFO NetworkProfiles Configure profile fast exchanges: 200 additionalMrpDelay: 0
2026-10-31 16:06:38.077 NOTICE Node server-1-fff1 is online
2026-10-31 16:06:38.084 INFO FabricAccessControl ACL List updated privilege: 5 authMode: 2 subjects: 112233 targets: null fabricIndex: 1 privilege: 3 authMode: 2 subjects:  targets: { cluster: 41, endpoint: 1, deviceType: null } fabricIndex: 1 privilege: 3 authMode: 2 subjects:  targets: { cluster: 1364, endpoint: 2, deviceType: null } fabricIndex: 1
2026-10-31 16:06:38.136 INFO MdnsAdvertisement Publishing kind: operational service: mdns:41AB32C32A92CAB7-000000000001B669._matter._tcp.local
2026-10-31 16:06:38.139 INFO SoftwareUpdateManager Scheduling first OTA update check in 9m 29s
2026-10-31 16:06:38.167 NOTICE ControllerCommandHandler Matter Controller started
2026-10-31 16:06:38.169 INFO ControllerCommandHandler OTA event handlers registered
2026-10-31 16:06:38.181 INFO MatterController Registered Thread credentials from stored:default (xp=6A467D6BB0CE045D, network="ha-thread-dacb", ch=15, panId=0xDACB, mlPrefix=FD516863BBCDA731, activeTs=0000000000010000, pskc=set, networkKey=set, secPolicy=rotation672h/flags=0xF7F8, unknownTlvs=1)
2026-10-31 16:06:38.200 INFO WebRtcTransportRequestorServer WebRtcTransportRequestor initialized on endpoint=2 (id="camera-controller")
2026-10-31 16:06:38.207 INFO MatterController Enabled test OTA images (test-net DCL)
2026-10-31 16:06:38.233 INFO Endpoint server-1-fff1.camera-controller ready endpoint#: 2 type: CameraController (0x0147, rev 1) behaviors: ?webRtcTransportRequestor ?descriptor
2026-10-31 16:06:38.237 INFO ControllerCommandHandler WebRTC callback bridge wired
2026-10-31 16:06:38.237 INFO ControllerCommandHandler Found 0 nodes:
2026-10-31 16:06:38.238 INFO ControllerCommandHandler All 0 nodes initialized, starting connections
2026-10-31 16:06:38.249 NOTICE WebServer Webserver listening on http://127.0.0.1:5580
2026-10-31 16:06:39.383 INFO DclVendorInfoService Fetched 888 vendors from DCL
2026-10-31 16:06:39.413 INFO DclCertificateService Failed to fetch GitHub certificate Chip-Development-PAA-ML-DSA-44-Cert.der [certificate] DER certificate of 4080 bytes exceeds the 600 byte limit.
2026-10-31 16:06:39.476 INFO DclVendorInfoService Stored 892 vendors
2026-10-31 16:06:39.485 INFO DclCertificateService Failed to fetch GitHub certificate Chip-Development-PAA-ML-DSA-65-Cert.der [certificate] DER certificate of 5609 bytes exceeds the 600 byte limit.
2026-10-31 16:06:39.869 INFO DclCertificateService All certificates up to date (181 total)
2026-10-31 16:06:41.769 INFO WebSocketControllerHandler [0] WebSocket connection established
2026-10-31 16:06:41.786 INFO WebSocketControllerHandler WebSocket server start_listening
2026-10-31 16:06:41.787 INFO WebSocketControllerHandler WebSocket server start_listening. Returned 0 nodes
2026-10-31 16:16:07.149 INFO SoftwareUpdateManager No updatable nodes found
2026-10-31 16:19:05.932 INFO ConfigStorage Set config key nextNodeId to 11
2026-10-31 16:19:05.991 INFO Discovery Initiating discovery of node with discriminator 6
2026-10-31 16:19:54.518 INFO ConfigStorage Set config key nextNodeId to 12
2026-10-31 16:19:54.551 INFO Discovery Initiating discovery of node with discriminator 6
2026-10-31 16:22:06.017 ERROR WebSocketControllerHandler [0] WebSocket error response (commission_with_code) 3 Commission failed: discovery of node with discriminator 6 failed: No commissionable device was discovered
    at ServerError.nodeCommissionFailed (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/types/WebSocketMessageTypes.js:38:12)
    at ControllerCommandHandler.commissionNode (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/controller/ControllerCommandHandler.js:959:25)
    at async #commissionWithRetry (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:786:39)
    at async #handleCommissionWithCode (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:834:20)
    at async #handleWebSocketRequest (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:527:20)
  Caused by: [discovery] discovery of node with discriminator 6 failed: No commissionable device was discovered
    at CommissioningDiscovery.onComplete (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter/node/dist/esm/behavior/system/controller/discovery/ParallelPaseDiscovery.js:123:13)
2026-10-31 16:22:54.555 ERROR WebSocketControllerHandler [0] WebSocket error response (commission_with_code) 4 Commission failed: discovery of node with discriminator 6 failed: No commissionable device was discovered
    at ServerError.nodeCommissionFailed (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/types/WebSocketMessageTypes.js:38:12)
    at ControllerCommandHandler.commissionNode (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/controller/ControllerCommandHandler.js:959:25)
    at async #commissionWithRetry (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:786:39)
    at async #handleCommissionWithCode (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:834:20)
    at async #handleWebSocketRequest (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:527:20)
  Caused by: [discovery] discovery of node with discriminator 6 failed: No commissionable device was discovered
    at CommissioningDiscovery.onComplete (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter/node/dist/esm/behavior/system/controller/discovery/ParallelPaseDiscovery.js:123:13)
2026-10-31 16:25:08.233 INFO Discovery Initiating discovery of node discovery
2026-10-31 16:25:11.237 INFO ControllerCommandHandler Discovered result
2026-10-31 16:27:54.021 INFO ConfigStorage Set config key nextNodeId to 13
2026-10-31 16:27:54.051 INFO Discovery Initiating discovery of node with discriminator 6
2026-10-31 16:30:54.065 ERROR WebSocketControllerHandler [0] WebSocket error response (commission_with_code) 6 Commission failed: discovery of node with discriminator 6 failed: No commissionable device was discovered
    at ServerError.nodeCommissionFailed (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/types/WebSocketMessageTypes.js:38:12)
    at ControllerCommandHandler.commissionNode (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/controller/ControllerCommandHandler.js:959:25)
    at async #commissionWithRetry (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:786:39)
    at async #handleCommissionWithCode (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:834:20)
    at async #handleWebSocketRequest (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:527:20)
  Caused by: [discovery] discovery of node with discriminator 6 failed: No commissionable device was discovered
    at CommissioningDiscovery.onComplete (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter/node/dist/esm/behavior/system/controller/discovery/ParallelPaseDiscovery.js:123:13)
2026-10-31 16:42:41.422 INFO ConfigStorage Set config key nextNodeId to 14
2026-10-31 16:42:41.456 INFO Discovery Initiating discovery of node with discriminator 6
2026-10-31 16:45:41.470 ERROR WebSocketControllerHandler [0] WebSocket error response (commission_with_code) 7 Commission failed: discovery of node with discriminator 6 failed: No commissionable device was discovered
    at ServerError.nodeCommissionFailed (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/types/WebSocketMessageTypes.js:38:12)
    at ControllerCommandHandler.commissionNode (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/controller/ControllerCommandHandler.js:959:25)
    at async #commissionWithRetry (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:786:39)
    at async #handleCommissionWithCode (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:834:20)
    at async #handleWebSocketRequest (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter-server/ws-controller/dist/esm/server/WebSocketControllerHandler.js:527:20)
  Caused by: [discovery] discovery of node with discriminator 6 failed: No commissionable device was discovered
    at CommissioningDiscovery.onComplete (file:///opt/fhem/.fhempy/matter_server/node_modules/@matter/node/dist/esm/behavior/system/controller/discovery/ParallelPaseDiscovery.js:123:13)



Gruß
300P

FHEM 6.5|QNAP-Container-bookworm|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|
Buderus-MQTT_EMS|Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP|AI_on_the_Edge|ESP32CAM usw.