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.