MATTER im FHEM? Schon was in Planung?

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

Vorheriges Thema - Nächstes Thema

Jamo

So oder so ähnlich hab ichs auch gemacht, mit Hilfe von Gemini für die HA Automationen, und dann mqtt explorer für die MQTT Topics ist das gut machbar.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee2MQTT, Conbee III, FB7690, Signal, Alexa (fhem-lazy), Geotracking, LaCrosse JeeLink, LoRaWan (TTN / Chirpstack), Sonos, ESPresence, HomeAssistant via MQTT, Meshtastic

m_schmid@posteo.de

HA ist relativ groß. Alternativ habe ich dies hier gefunden:
https://matterbridge.io/
Zusammen mit dem MQTT-Plugin liest sich das nach einer leichtgewichtigen Alternative.
Ich habe es - mangels Notwendigkeit - aber noch nicht selbst getestet.

Sany

Zitat von: m_schmid@posteo.de am 11 Juni 2026, 17:40:19HA ist relativ groß. Alternativ habe ich dies hier gefunden:
https://matterbridge.io/
Zusammen mit dem MQTT-Plugin liest sich das nach einer leichtgewichtigen Alternative.
Ich habe es - mangels Notwendigkeit - aber noch nicht selbst getestet.

fehlt aber doch noch etwas, was z.B. Thread-Geräte verbindet, der Thread-Border-Router. Das ist in meinem Fall eben HA mit einem Sonoff-dongle. Das für den Matter over thread part. Matter over Wifi kann HA dann natürlich auch. Und nur das, was man in fhem dann haben möchte, wird per MQTT an fhem angebunden. Ich sehe eigentlich keinen Unterschied im Aufwand wie z.B. HomematicIP an fhem anzubinden. Habe dazu einen Raspi mit Funkmodul und Debmatic. Und dann halt noch die HMCCU-Geschichte. Bei HA in einer VM auf dem Proxmox-Server ist das alles (bis auf den Sonoff-Dongle) in Software gemacht.
Vielleicht verstehe ich auch matterbridge nicht.


Aktuell ist das eh nur eine Spielwiese. Ich sehe aber z.B. bei IKEA den move von zigbee nach matter, und bisher gab es schon interessante Komponenten für eher kleines Geld. Wobei die Matter-Teile auch recht günstig sind. Jetzt müssen sie nur noch zeigen, dass sie auch so zuverlässing sind.


2ct by SANY
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, volvo2mqtt, MariaDB und Grafana.
[NEU: Homeassistant mit matter per mqtt an fhem].
Sowie Homematic, FS20, mySensors, Tasmota (MQTT2), Shelly(MQTT2), kein Z-Wave mehr  ....

Flachzange

Zitat von: Sany am 19 Juni 2026, 18:43:35Vielleicht verstehe ich auch matterbridge nicht.
Ohne dass ich es mir jetzt im Detail angeschaut habe: Matterbridge übernimmt dieselbe Funktion wie HA, nur dass es eben leichtgewichtiger ist und eben nur Matter macht. Einen Thread-Border-Router brauchst du in beiden Fällen, darum geht es hier ja nicht.

Sany

Bei mir ist HA der Thread Border Router, dann kann es den Rest auch gleich mitmachen (Matter, MQTT)
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, volvo2mqtt, MariaDB und Grafana.
[NEU: Homeassistant mit matter per mqtt an fhem].
Sowie Homematic, FS20, mySensors, Tasmota (MQTT2), Shelly(MQTT2), kein Z-Wave mehr  ....

Zeppelin

