Betatest abgeschlossen: Mit Version 9.0 des Matter-Servers von Home Assistant wird matter.js zur technischen Grundlage des Matter Controllers im System. Bislang konnten Anwender entscheiden, ob sie lieber den alten Server nutzen wollten oder eine Beta der Neuauflage, die auf JavaScript basiert. Die Installation der heute veröffentlichten Server-App (link) entfernt diese Wahlmöglichkeit. Matter-Geräte in Home Assistant werden ab sofort nur noch von der neuen Technik verwaltet.
Die Entwicklung von matter.js
Dem Server-Wechsel bei Home Assistant gingen größere Umbauten in matter.js (link) voraus. Das SDK, das unter Federführung der Open Home Foundation (link) entwickelt wird, erfuhr in den vergangenen Monaten mehrere Verbesserungen. Dabei wurde der Netzwerk-Stack komplett überarbeitet – mit dem Ziel, die Erkennung von Geräten, ihre Verbindungen und Reconnects robuster zu machen. Außerdem sollten große Netzwerke besser unterstützt werden. Der Server, der als Softwarekomponente auch als Grundlage für den Matter-Server in Home Assistant dient, erhielt ebenfalls ein Update. Er trägt jetzt die Versionsnummer 1.1.0.
Hinzu kamen erweiterte Matter-Spezifikationen. Die Bibliothek von matter.js kennt jetzt alle in Matter 1.5.1 enthaltenen Cluster und kann als Grundlage für neue Gerätetypen dienen. Allerdings heißt dies nicht, dass es bereits fertige Referenzimplementierungen für alle Cluster gibt. Kameras etwa sind komplexer als Sensoren. Mit Streaming, WebRTC, diversen Auflösungen und Funktionen für Snapshots oder zum Schwenken, Neigen und Zoomen (PTZ) verlangen sie viel Entwicklungsaufwand. Es wird also noch dauern, bis alle Möglichkeiten „out of the box“ unterstützt werden.
Vorteile des neuen Matter-Servers
Der verbesserte Unterbau macht den Server zu einem Gamechanger für Anwender des Matter-Standards. Er soll nicht nur mehr Performance bieten, etwa beim Wiederherstellen großer Installationen, sondern bringt auch erstmals Werkzeuge für die Netzwerkdiagnose mit – ein Extra, das selbst großen, kommerziellen Controllern bislang fehlt. So lassen sich Verbindungsprobleme leichter aufspüren.
Das bisherige Problem: Gängige Tipps für stabile Thread-Netzwerke verlangen Experimentierfreude. Sie empfehlen beispielsweise, schlechte Verbindungen durch eine andere Platzierung von Geräten zu kompensieren. Werden die Abbrüche seltener, ist man auf dem richtigen Weg. Allerdings weiß kaum jemand, wo im Netzwerk diese Abbrüche entstehen – weil gängige Matter-Controller und -Apps keine Informationen zur Topografie des Thread-Meshs liefern.
Smarthome-Enthusiasten versuchen sich mit der App „Thread Networks Diagnostic“ (link) zu behelfen, einem Tool der Thread Group. Allerdings ist diese nur für Android verfügbar und funktioniert auch nicht mit jedem Border Router. Eine ins Ökosystem integrierte Diagnosefunktion wäre deshalb praktischer. Genau hier setzt Home Assistant an: Wer die Benutzeroberfläche des neuen Servers aufruft, findet in der Menüleiste zwei Reiter für „Thread“ und „WiFi“. Sie führen zu einer grafischen Übersicht des jeweiligen Netzwerks, auf der die installierten Geräte verzeichnet sind.

In der Thread-Ansicht gibt es Symbole für Border-Router (hellblau) und Router (dunkelgrau) sowie die verschiedenen Endgerätetypen (hellgrau). Ein Icon am Rand des Symbols hilft dabei, die aktiven Router (blau) von solchen Modellen zu unterscheiden, die vom „Leader“ als stille Reserve gehalten werden (grau). Der Leader selbst ist an einem gelben Krönchen zu erkennen, die „Sleepy End Devices“ tragen das Comic-Symbol für Schlafen (“Zzz“). Wer mehr über die Rollen im Thread-Netzwerk erfahren möchte, findet dieses Wissen hier: „Wie man sich routet, so mesht man“.
Nicht immer sind alle Auszeichnungen vorhanden, was unter anderem die Border-Router betrifft. Modelle von Apple etwa liefern nur eingeschränkt Daten. Auch in Multi-Admin-Installationen mit mehreren Ökosystemen, in denen Geräte von verschiedenen Plattformen aus installiert und anschließend freigegeben wurden, können Informationen fehlen.

