Aller au contenu principal
Nouveau
Plugin Matter

Plugin Matter

Market →

Intégrer et piloter vos appareils Matter directement depuis Jeedom via **Matter Server (JS)**.

Jeedom 4.4+betaos 11+php 7.4/8.xNode.js☕ Soutenir le développement

Le plugin Matter permet d'ajouter, de piloter et de superviser des appareils compatibles Matter directement depuis Jeedom.

Il s'appuie sur Matter Server (JS) (projet Home Assistant) pour communiquer avec les appareils Matter via le protocole Matter, et expose une interface que Jeedom utilise pour contrôler les équipements.


Migration importante (v0.5.0)

La version 0.5.0 introduit une refonte complète du plugin avec un passage à Matter JS (Node.js).

⚠️ Il est fortement conseillé de :

  • Désinstaller l’ancienne version du plugin (démon Python)
  • Installer ensuite la nouvelle version

💾 Sauvegarde des données :

  • Sauvegarder chip.json et les fichiers *.json (ex : xyzyvysvzsz.json) présents dans data/matter-server
  • Après installation, les remettre dans plugins/matter/data/

⚠️ À faire avant de lancer le démon (avant activation du plugin)


✨ Principe de fonctionnement

Le plugin repose sur trois composants :

  1. Matter Server (JS) — serveur Matter gérant les connexions avec les appareils
  2. Démon nodejs (matterd) — pont entre Jeedom et Matter Server (JS)
  3. Jeedom — interface utilisateur, gestion des équipements et des commandes

Le flux de données est le suivant :

  • Le démon interroge Matter Server (JS) en continu (polling + souscriptions WebSocket)
  • Chaque changement d'état est transmis à Jeedom via l'API REST du plugin
  • Les commandes Jeedom sont relayées au démon qui les exécute sur le serveur Matter

Le plugin prend en charge deux modes de serveur :

  • Embarqué : le plugin démarre et gère Matter Server (JS) automatiquement
  • Externe : le plugin se connecte à une instance Matter Server (JS) existante (ex. Home Assistant)

🔧 Prérequis

Avant d'installer le plugin et d'ajouter un appareil Matter, assurez-vous d'avoir :

🌐 1️⃣ Un réseau local stable

  • Jeedom doit être connecté au même réseau que vos appareils
  • Wi‑Fi fonctionnel et stable
  • Pas d'isolation réseau entre les équipements
  • IPv6 est requis pour la découverte mDNS des appareils Matter (vérifiable sur la page Santé)

📡 2️⃣ Un contrôleur Matter

Matter nécessite un contrôleur pour gérer les appareils.

Le plugin Matter peut jouer ce rôle et devenir votre contrôleur principal.

⚠️ Il est recommandé de ne pas utiliser plusieurs contrôleurs principaux en parallèle si vous débutez.

🧵 3️⃣ Un Border Router (si appareil Thread)

Certains appareils Matter utilisent la technologie Thread.

Dans ce cas, vous devez disposer d'un Thread Border Router.

Exemples compatibles :

⚠️ Les appareils Matter en Wi‑Fi ou Ethernet n'ont pas besoin de Border Router.

🍎🤖 4️⃣ Appareils déjà configurés dans Apple, Amazon ou Google

Si votre appareil est déjà ajouté dans :

  • Apple Home
  • Amazon Alexa
  • Google Home

Deux possibilités :

  • Soit Jeedom devient le contrôleur principal
  • Soit vous partagez l'appareil vers Jeedom (si supporté)

Il est conseillé d'éviter les configurations multiples si vous débutez.

🔵 5️⃣ Clé Bluetooth (pour le jumelage Wi‑Fi)

Le Bluetooth est utilisé uniquement lors du jumelage des appareils Matter Wi‑Fi pour leur transmettre les informations réseau. Il n'est pas nécessaire pour le fonctionnement quotidien ni pour les appareils Thread ou Ethernet.

Si votre Jeedom ne dispose pas de Bluetooth intégré, vous pouvez utiliser une clé USB Bluetooth (adaptateur BT 4.0 ou 5.0).

important

Sans Bluetooth disponible, cochez l'option Réseau uniquement lors du jumelage. Cela fonctionne si l'appareil est déjà accessible sur le réseau local (appareils Thread via Border Router, ou appareils Wi‑Fi déjà provisionnés).

🔑 6️⃣ Code Matter obligatoire

Pour l'inclusion, vous aurez besoin du code à 11 chiffres de votre appareil.


Récupérer le code depuis Apple Maison

  1. Ouvrez l'application Maison sur votre iPhone ou iPad
  2. Maintenez le doigt appuyé sur l'accessoire Matter à partager
  3. Appuyez sur Réglages de l'accessoire (icône d'engrenage en bas à droite)
  4. Faites défiler vers le bas et appuyez sur Activer le mode de jumelage
  5. L'application génère un code numérique à 11 chiffres (et parfois un QR code)
  6. Appuyez sur Copier le code

Récupérer le code depuis Google Home

  1. Ouvrez l'application Google Home
  2. Maintenez le doigt sur la tuile de votre appareil Matter
  3. Appuyez sur l'icône Paramètres (roue crantée) en haut à droite
  4. Appuyez sur Applications et services Matter associés
  5. Appuyez sur Associer des applications et des services
  6. Sélectionnez Utiliser un code d'association (ou "Partager avec un code QR")
  7. Un code numérique à 11 chiffres s'affiche

Récupérer le code depuis Amazon Alexa

  1. Ouvrez l'application Amazon Alexa
  2. Appuyez sur l'onglet Appareils en bas de l'écran
  3. Sélectionnez l'accessoire Matter à partager
  4. Appuyez sur l'icône Paramètres (roue crantée) en haut à droite
  5. Sélectionnez Autres assistants et applications
  6. Appuyez sur Ajouter un autre
  7. Un code numérique à 11 chiffres s'affiche

🚀 Installation

Étape 1 — Installer le plugin depuis le Market

  1. Allez dans Plugins → Gestion des plugins → Market
  2. Recherchez Matter
  3. Cliquez sur Installer
  4. Activez le plugin

Installation plugin

Étape 2 — Installer les dépendances

Les dépendances incluent Matter Server (JS) et les modules nécessaires au fonctionnement du démon.
L'installation peut prendre 2 à 5 minutes selon votre machine.

  1. Allez dans Plugins → Matter → Configuration
  2. Cliquez sur Installer les dépendances
  3. Attendez que le statut passe à OK avant de continuer

⚠️ Cette étape installe automatiquement :

  • Node.js (si nécessaire)
  • Les dépendances npm (matter-server, ws, etc.)

Dépendances

⚠️ Ne redémarrez pas la page pendant l'installation. Vous pouvez suivre la progression dans les logs

Étape 3 — Démarrer le démon

  1. Toujours dans la configuration, cliquez sur Démarrer (section Démon)
  2. Attendez que le statut passe au vert ✅

Démon

Quand les deux voyants Démon et Serveur Matter sont verts, le plugin est opérationnel.


⚙️ Configuration

Mode serveur

ModeDescription
Auto (défaut)Le plugin détecte si un serveur Matter est déjà actif. Sinon, il le démarre.
EmbarquéLe plugin démarre et gère Matter Server (JS) lui-même.
ExterneLe plugin se connecte à une instance existante (ex. Home Assistant).

Paramètres disponibles

ParamètreValeur par défautDescription
Mode serveurautoVoir tableau ci-dessus
Port serveur5580Port TCP du Matter Server (WebSocket)
URL serveur Matterhttp://127.0.0.1:5580/wsURL WebSocket (mode externe uniquement)
Token Matter(vide)Token d'authentification (si requis)
Port démon55123Port RPC HTTP du démon Jeedom (Node.js)
Adaptateur BluetoothautoSélection de l'adaptateur BT pour le jumelage

En mode externe, renseignez l'URL WebSocket de votre serveur Matter (ex. ws://192.168.1.50:5580/ws).


➕ Ajouter un appareil Matter

Étape 1 — Récupérer le code de jumelage

Si l'appareil est déjà appairé avec un autre écosystème, selon votre configuration :

  • Partagez-le depuis l'application d'origine (si la fonctionnalité est disponible)
  • Ou réinitialisez l'appareil en usine pour le réappaire depuis zéro

Étape 2 — Jumelage dans Jeedom

  1. Allez dans Plugins → Matter → Configuration
  2. Dans la section Commissioning, collez le code Matter (numérique ou MT:…)
  3. Cochez Réseau uniquement si vous ne voulez pas utiliser le Bluetooth
  4. Cliquez sur Commissionner
  5. L'opération peut prendre jusqu'à 3 minutes

Ajouter équipement

Le Bluetooth n'est nécessaire que pour les appareils Wi-Fi lors de la phase de provisioning réseau. Les appareils Thread ou déjà sur le réseau peuvent être appairés en mode réseau uniquement.

Étape 3 — Synchronisation automatique

Après un jumelage réussi, le plugin synchronise automatiquement le nœud Matter et crée l'équipement Jeedom correspondant.

Vous pouvez aussi déclencher une synchronisation manuelle via le bouton Synchroniser sur la page de configuration.


🖥️ Page Équipement

Chaque appareil Matter apparaît comme un équipement Jeedom avec deux onglets.

Onglet Équipement

Contient les informations générales et les métadonnées Matter (en lecture seule) :

  • Fabricant / Produit : informations récupérées depuis l'appareil
  • Types de device : types Matter détectés (ex. OnOff Light, Door Lock)
  • Clusters : liste des clusters Matter présents sur l'appareil

Fiche équipement

Onglet Commandes

Liste des commandes créées automatiquement selon les clusters détectés.


📊 Commandes par type d'appareil

Les commandes sont créées automatiquement en fonction des clusters Matter présents sur l'appareil.

Ampoules et prises On/Off

CommandeTypeDescription
onActionAllumer
offActionÉteindre
stateInfoÉtat (0/1)

Ampoules dimmables

CommandeTypeDescription
on / offActionAllumer / Éteindre
stateInfoÉtat (0/1)
setLevelAction (slider)Niveau de luminosité (0–100 %)
levelInfoNiveau actuel

Ampoules couleur (Extended Color Light)

Toutes les commandes dimmables, plus :

CommandeTypeDescription
setColorActionDéfinir la couleur RGB
colorInfoCouleur actuelle (hex)
setColorTemperatureAction (slider)Température de couleur (en mireds)
colorTemperatureInfoTempérature actuelle
ct_coolActionPreset froid (~4000 K)
ct_neutralActionPreset neutre (~3000 K)
ct_warmActionPreset chaud (~2700 K)

Serrures connectées

CommandeTypeDescription
lockActionVerrouiller
unlockActionDéverrouiller
lock_stateInfoÉtat (Locked / Unlocked / Jammed)
set_lock_modeActionMode de la serrure

Modes disponibles pour set_lock_mode :

  • Normal — fonctionnement standard
  • Vacation — verrouillage renforcé
  • Privacy — ne pas déranger
  • NoRemoteLockUnlock — blocage des commandes distantes

Capteurs d'environnement

CapteurCommandeType
TempératuretemperatureInfo (°C)
HumiditéhumidityInfo (%)
LuminositéilluminanceInfo (lux)
Présence/OccupationoccupancyInfo (0/1)
Contact (porte/fenêtre)contactInfo (0/1)

Thermostats

CommandeTypeDescription
local_temperatureInfoTempérature mesurée
occupied_heating_setpointInfo/ActionConsigne chauffage
occupied_cooling_setpointInfo/ActionConsigne refroidissement
system_modeInfoMode actuel

Boutons et télécommandes

Les boutons génèrent des commandes événementielles selon les pressions détectées :

CommandeDescription
shortPressAppui court
longPressAppui long
doublePressDouble appui

Les boutons multi-touches créent des commandes par touche (ex. button1_shortPress, button2_longPress).

Volets et stores

CommandeTypeDescription
openActionOuvrir
closeActionFermer
stopActionArrêter
positionInfoPosition actuelle (%)

Capteurs d'énergie

CommandeDescription
activePowerPuissance active (W)
voltageTension (V)
currentCourant (A)
energyÉnergie consommée (kWh)

Batterie

CommandeDescription
batteryNiveau de batterie (%)
batteryVoltageTension batterie (V)

❤️ Page Santé

La page Santé (accessible via le bouton Santé sur la page du plugin) affiche un rapport de diagnostic complet.

Page santé

Vérifications effectuées

VérificationDescription
Node.jsVersion installée et compatible
npmGestionnaire de paquets Node.js disponible
Matter Server (JS)Installation du module matter-server
DémonStatut du processus matterd (Node.js)
RPC démonDisponibilité de l'API RPC locale
Connexion Matter serverConnectivité WebSocket vers le serveur
Répertoire de donnéesPrésence et accessibilité du stockage
BluetoothDisponibilité de l'adaptateur BT système
IPv6Configuration réseau IPv6 (requis pour mDNS)
Docker / OTBRStatut du conteneur et du réseau Thread (si activé)

Actions disponibles

  • Diagnostiquer : rafraîchit le rapport de santé
  • Réparation auto : tente de corriger automatiquement les problèmes détectés
  • Mode jumelage : active le mode commissioning Bluetooth

🔁 Synchronisation

Synchronisation complète

Lance une resynchronisation de tous les nœuds Matter connus. Utile après une mise à jour du firmware d'un appareil ou en cas de dérive des commandes.

Via la configuration :

  1. Allez dans Plugins → Matter → Configuration
  2. Cliquez sur Synchroniser

Synchronisation d'un nœud spécifique

Disponible directement sur la fiche équipement si un nœud doit être resynchronisé individuellement.


🛠️ Utilisation dans les scénarios

Les commandes Matter s'utilisent comme n'importe quelle commande Jeedom dans vos scénarios.

Exemples d'usage :

# Allumer une lampe
[Salon][Ampoule Matter][on]

# Régler à 50 % de luminosité
[Salon][Ampoule Matter][setLevel] = 50

# Vérifier si la porte est verrouillée
SI [Entrée][Serrure Matter][lock_state] = Locked ALORS ...

# Déclencher sur présence
SI [Couloir][Capteur Matter][occupancy] = 1 ALORS ...

🧩 Mode Serveur Externe (Home Assistant)

Si vous utilisez déjà Home Assistant avec Matter Server (JS) actif, vous pouvez partager la même instance :

  1. Dans la configuration, sélectionnez Mode : Externe
  2. Renseignez l'URL WebSocket : ws://<ip-home-assistant>:5580/ws
  3. Ajoutez le token si nécessaire
  4. Sauvegardez puis redémarrez le démon

⚠️ En mode externe, le fabric Matter est partagé.
Les appareils déjà appairés dans Home Assistant seront visibles dans Jeedom,
mais chaque contrôleur conserve ses propres commandes et états.



🔧 OTBR / Thread (mode avancé)

Cette section est destinée aux utilisateurs souhaitant utiliser Thread localement avec Jeedom via un dongle OTBR.

📡 Principe

Le plugin Matter peut fonctionner avec :

  • 🌐 Un serveur Matter externe (Home Assistant, etc.)
  • 🔌 Un réseau Thread local via OTBR (Docker + dongle)

👉 Dans ce mode, Jeedom devient autonome pour :

  • le commissioning Thread
  • la gestion du réseau Thread
  • la communication avec les devices

🧱 Prérequis OTBR

  • Docker installé et fonctionnel
  • Utilisateur www-data dans le groupe docker
  • Un dongle ou hub Thread compatible (voir ci-dessous)

🔌 Modes de connexion du dongle Thread

Le plugin supporte trois façons de connecter votre dongle Thread, selon votre matériel.

Mode OTBR

Choisissez d’abord comment OTBR fonctionne :

ModeQuand l’utiliser
Local (USB + Docker)Le dongle est branché directement sur le serveur Jeedom
DistantOTBR tourne sur un hub réseau séparé (ex : SLZB-06xU avec OTBR intégré)

1. USB — Dongle branché directement

C’est le cas le plus courant : votre clé Thread est branchée sur un port USB du serveur Jeedom.

  • Le plugin détecte automatiquement les dongles disponibles
  • Choisissez de préférence le chemin /dev/serial/by-id/... (stable, ne change pas au redémarrage)

Matériels compatibles : Sonoff Zigbee Dongle Plus (Thread), SkyConnect, Slaesh CC2652RB, tout stick Thread USB

Paramètres UART : la plupart des dongles fonctionnent sans configuration supplémentaire. Si votre clé ne se connecte pas, utilisez un préréglage :

PréréglageMatériel
Slaesh CC2652RBSlaesh CC2652RB
SLZB Thread RCP (EFR32)SLZB-06x en USB

2. TCP via socat — Clé Thread sur le réseau (recommandé pour SLZB)

Votre clé Thread est connectée à un appareil réseau qui expose son port série via TCP (Serial-over-IP). Le plugin crée automatiquement un pont local via socat.

  • Saisir l’adresse de votre appareil au format ip:port (port 6638 par défaut)
  • Exemple : 192.168.1.10:6638

Matériels compatibles : SLZB-06x, SLZB-MR4U et tout adaptateur Serial-over-IP

Mode à activer sur le dongle : Thread to remote OTBR

Paramètre UART recommandé pour ces appareils : utiliser le préréglage TCP via socat (EFR32/SLZB-MR4U)

astuce

Ce mode est plus fiable que le TCP direct pour les appareils SLZB car socat gère la conversion du protocole série.

remarque

En mode Thread to remote OTBR, l’API REST du dongle (port 8080) est désactivée sur le dongle lui-même. Un curl http://ip-du-dongle:8080 qui échoue est normal et attendu dans cette configuration. Seul le port série TCP (6638) est utilisé.

Configuration Jeedom (exemple SLZB sur 192.168.1.147) :

ParamètreValeur
Mode pluginLocal (USB + Docker)
Type connexion RCPTCP réseau via socat
Adresse TCP RCP192.168.1.147:6638
Docker OTBRActif sur Jeedom

Vérifications :

# Connexion TCP au dongle — doit répondre
nc -vz 192.168.1.147 6638

# État Thread dans le conteneur OTBR — doit afficher leader, router ou child
docker exec -it otbr ot-ctl state

3. TCP direct — Connexion réseau native (avancé)

Connexion directe en protocole spinel sur TCP, sans intermédiaire. Réservé aux appareils compatibles avec le protocole spinel+hdlc+uart+tcp://.