Mir hat die Lösung über Home Assistant nicht wirklich gut gefallen, da ich nicht nur wegen Matter Home Assistant bei mir laufen haben wollte. Ich habe mir dann ein eigenes FHEM Device geschrieben, welches mit dem matterjs-server kommuniziert, den auch Home Assistant verwendet. matterjs-server kann man sich auch Stand-Alone ohne Home Assistant installieren. Mit meinen Devices kann ich jetzt zumindest meine Lampen aus FHEM direkt ansteuern. Der Link zu meinem Projekt https://gitlab.com/zeppelin1979/fhem-matter.
Gerne könnt ihr es ebenso nutzen und auch Vorschläge für Verbesserungen machen. Es handelt sich um ein reines Hobbyprojekt und selbst programmiere ich nicht wirklich in perl. Bitte verzeiht deswegen eventuell umständliche Wege im Code.

whirly85

Hi,

@Zeppelin: Wie hast du deine Matter Geräte mit dem Matterjs-server verbunden. Ich habe den js-server als Proxmox LXC installiert und komme auch auf dessen Weboberfläche. Und dein Fhem Modul connected sich auch zu ihm. Aber ich hab es bis jetzt noch nicht hinbekommen, mein Matter-Device mit dem Server zu verbinden. Alles was ich bis jetzt gefunden habe, war dann wieder über die Home Assistant App und die will dann wieder eine HA Instanz haben, die ich ja gar nicht brauche.

Danke Dir

PS: Dein Tool ist soweit schon mal klasse - ich will nämlich auch kein HA extra nur für Matter. Daumen hoch

Zeppelin

Hi @whirly85,

ich habe Lampen von Govee, da kann ich diese mit der Govee-App ins Netz holen. In der App kann ich mir dann einen Matter-Code für jedes Device holen. Da ich zu diesem Zeitpunkt noch Home Assistant am laufen hatte, habe ich diesen Code in die HA-Oberfläche eingegeben. Ich habe auch ein set matterServer commissionCode 35325335079 eingebaut aber nicht getestet, da meine Geräte schon eingebunden waren.
Prinzipiell würde auch die Möglichkeit bestehen, die Einbindung im Netzwerk auch über den MatterJs-Server zu machen, dann muss dieser aber Kontakt zum Device per Bluetooth haben.
Ein Doku findest du unter: Matter-js API Docu. Ich werde mal versuchen einen Bluetooth Stick in meinen Server zu stecken und mal das commissioning direkt zu machen. Eine App wie Home Assistant werde ich aber wahrscheinlich nicht angehen.
Als kurzfristigen Workaround kann man auch Home Assistant kurz starten und dort das Device ins Netzwerk holen. Danach kann man ihn ja wieder beenden.

whirly85

Hi,

vielen Dank. Ich habe mein Device mit der SmartLife-App dort eingebunden und konnte dort dann den Code erzeugen. Hat dann jetzt sauber geklappt und ich kann das Device über FHEM steuern. Ich dachte, der Code, der auf dem Gerät selbst ist, ist der commission Code. Da war ich etwa auf dem Holzweg.

Saubere Arbeit - danke dir

whirly85

Zitat von: Flachzange am 19 Juni 2026, 19:51:23
Zitat von: Sany am 19 Juni 2026, 18:43:35Vielleicht verstehe ich auch matterbridge nicht.
Ohne dass ich es mir jetzt im Detail angeschaut habe: Matterbridge übernimmt dieselbe Funktion wie HA, nur dass es eben leichtgewichtiger ist und eben nur Matter macht. Einen Thread-Border-Router brauchst du in beiden Fällen, darum geht es hier ja nicht.

Ich hab mir mal die Matterbridge angeschaut und die ist nicht in die Richtung gedacht - mit ihr kannst du z.B. Shellys oder MQTT Devices in die Matter-Welt bringen. Dort kannst du keine Matter Geräte einbinden. Es erzeugt nur einen Code von sich und lässt keine Eingabe von Commission Codes oder QR-Code zu. Aber da haben wir ja jetzt was dank Zeppelin  :)

tostmann