Der eigentliche Vorteil liegt aber ohnehin woanders: Farbige Verbindungslinien im Diagramm zeigen an, wie gut der Funkkontakt zwischen den Geräten ist. Der Server wertet dazu die Link Quality Indikatoren (LQI) in den Routing-Tabellen der einzelnen Knoten (Nodes) aus. Im LQI wird festgehalten, wie sauber und störungsfrei die Verbindung zum jeweiligen Nachbarn aus Sicht der einzelnen Nodes erscheint. Im besten Fall (LQI 3) wird die Linie grün dargestellt. Bei einer brauchbaren Verbindung (LQI 2) erscheint sie gelborange, mit wachsenden Störungen rot (LQI 1). Gestrichelte Linien weisen darauf hin, dass nur eines der beiden Geräte vom anderen weiß. Bei gegenseitiger Bekanntschaft, also Informationen aus beiden Router-Tabellen, zieht der Server die Linie durch.
Das Diagramm hilft dabei, neuralgische Stellen im Mesh-Netzwerk zu erkennen. Ein Endgerät, das nur am (seidenen) roten Faden hängt, ist für Ausfälle prädestiniert. Es sollte einen gut erreichbaren Router als „Parent“ zur Seite gestellt bekommen. Zieht jemand im Haushalt versehentlich einen (Zwischen‑) Stecker, bleibt auch das nicht verborgen – weil Geräte, die offline gehen, in Rot dargestellt werden. All das erleichtert die Fehlersuche und Diagnose im Netzwerk.

Der Vollständigkeit halber muss gesagt werden, dass diese Darstellung kein Allheilmittel sein kann. Weil der Server seine Informationen aus dem Matter Fabric bezieht, mit dem er verbunden ist, erhält Home Assistant keine Daten aus benachbarten Mesh-Netzwerken. Es mag also weiterhin Installationen anderer Plattformen geben, die nebenher existieren und deren Geräte im Diagramm nicht auftauchen.
Selbst innerhalb des abgebildeten Meshs muss nicht alles dokumentiert sein. Ein Beispiel sind Thread-Netzwerke, die sich Apple Home und Home Assistant teilen. Ist darin ein Thread-basiertes Homekit-Gerät wie der Wassermelder Eve Water Guard installiert, agiert dieser stromverbundene Knoten zwar als Router und stützt das Netzwerk – der Matter-Server kann ihn aber nicht identifizieren, weil er außerhalb des Fabrics wohnt. Im Diagramm erscheint dann ein „Externer Router“ mit generischem Funksymbol. Weitere Details zu den Anzeigen des Servers liefert die GitHub-Seite von matter.js (link).
Der erste Start benötigt etwas Zeit
Der neue Matter-Server 9.0.0 wird im Rahmen allgemeiner System-Updates von Home Assistant zur Installation angeboten. Beim Umstieg von der alten auf die neue Version benötigt der erste Start etwas Zeit, weil die vorhandenen Gerätedaten migriert werden. Je nach Hardware, Speicher und Geräteanzahl kann das einige Minuten dauern. Entscheidend für die benötigte Zeit ist nicht so sehr die Anzahl an Geräten, sondern die Menge der zu konvertierenden Attribute.

Nach Abschluss der Migration muss der Server seine Geräte im Netzwerk wiederfinden und Verbindungen zu ihnen aufbauen. Auch das benötigt Zeit, ehe alle Knoten wieder „online“ angezeigt werden. Schlägt die automatische Erkennung fehl, empfiehlt es sich, die betroffenen Geräte kurzzeitig vom Strom zu trennen oder – bei Sensoren – die Batterien herauszunehmen und wieder einzusetzen. Anders als die Python-Version soll die neue Architektur besser mit Reconnects umgehen, also Geräten, die zeitweise unerreichbar waren. Bei matter-smarthome verlief der Wechsel reibungslos und alle Mesh-Teilnehmer kamen von selbst wieder online.
Speicherbedarf des Matter-Servers
Im laufenden Betrieb fällt auf, dass die neue Software mehr Ressourcen beansprucht als der bisherige Python-Server. Ihr RAM-Bedarf ist ungefähr doppelt so hoch. Auf älterer Hardware kann das zu Engpässen führen, wenn das System schon vorher stark ausgelastet war. 2 Gigabyte RAM reichten früher für den Betrieb von Home Assistant aus. Inzwischen sollten es aber mehr sein – besonders dann, wenn viele Integrationen und das Energie-Dashboard genutzt werden.
Dabei spielen auch die Zahl der Matter-Geräte und ihre Entitäten eine Rolle – weil Zustände vom Recorder des Systems (link) permanent in die Datenbank geschrieben werden, um später einen Verlauf anzeigen zu können. Mit Messteckdosen, die mitunter alle paar Sekunden Daten liefern, kommt da viel Information zusammen. Ein Computer, auf dem Home Assistant läuft, hat daher besser 4 Gigabyte RAM (oder mehr). Das ist auch die Konfiguration, in der Nabu Casa und die Open Home Foundation ihr Einsteigermodell Home Assistant Green anbieten (link).
Diesen Beitrag teilen:


