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.
Relancez toujours l'installation des dépendances après une mise à jour du plugin Matter.
👉 Plugins → Matter → Configuration → Installer les dépendances
Puis redémarrez le démon. Ne pas le faire peut provoquer des erreurs de démarrage ou des dysfonctionnements.
✨ Principe de fonctionnement
Le plugin repose sur trois composants :
- Matter Server (JS) — serveur Matter gérant les connexions avec les appareils
- Démon nodejs (matterd) — pont entre Jeedom et Matter Server (JS)
- 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 :
- Apple HomePod (2e génération)
- Apple TV 4K récente
- Amazon Echo compatible Thread
- Google Nest Hub (2e génération)
- Dongle OTBR (OpenThread Border Router)
⚠️ 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).
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).
Mode BLE Proxy (Bluetooth distant)
Si votre Jeedom n'a pas de Bluetooth mais qu'une autre machine sur votre réseau en dispose (PC Windows, Raspberry Pi, Home Assistant…), vous pouvez utiliser le mode BLE Proxy.
Dans ce mode, le serveur Matter expose un endpoint WebSocket ws://<ip-jeedom>:5580/ble sur lequel un client distant se connecte et proxy toutes les opérations Bluetooth (scan, connexion GATT, BTP).
Activation :
- Dans Plugins → Matter → Configuration, section Commissioning, cochez BLE Proxy (distant)
- Sauvegardez et redémarrez le démon
- Sur la machine distante, lancez un client BLE Proxy compatible, par exemple le script Python disponible ici : https://github.com/Zyg0m4t1k/ble-proxy-client
# Python (Windows / Linux / macOS) — nécessite : pip install websockets bleak
python ble_proxy_client.py ws://192.168.1.x:5580/ble
Le mode BLE Proxy et l'adaptateur Bluetooth local sont mutuellement exclusifs. Activez l'un ou l'autre.
🔑 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
- Ouvrez l'application Maison sur votre iPhone ou iPad
- Maintenez le doigt appuyé sur l'accessoire Matter à partager
- Appuyez sur Réglages de l'accessoire (icône d'engrenage en bas à droite)
- Faites défiler vers le bas et appuyez sur Activer le mode de jumelage
- L'application génère un code numérique à 11 chiffres (et parfois un QR code)
- Appuyez sur Copier le code
Récupérer le code depuis Google Home
- Ouvrez l'application Google Home
- Maintenez le doigt sur la tuile de votre appareil Matter
- Appuyez sur l'icône Paramètres (roue crantée) en haut à droite
- Appuyez sur Applications et services Matter associés
- Appuyez sur Associer des applications et des services
- Sélectionnez Utiliser un code d'association (ou "Partager avec un code QR")
- Un code numérique à 11 chiffres s'affiche
Récupérer le code depuis Amazon Alexa
- Ouvrez l'application Amazon Alexa
- Appuyez sur l'onglet Appareils en bas de l'écran
- Sélectionnez l'accessoire Matter à partager
- Appuyez sur l'icône Paramètres (roue crantée) en haut à droite
- Sélectionnez Autres assistants et applications
- Appuyez sur Ajouter un autre
- Un code numérique à 11 chiffres s'affiche
🚀 Installation
Étape 1 — Installer le plugin depuis le Market
- Allez dans Plugins → Gestion des plugins → Market
- Recherchez Matter
- Cliquez sur Installer
- Activez le 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.
- Allez dans Plugins → Matter → Configuration
- Cliquez sur Installer les dépendances
- 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.)

⚠️ Ne redémarrez pas la page pendant l'installation. Vous pouvez suivre la progression dans les logs
Étape 3 — Démarrer le démon
- Toujours dans la configuration, cliquez sur Démarrer (section Démon)
- Attendez que le statut passe au vert ✅

Quand les deux voyants Démon et Serveur Matter sont verts, le plugin est opérationnel.
⚙️ Configuration
Mode serveur
| Mode | Description |
|---|---|
| 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. |
| Externe | Le plugin se connecte à une instance existante (ex. Home Assistant). |
Paramètres disponibles
| Paramètre | Valeur par défaut | Description |
|---|---|---|
| Mode serveur | auto | Voir tableau ci-dessus |
| Port serveur | 5580 | Port TCP du Matter Server (WebSocket) |
| URL serveur Matter | http://127.0.0.1:5580/ws | URL WebSocket (mode externe uniquement) |
| Token Matter | (vide) | Token d'authentification (si requis) |
| Port démon | 55123 | Port RPC HTTP du démon Jeedom (Node.js) |
| Adaptateur Bluetooth | auto | Sé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).
Niveau de log
Le niveau de log du plugin fonctionne sur un principe simple :
- Le niveau configuré dans Jeedom est la référence (sélecteur natif Jeedom dans la Configuration, ou boutons Debug/Info/…/Error de la section Niveau de log). C'est la valeur persistante — elle est relue à chaque démarrage du démon.
- Les logs démon (
matterd) et PHP (matter) utilisent ce niveau au démarrage.
La page de configuration affiche le niveau actif pour chaque composant sous forme de badges colorés :
| Badge | Composant |
|---|---|
| Wrapper | Niveau actif dans le script rpc-wrapper.mjs |
| Daemon | Niveau actif dans le processus daemon.js |
| Server | Niveau de log du serveur Matter (Python Matter Server) |
Les boutons Debug / Info / Notice / Warning / Error changent le niveau à chaud et le sauvegardent. Le bouton du niveau actif est mis en évidence en bleu.
Indicateur visuel
Lorsque les logs sont en mode verbose (Debug, Info ou Notice), un bandeau orange apparaît sur la page principale du plugin et une alerte s'affiche dans la Configuration pour rappeler de remettre le niveau en production.
Tout disparaît automatiquement dès que le niveau est remis sur Warning ou Error.
Contrôle fin par composant (page Santé)
La page Santé permet de régler le niveau de chaque composant indépendamment :
| Cible | Persistant | Usage |
|---|---|---|
| Jeedom + Wrapper | Oui — sauvegardé | Niveau de référence pour le prochain démarrage |
| Daemon | Non — live uniquement | Debug temporaire du processus daemon.js |
| Server | Non — live uniquement | Debug temporaire du serveur Matter |
Pour un debug rapide sans modifier le niveau de référence, utilisez les boutons Daemon ou Server de la page Santé (persist=non). Le niveau revient à la référence au prochain redémarrage du démon.
En production, utilisez Warning ou Error pour réduire le volume de logs.
➕ 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
- Allez dans Plugins → Matter → Configuration
- Dans la section Commissioning, collez le code Matter (numérique ou
MT:…) - Cochez Réseau uniquement si vous ne voulez pas utiliser le Bluetooth
- Cliquez sur Commissionner
- L'opération peut prendre jusqu'à 3 minutes

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