Schön zu sehen, dass hier Bewegung drin ist — Zeppelins Modul (https://gitlab.com/zeppelin1979/fhem-matter) zusammen mit dem matterjs-server ist ein direkter Weg zu Matter in FHEM ohne Home Assistant, und whirly85 hat damit ja gerade erfolgreich ein Gerät eingebunden. Ich habe das Modul heute selbst gegen denselben matterjs-server laufen lassen: es verbindet sich auf Anhieb, legt pro Knoten und Endpunkt Geräte an und schaltet meine Testlampe zuverlässig (on, off, pct).

Zwei Dinge fehlen daneben trotzdem, und um die geht es mir hier. Erstens der Thread Border Router — weiter oben im Thread wurde schon festgehalten, dass der separat nötig bleibt, sobald Geräte Matter über Thread sprechen; die IKEA-Geräte, die ich hier verwendet habe, tun das. Zweitens Bluetooth: ein fabrikneues Thread-Gerät ist noch in keinem Netz, das erste Gespräch beim Anlernen läuft über Bluetooth LE. Zeppelins README nennt Commissioning via Bluetooth selbst als offenen Punkt, das Modul lernt derzeit übers Netz an (network_only) — was ausdrücklich keine Lücke des Moduls ist: der Bluetooth-Teil des Anlernens ist Sache des Matter-Servers, nicht des FHEM-Moduls.

Beides kommt bei dem, was ich gebaut habe, aus einem Guss: ein Stick, ein Container. Der Border Router läuft vollständig in der Firmware eines ESP32-C6; die Verbindung zum Rechner ist der USB-Port des Chips, host-seitig macht ein Docker-Container daraus ein Netzwerk-Interface, über das der Rechner die Thread-Geräte per IPv6 erreicht. Auf dem Rechner läuft kein otbr-agent, kein wpantund und kein RCP/Co-Prozessor. Und derselbe Stick leiht dem Matter-Server sein Bluetooth-Funkteil: der Server steuert Scan, Verbindung und Anlernvorgang, der Stick trägt sie über die Luft. Ein Server, NUC oder eine VM ohne eigenes Bluetooth kann damit ein fabrikneues Gerät direkt mit dem Code vom Karton anlernen — angestoßen auf der Web-Seite des Matter-Servers oder über dessen API. Meine Testlampe oben wurde über das Bluetooth des Sticks angelernt — bei mir über die API des Servers — und geschaltet habe ich sie danach mit Zeppelins Modul.

Voraussetzung ist ghcr.io/matter-js/matterjs-server mit der Option --ble-proxy; der python-matter-server (ghcr.io/home-assistant-libs/python-matter-server) meldet in seiner Begrüßung keine Proxy-Unterstützung und kann das nicht. Gemessen: nachdem der Stick eine größere ATT-MTU aushandelt (247 statt der anfänglichen 23), läuft ein Anlernvorgang in 22 Sekunden durch, der vorher im BTP-Handschlag stehenblieb.

Der ganze Weg bis dorthin ist als Anleitung aufgeschrieben: https://github.com/tostmann/THBR/blob/main/fhem/README.md — Stick in Betrieb nehmen, Matter-Server aufsetzen, dem Server einmalig die Thread-Zugangsdaten des Border Routers geben, anlernen; am Ende übergibt sie an Zeppelins Modul. Die Zugangsdaten sind eine Stolperstelle, die die Anleitung eigens behandelt: ohne sie läuft ein Anlernvorgang komplett durch Zertifikate und Fabric und scheitert erst ganz am Ende.

Zur Hardware: ein ESP32-C6 mit 4 MB Flash am nativen USB-Port. Ein ESP32-C5 läuft auch, mit halb so viel Speicherreserve — und bei den hier getesteten C5 setzte der native USB-Port gelegentlich aus, bis der Chip zurückgesetzt wurde. Der ESP32-H2 kann es nicht; Espressif liefert für ihn keine Border-Router-Bibliothek. Es gibt das Ganze als Home-Assistant-Add-on und als normales Docker-Image (docker pull tostmann/thbr); der Docker-Weg hat mit HA nichts zu tun. Projekt: https://github.com/tostmann/THBR — Lizenz PolyForm Noncommercial 1.0.0, privat und nichtkommerziell frei.

Mich würde interessieren: welche Matter-Geräte stehen bei euch an — Thread-basierte wie die IKEA-Geräte hier, oder WLAN-Geräte, die ohne Border Router auskommen? Und falls jemand schon einmal an einem fabrikneuen Thread-Gerät hängengeblieben ist: an welcher Stelle?

Cheers!

Flachzange

Das sind wirklich schön Entwicklungen hier. Vielen Dank @Zeppelin und @tostman.

@tostmann: Ich habe mir dein Projekt angeschaut. Einen ESP als OTBR finde ich gelungen. Jetzt ist es bei mir so, dass der Docker-Host bei mir im Keller im Serverschrank steht. Dort hilft mir der ESP nicht. Ich würde ihn gerne frei platzieren. Vor allem da platzieren, wo auch die Thread-Geräte laufen.

Du erwähnst im Quellcode ein ,,sibling project TBR" mit ESP32-C6 und W5500-Backbone. Ist das ein eigenes beziehungsweise öffentlich verfügbares Projekt, oder beziehst du dich dabei auf ein externes Projekt? Ich habe einen ESP32-C6-Bug mit Ethernet und PoE und würde den dann gerne einfach OTBR nutzen. Wenn es da schon etwas gibt, bräuchte ich nicht vorne anfangen.


Und zur Frage:

Für mich wird Matter inkl. Thread mit jedem Tag interessanter. Es scheint sich herauszukristallisieren, dass durch die Unterstützung der drei großen (Goole, Amazon, Apple) etwas geschaffen wurde, was die Kunden annehmen und daher mehr und mehr Produkte erscheinen. Allen voran Ikea, die natürlich mit ihrer Reichweite und Preisgestaltung zur Attraktivität beitragen können. Es ist ja schon verrückt, dass ein Matter-Leuchtmittel nur wenig mehr als ein Standard-Leuchtmittel kostet. Und ich finde es beispielsweise super spannend RGBW-LEDs dezentral anzusteuern. Mein erstes Matter-Gerät ist aber ein (teurer) WiFi-Aktor von Eltako, den ich mir aus Interesse zugelegt hatte (bei mir ist das meiste derzeit Eltako EnOcean).

Technisch finde ich Matter/Thread ebenfalls sehr spannend. Einzig das Commissioning mit QR Codes, Bluetooth und Co macht es für mich unnötig unkompliziert und ist ein Medienbruch.

tostmann

@Flachzange: TBR ist kein öffentliches und kein fremdes Projekt — eigener Code für eigene Hardware (C6 + W5500 als Backbone), Stand "baut, aber nie auf Hardware getestet". THBR hat davon nur den Control-Flow geerbt. Zum Nachnutzen ist da nichts.

Dein Weg steht im ESP-IDF: examples/openthread/ot_br mit CONFIG_EXAMPLE_CONNECT_ETHERNET, das README führt den "Ethernet based Thread Border Router" als eigene Betriebsart. Anzupassen ist nur der Ethernet-Teil: der C6 hat keinen eingebauten Ethernet-MAC, Ethernet hängt dort immer über SPI dran (W5500 und Verwandte), der Treiber muss zu deinem Chip und Pinning passen.

Espressifs Abraten vom Border Router auf einem einzelnen C6 hat genau einen Grund: ein RF-Pfad, WiFi und 802.15.4 können nicht gleichzeitig empfangen. Bei kabelgebundenem Backbone entfällt der — bei dir Ethernet, bei THBR USB. Der 15.4-Funkteil gehört dann exklusiv Thread.

THBR bleibt beim USB-Weg: Ethernet-fähige C6-Hardware gibt es zur Genüge, du hast selbst ein Board mit PoE. Der Punkt des Projekts war die andere Frage — ob ein vollständiger Border Router auf einem nackten Fünf-Euro-ESP läuft, ohne Ethernet-IC und ohne Co-Prozessor. Einen Ethernet-Zweig wird es dort deshalb nicht geben.

Zum Keller: Thread ist ein Mesh, jedes netzbetriebene Thread-Gerät wird selbst Router und trägt weiter — es genügt, dass eines in Reichweite des Sticks steht. Und drei Meter USB-Verlängerung holen ihn aus jedem Schrank.

Zum Commissioning: der Code ist der Besitznachweis, das ist Matter und nicht FHEM. Der QR-Code ist nur eine Darstellungsform — dieselbe Zahl steht elfstellig auf Karton oder Gerät und wird in das Feld auf der Weboberfläche des Matter-Servers getippt, ohne Handy, Scanner oder Hersteller-App. Bluetooth braucht nur das allererste Gespräch mit einem fabrikneuen Thread-Gerät, und genau diesen Schritt nimmt der Stick einem Server ab, der kein eigenes Bluetooth hat. Lästig bleibt der Fall "schon woanders angelernt": dort gilt der Aufdruck-Code nicht mehr, der aktuelle Besitzer muss ein Commissioning-Fenster öffnen, das einen frischen erzeugt.

Dein Eltako-WLAN-Aktor braucht übrigens keinen Border Router — Matter over WiFi läuft ohne. Der wird erst für die IKEA-Fraktion gebraucht, die Thread spricht.

Flachzange

Zitat von: tostmann am 29 August 2026, 11:10:30@Flachzange: TBR ist kein öffentliches und kein fremdes Projekt — eigener Code für eigene Hardware (C6 + W5500 als Backbone), Stand "baut, aber nie auf Hardware getestet". THBR hat davon nur den Control-Flow geerbt. Zum Nachnutzen ist da nichts.

Dein Weg steht im ESP-IDF: examples/openthread/ot_br mit CONFIG_EXAMPLE_CONNECT_ETHERNET, das README führt den "Ethernet based Thread Border Router" als eigene Betriebsart. Anzupassen ist nur der Ethernet-Teil: der C6 hat keinen eingebauten Ethernet-MAC, Ethernet hängt dort immer über SPI dran (W5500 und Verwandte), der Treiber muss zu deinem Chip und Pinning passen.
Alles klar. Danke. Ich hatte mich halt gefragt, ob das nicht schon mal jemand irgendwo umgesetzt hat und die Kommentare deuteten draufhin. Ich nutze den gleichen ESP schon für ein anderes Projekt und habe dort die Ethernet-Unterstützung implementiert. Schaue mir das dann mal für den OTBR an.

Zitat von: tostmann am 29 August 2026, 11:10:30Espressifs Abraten vom Border Router auf einem einzelnen C6 hat genau einen Grund: ein RF-Pfad, WiFi und 802.15.4 können nicht gleichzeitig empfangen. Bei kabelgebundenem Backbone entfällt der — bei dir Ethernet, bei THBR USB. Der 15.4-Funkteil gehört dann exklusiv Thread.
ja, genau, deswegen ja auch mein Gedanke die Ethernet-Variante zu nutzen, um etwas flexibler zu sein

Zitat von: tostmann am 29 August 2026, 11:10:30THBR bleibt beim USB-Weg: Ethernet-fähige C6-Hardware gibt es zur Genüge, du hast selbst ein Board mit PoE. Der Punkt des Projekts war die andere Frage — ob ein vollständiger Border Router auf einem nackten Fünf-Euro-ESP läuft, ohne Ethernet-IC und ohne Co-Prozessor. Einen Ethernet-Zweig wird es dort deshalb nicht geben.
Alles okay, ich hatte ja auch nicht suggeriert, dass deine Lösung nicht ausreichend ist und verändert werden sollte. Im Gegenteil: Es ist vermutlich für viele genau das, was sie brauchen.

Zitat von: tostmann am 29 August 2026, 11:10:30Zum Keller: Thread ist ein Mesh, jedes netzbetriebene Thread-Gerät wird selbst Router und trägt weiter — es genügt, dass eines in Reichweite des Sticks steht. Und drei Meter USB-Verlängerung holen ihn aus jedem Schrank.
Klar, aber a) fange ich ja mit wenigen Geräten im Haus an einzelnen Stellen an und die Erfahrung bei mir sagt, dass das nicht gut funktioneren wird mit der Erreichbarkeit bis zum Keller. Mein aktuelles (kleines) Zwave-Netz läuft genauso: Stick am Server und dann Zwangsrouting über Funksteckdosen durchs Haus. Sub-Optimal. b) muss ich dann ja auch zum Commissioning in den Keller, sicher kein Showstopper, aber wenn es praktischer ginge...

Zitat von: tostmann am 29 August 2026, 11:10:30Zum Commissioning: der Code ist der Besitznachweis, das ist Matter und nicht FHEM. Der QR-Code ist nur eine Darstellungsform — dieselbe Zahl steht elfstellig auf Karton oder Gerät und wird in das Feld auf der Weboberfläche des Matter-Servers getippt, ohne Handy, Scanner oder Hersteller-App. Bluetooth braucht nur das allererste Gespräch mit einem fabrikneuen Thread-Gerät, und genau diesen Schritt nimmt der Stick einem Server ab, der kein eigenes Bluetooth hat. Lästig bleibt der Fall "schon woanders angelernt": dort gilt der Aufdruck-Code nicht mehr, der aktuelle Besitzer muss ein Commissioning-Fenster öffnen, das einen frischen erzeugt.
Mein Punkt war eher: Im Vergleich zu "ich drücke einen Learn Button am Gerät und das Gerät ist eingelernt", ist das bei Matter schon etwas anstrengender.

Zitat von: tostmann am 29 August 2026, 11:10:30Dein Eltako-WLAN-Aktor braucht übrigens keinen Border Router — Matter over WiFi läuft ohne. Der wird erst für die IKEA-Fraktion gebraucht, die Thread spricht.
Ja, ich hatte ihn auch schon testweise über Home Assistant in Betrieb.