Deux sous-modes :

  • Auto : saisir ip:port, le plugin construit l’URL automatiquement
  • URL complète : saisir l’URL spinel complète (ex : spinel+hdlc+uart+tcp://192.168.1.10:6638)

4. Distant — OTBR sur un hub réseau (expérimental)

OTBR tourne sur un appareil externe (ex : SLZB-06xU avec "Thread + OTBR on device" activé). Jeedom se connecte à son API REST via l’adresse HTTP.

Mode à activer sur le dongle : Thread + OTBR running on device

  • Sélectionner le mode Distant dans la configuration
  • Saisir l’URL de l’API REST de votre hub : http://192.168.1.x:8080
  • Le plugin lit et écrit le dataset Thread directement sur le hub

Configuration Jeedom (exemple SLZB sur 192.168.1.147) :

ParamètreValeur
Mode pluginDistant
URL OTBRhttp://192.168.1.147:8080
Docker OTBRArrêté sur Jeedom

Vérification :

# L’API REST du dongle doit répondre
curl http://192.168.1.147:8080

Important en mode distant :

  • Le conteneur Docker local n’est pas utilisé
  • Le watchdog local ne tourne pas (inutile)
  • Les boutons Lancer/Arrêter/Redémarrer OTBR sont désactivés
  • La gestion du réseau Thread se fait depuis Jeedom, mais c’est le hub qui l’exécute

Tableau récapitulatif

ModeMode dongleDocker JeedomPort utiliséWatchdog
USBOui/dev/ttyUSB*Oui
TCP socatThread to remote OTBROuiTCP 6638Oui
TCP directThread to remote OTBROuiTCP 6638Oui
DistantThread + OTBR on deviceNonHTTP 8080Non

⚙️ Installation

Depuis la page Configuration → OTBR :

  1. Cliquer sur Installer le support Thread

  2. Attendre la fin de l’installation (quelques minutes)

  3. Vérifier l’état :

    • Docker : OK
    • www-data dans docker : OK
  4. Si Docker n’est pas accessible ou droits www-data incorrects : 👉 Cliquer sur Redémarrer Apache ⚠️ À faire une seule fois après installation

  5. Cliquer sur Lancer OTBR

Statut OTBR Thread


🌐 Configuration du réseau Thread

Deux cas de figure :

🆕 Nouveau réseau Thread

  • Cliquer sur Créer / Réinitialiser le réseau Thread
    👉 Le plugin initialise automatiquement un nouveau dataset

🔁 Réseau existant (recommandé)

  • Récupérer un dataset Thread existant :

    • Home Assistant
    • Sauvegarde d’une ancienne clé
  • Ouvrir la fenêtre Gestion Matter & Thread

  • Coller le dataset dans le champ prévu

  • Cliquer sur Injecter le dataset

Ajouter dataset

👉 Permet de :

  • conserver les appareils existants
  • éviter de devoir tout réappairer

🔗 Commissionnement, multi-admin et dataset

La fenêtre Gestion Matter & Thread regroupe trois fonctions principales :

Admin Thread


➕ Commissionnement Matter

Permet d’ajouter un nouvel équipement Matter à Jeedom.

  • Saisir le code Matter (recommandé en manuel)
    👉 Utiliser de préférence le code manuel (plus fiable que le QR code)

  • Option possible : forcer la configuration réseau (avancé)

  • Cliquer sur Commissionner

👉 Utilisé pour :

  • ajouter un nouvel appareil
  • connecter un device neuf ou réinitialisé

🔄 Partage multi-admin

Permet d’ajouter dans un autre contrôleur Matter un équipement déjà présent dans Jeedom
(ex : Apple Home, Home Assistant)

Étapes :

  1. Sélectionner l’équipement dans Jeedom
  2. Cliquer sur Générer un code
  3. Utiliser ce code dans l’autre écosystème

👉 Permet :

  • d’éviter un reset
  • de partager un appareil entre plusieurs systèmes

👉 Nécessite que les contrôleurs soient sur le même réseau Thread


🧠 Différence importante

  • Commissionnement → ajout initial d’un appareil
  • Multi-admin → partage d’un appareil existant

👉 Les deux méthodes sont complémentaires et peuvent être utilisées ensemble


📋 Dataset Thread

Le dataset contient :

  • les clés réseau
  • le nom du réseau
  • la configuration Thread

👉 Le dataset est l’élément central du réseau Thread : tous les contrôleurs doivent partager le même

Fonctions disponibles :

  • 📥 Récupérer le dataset actuel
  • 📋 Copier
  • 📤 Injecter un dataset

💡 Conseil

👉 Privilégier l’utilisation d’un dataset existant si vous avez déjà un réseau Thread
👉 Cela garantit une continuité et évite toute perte d’équipements


🧠 Bonnes pratiques

  • Toujours utiliser un seul réseau Thread
  • Faire une sauvegarde du dataset
  • Réutiliser le dataset lors d’un changement de clé

⚠️ Important

  • Le Bluetooth est utilisé uniquement pour le commissioning
  • Une fois ajouté, le device communique en Thread (réseau IP)
  • Si le dongle est remplacé → réinjecter le dataset
  • Si le dataset est perdu → les appareils devront être réappairés

🔄 Synchronisation des équipements

  • Les devices sont automatiquement détectés après commissioning
  • Une synchronisation peut être lancée manuellement si nécessaire

🛡️ Surveillance automatique (Watchdog)

Le plugin inclut un système de surveillance qui tourne en arrière-plan dès qu'OTBR est démarré. Il vérifie toutes les 30 secondes que tout fonctionne correctement.

Ce qu'il surveille

Situation détectéeAction automatique
Le conteneur OTBR s'est arrêtéRedémarrage du conteneur (après 60s)
Le conteneur a disparu ou est irrécupérableRecréation complète du conteneur
Le réseau Thread est perdu (detached)Redémarrage de la couche Thread
Le réseau Thread est désactivéRelance du réseau Thread

Rôle du cron Jeedom

La tâche planifiée de Jeedom (exécutée chaque minute) vérifie uniquement que le watchdog lui-même tourne. Si le watchdog s'est arrêté pour une raison quelconque, Jeedom le relance automatiquement.

Jeedom (cron 1 min)
└─ Watchdog actif ? Non → relance le watchdog
└─ Watchdog (toutes les 30s)
└─ OTBR OK ? Non → redémarre OTBR

Après une recréation complète

Si le conteneur OTBR a dû être entièrement recréé (cas rare), le réseau Thread redémarre sans votre dataset. Vos appareils Thread risquent de ne pas se reconnecter.

Solution : Allez dans Gestion Matter & Thread → Injecter le dataset et collez votre dataset de sauvegarde.

Bonne pratique

Pensez à copier votre dataset Thread régulièrement depuis Gestion Matter & Thread → Récupérer le dataset actuel. C'est votre "clé" pour retrouver vos appareils Thread en cas de problème.


🐛 Dépannage

Le démon ne démarre pas

  1. Vérifiez que les dépendances sont bien installées (statut OK)
  2. Consultez les logs log/matterd pour identifier l'erreur
  3. Vérifiez que le port 55123 (démon RPC) n'est pas occupé
  4. Utilisez Réparation auto sur la page Santé

Le jumelage échoue

  • Vérifiez que le code Matter est correct (11 chiffres ou format MT:…)
  • Assurez-vous que l'appareil est en mode commissioning (LED clignotante)
  • Essayez avec l'option Réseau uniquement décochée (pour activer le Bluetooth)
  • Augmentez le délai si l'appareil est lent à répondre (timeout 180 s par défaut)
  • Vérifiez que IPv6 est actif sur votre réseau (page Santé)

L'appareil est créé mais ne répond pas

  1. Vérifiez que l'appareil est alimenté et sur le même réseau
  2. Lancez une Synchronisation manuelle
  3. Consultez les logs log/matter pour les erreurs RPC
  4. Vérifiez la connectivité avec le serveur Matter depuis la page Santé

Les commandes ne se créent pas

  • Vérifiez les clusters détectés dans l'onglet Équipement
  • Relancez une synchronisation complète
  • Si le problème persiste, supprimez l'équipement et re-synchronisez le nœud

OTBR ne démarre pas (dongle USB non détecté)

  1. Vérifiez que le dongle est bien branché : allez dans Configuration → OTBR et cliquez sur Rafraîchir les ports
  2. Préférez le chemin /dev/serial/by-id/... s'il est disponible (plus stable)
  3. Si le dongle ne répond pas, essayez un Préréglage UART (Slaesh CC2652RB ou SLZB Thread RCP)
  4. Consultez les logs matter_otbr pour voir l'erreur exacte

OTBR ne se connecte pas (mode TCP socat ou TCP direct)

  1. Vérifiez que l'adresse ip:port est correcte (port 6638 par défaut pour SLZB)
  2. Testez que l'appareil est joignable sur le réseau
  3. Pour les SLZB : vérifiez que le mode "Serial-over-IP" ou "Thread RCP" est activé dans l'interface de l'appareil
  4. En cas d'échec de connexion, essayez le préréglage UART TCP via socat (EFR32/SLZB-MR4U)
  5. Consultez les logs matter_otbr

Le hub distant (mode Distant) n'est pas joignable

  1. Vérifiez l'URL de l'API REST : http://ip-du-hub:8080
  2. Vérifiez que votre hub a bien le mode OTBR activé
  3. Testez l'URL dans un navigateur : vous devez voir une réponse JSON
  4. Vérifiez qu'il n'y a pas de pare-feu entre Jeedom et le hub

OTBR s'est arrêté et ne redémarre pas

Le watchdog gère normalement ce cas automatiquement. Si OTBR reste arrêté :

  1. Consultez les logs matter_otbr pour voir ce qui s'est passé
  2. Vérifiez que Docker fonctionne sur la machine
  3. Allez dans Configuration → OTBR et cliquez sur Lancer OTBR manuellement
  4. Si le watchdog lui-même est arrêté, attendez jusqu'à 1 minute que Jeedom le relance automatiquement

Les appareils Thread ne répondent plus après un redémarrage d'OTBR

Si OTBR a dû être recréé entièrement (cas rare), le dataset Thread a été perdu :

  1. Allez dans Gestion Matter & Thread → Injecter le dataset
  2. Collez votre dataset de sauvegarde
  3. Cliquez sur Injecter le dataset
  4. Attendez quelques secondes que les appareils se reconnectent

Après mise à jour des dépendances

Après chaque mise à jour majeure des dépendances :

  1. Arrêtez le démon
  2. Relancez l'installation des dépendances
  3. Redémarrez le démon
  4. Vérifiez la page Santé

📋 Appareils compatibles

Le plugin supporte tout appareil certifié Matter 1.x, notamment :

  • Ampoules et spots (on/off, variateur, couleur)
  • Prises connectées
  • Serrures connectées
  • Capteurs de température et d'humidité
  • Capteurs de luminosité
  • Détecteurs de présence / mouvement
  • Capteurs d'ouverture (porte, fenêtre)
  • Thermostats
  • Volets et stores
  • Boutons et télécommandes
  • Compteurs d'énergie

🎉 Conclusion

Le plugin Matter offre une intégration complète du protocole Matter dans Jeedom :

  • Découverte automatique des capacités de chaque appareil via les clusters
  • Commandes générées automatiquement selon les fonctionnalités détectées
  • Supervision intégrée avec la page Santé et les logs
  • Compatible avec les installations existantes (mode serveur externe)

Installation → Jumelage → Utilisation dans vos scénarios et votre dashboard Jeedom.