tostmann

@Flachzange: in den Keller musst du nicht, das Gerät aber schon — für den ersten Kontakt braucht es das Bluetooth des Sticks, alles andere läuft in der Weboberfläche des Matter-Servers. Praxis: fabrikneues Gerät neben den Stick, Code eintippen, anlernen, danach montieren. Über zwanzig Geräte gemessen: erfolgreich von -43 bis -80 dBm, gescheitert bei -95 dBm. Ein im Bluetooth-Teil gescheiterter Versuch kostet nichts, das Commissioning-Fenster bleibt offen; zurücksetzen muss nur, wer nach dem Thread-Beitritt scheitert.

Beim Mesh hast du recht: mit drei Geräten trägt das Argument nicht, vorher ist es ein Stern um den Stick und sein Standort entscheidet. Für deinen Aufbau ist Ethernet die richtige Antwort, nicht meine USB-Verlängerung.

Learn-Button: der Vergleich stimmt. Matter tauscht den Tastendruck gegen einen Code, weil ein Vertrauensverhältnis entsteht und nicht nur eine Funkbeziehung — bequemer wird es dadurch nicht.

Zur Info: seit heute ist Release 2026.8.41 mit Firmware 0.1.50 draußen. Behoben ist ein Fehler beim Wechsel des Thread-Netzes — der Border Router konnte danach auf seiner eigenen Adresse im Mesh verstummen, während jede Anzeige "läuft" sagte. Betrifft Erstinbetriebnahme, Stickwechsel und Migration; im stehenden Betrieb tritt es nicht auf. Add-on oder Container aktualisieren genügt, die Stick-Firmware wird bewusst nicht automatisch überschrieben — dafür der Knopf auf der Add-on-Seite.