Aller au contenu
Voir dans l’app

Une meilleure façon de naviguer. Voir plus.

Forum Domotique

Une application en plein écran, avec notifications, badges et accès direct depuis l’accueil.

Pour installer cette application sur iOS et iPadOS
  1. Touchez l’icône de partage dans Safari.
  2. Faites défiler le menu et touchez Ajouter à l’écran d’accueil.
  3. Touchez Ajouter en haut à droite.
Pour installer cette application sur Android
  1. Appuyez sur le menu ⋮ en haut à droite du navigateur.
  2. Appuyez sur Ajouter à l'écran d'accueil ou Installer l'application
  3. Confirmez en appuyant sur Installer.

Zigbee2MQTT ne démarre avec SLZB-MR2U détecté en ttyACM au lieu de ttyUSB, fichier introuvable

Featured Replies

Posté(e)

Bonjour,

Dans l'interface matérielle de mon Home Assistant mon dongle n'apparait pas dans ttyUSB mais dans les 2 ttyACM suivant:

ttyACM0 /dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-MR2U_SLZB-MR2U236163-if00

ttyACM1 /dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-MR2U_SLZB-MR2U236163-if02

J'ai tout de même essayé avec mais Zigbee2MQTT ne démarre pas et j'ai l'erreur :

Error: No such file or directory, cannot open /dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-MR2U_SLZB-MR2U236163-if00

La solution a été apportée par XAV59213

Posté(e)

Salut !

Puisque ton dongle est un SLZB-MR2U (version USB multi-radio similaire au MR4U du tuto que j ai partagé, mais sans Ethernet/PoE natif), je vais adapter ma réponse pour t’orienter au mieux

Pour l’ USB, on utilise les ports serial directs (/dev/ttyACM*) au lieu de TCP/IP. L’erreur “No such file or directory” vient souvent d’un chemin by-id mal résolu dans le container de l’add-on (problème courant avec HA), ou d’un port occupé/ non accessible.

Voici comment procéder pas à pas, en suivant l’esprit du tuto mais adapté à ton SLZB-MR2U. Assume que tu es sur HA OS récent (2025+), avec Mosquitto déjà installé.

1. Préparation du dongle

•  Branche-le directement sur ton host HA.

•  Vérifie dans HA > Paramètres > Système > Matériel > Tout le matériel que les deux ports sont visibles : /dev/ttyACM0 (if00, probablement EFR32MG21 pour Ember/Thread) et /dev/ttyACM1 (if02, probablement CC2652P pour Z-Stack/Zigbee).

•  Si tu peux accéder à l’interface web du dongle (via USB, il émule parfois un réseau RNDIS avec IP comme 192.168.42.1 ou 192.168.168.1 – vérifie dans tes interfaces réseau sur le host), mets à jour le firmware à la dernière version (v3.0+ si disponible). Sinon, flashe via l’outil SMLight (dispo sur leur site). Mets-le en mode “Zigbee Coordinator” pour la radio que tu veux utiliser.

2. Installation de l’intégration SMLIGHT SLZB (optionnel mais recommandé)

•  Dans HA, va dans Paramètres > Appareils & Services > Ajouter une intégration > Cherche “SMLIGHT SLZB”.

•  Si auto-détecté (en USB, ça peut marcher si RNDIS actif), suis les instructions. Sinon, ajoute manuellement avec l’IP RNDIS si disponible (username/password par défaut souvent admin/admin).

•  Ça te permettra de monitorer le dongle (firmware, temp, mode), et d’éviter des conflits avec les radios. Pour multi-radio comme le tien, ça crée des entities séparées pour chaque radio.

3. Ajout du dépôt Zigbee2MQTT

•  Si c’est ta première instance : Utilise l’add-on officiel Zigbee2MQTT.

4. Configuration de Zigbee2MQTT

Passe en mode YAML et adapte comme suit. Choisis la radio selon ce que tu veux (Zigbee sur CC2652P souvent recommandé pour portée +20dBm).

•  Pour la radio if00 (EFR32MG21, ttyACM0) – Idéal pour Thread/Matter ou Zigbee alternatif :

data_path: /config/zigbee2mqtt  # Ou -edge si seconde instance
socat:
  enabled: false
mqtt:
  server: mqtt://core-mosquitto  # Ton broker MQTT
  user: ton_user
  password: ton_pass
serial:
  port: /dev/ttyACM0  # Essaie ça d'abord au lieu du by-id pour bypasser l'erreur
  # Ou /dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-MR2U_SLZB-MR2U236163-if00 si ça marche après redémarrage
  adapter: ember
  baudrate: 115200
  rtscts: true

•  Pour la radio if02 (CC2652P, ttyACM1) – Idéal pour Zigbee principal :

data_path: /config/zigbee2mqtt  # Ou -edge
socat:
  enabled: false
mqtt:
  server: mqtt://core-mosquitto
  user: ton_user
  password: ton_pass
serial:
  port: /dev/ttyACM1  # Direct au lieu du by-id
  # Ou /dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-MR2U_SLZB-MR2U236163-if02
  adapter: zstack
  baudrate: 115200
  rtscts: false

•  Sauvegarde, puis lance l’add-on. Vérifie les logs pour voir si ça connecte (cherche “Starting Zigbee2MQTT” sans erreur).

5. Lancement et vérification

•  Si erreur persiste : Redémarre ton host HA (pas juste l’add-on). Ça rafraîchit les mappings /dev.

•  Vérifie que ZHA n’est pas actif (désinstalle-le si oui, car il peut occuper un port).

•  Dans Zigbee2MQTT UI (accède via HA ou port 8080), active “Permit Join”, et appaire un device pour tester.

•  Change le canal Zigbee (ex: 25) pour éviter interférences.

N’hésite pas à m’envoyer les logs de z2mqtt une fois terminée

  • 3 semaines plus tard...
Posté(e)
  • Auteur

Salut,

Merci beaucoup pour avoir pris le temps de détailler la procédure pour installer mon SLZB-MR2U en connexion USB. Je la garde précieusement au cas ou j'ai besoin d'y revenir par la suite.

Pour avancer, je l'ai installé en connexion Ethernet avec le CC2652P en mode routeur Zigbee et le EFR32MG21 en mode Matter-over-thread.

Coté Zigbee, j'ai pu appairé ce nouveau routeur dans mon réseau Zigbee sans problème.

Coté Matter, j'ai encore du travail. J'ai tenté d'intégrer un Bilresa IKEA pour l'instant sans succès.

Open Thread Border Router est démarré mais j'ai quelques erreurs. Je ne sais pas si déjà là il n'y a pas un problème?

[11:19:26] INFO: Stable mode, enabling mDNSResponder.
[11:19:26] INFO: The otbr-web is disabled.
[11:19:26] INFO: Enabled socat-otbr-tcp.
s6-rc: info: service socat-otbr-tcp: starting
s6-rc: info: service mdns: starting
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service mdns successfully started
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service banner: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
[11:19:26] INFO: Starting mDNS Responder...
Default: mDNSResponder (Engineering Build) (Feb 11 2026 16:46:22) starting
[11:19:26] INFO: Starting socat TCP client for OTBR daemon...
-----------------------------------------------------------
 Add-on: OpenThread Border Router
 OpenThread Border Router add-on
-----------------------------------------------------------
 Add-on version: 2.16.3
 You are running the latest version of this add-on.
 System: Home Assistant OS 17.1  (amd64 / generic-x86-64)
 Home Assistant Core: 2026.2.2
 Home Assistant Supervisor: 2026.02.1
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service socat-otbr-tcp successfully started
s6-rc: info: service otbr-agent: starting
[11:19:26] INFO: Setup OTBR firewall...
[11:19:27] INFO: Migrating OTBR settings if needed...
2026-02-15 11:19:27 homeassistant asyncio[257] DEBUG Using selector: EpollSelector
2026-02-15 11:19:27 homeassistant zigpy.serial[257] DEBUG Opening a serial connection to '/tmp/ttyOTBR' (baudrate=460800, xonxoff=False, rtscts=False)
2026-02-15 11:19:27 homeassistant serialx.platforms.serial_posix[257] DEBUG Configuring serial port '/tmp/ttyOTBR'
2026-02-15 11:19:27 homeassistant serialx.platforms.serial_posix[257] DEBUG Configuring serial port: [0, 0, 3248, 0, 4100, 4100, [b'\x03', b'\x1c', b'\x7f', b'\x15', b'\x04', 0, 0, b'\x00', b'\x11', b'\x13', b'\x1a', b'\x00', b'\x12', b'\x0f', b'\x17', b'\x16', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00']]
2026-02-15 11:19:27 homeassistant serialx.platforms.serial_posix[257] DEBUG Setting low latency mode: True
2026-02-15 11:19:27 homeassistant serialx.platforms.serial_posix[257] DEBUG Device is not a serial port, cannot set low latency
2026-02-15 11:19:27 homeassistant serialx.platforms.serial_posix[257] DEBUG Setting modem pins: ModemPins[!dtr !rts]
2026-02-15 11:19:27 homeassistant serialx.platforms.serial_posix[257] DEBUG TIOCMBIC: 0x00000006
2026-02-15 11:19:27 homeassistant serialx.platforms.serial_posix[257] DEBUG Device is not a serial port, cannot set modem pins
2026-02-15 11:19:27 homeassistant zigpy.serial[257] DEBUG Connection made: <serialx.platforms.serial_posix.PosixSerialTransport object at 0x7f52e95ac150>
2026-02-15 11:19:27 homeassistant universal_silabs_flasher.spinel[257] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=0, network_link_id=0, flag=2), command_id=<CommandID.RESET: 1>, data=b'\x02')
2026-02-15 11:19:27 homeassistant universal_silabs_flasher.spinel[257] DEBUG Sending data b'~\x80\x01\x02\xea\xf0~'
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Immediately writing b'~\x80\x01\x02\xea\xf0~'
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Sent 7 of 7 bytes
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Event loop woke up reader
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Received b'~\x80\x06\x00p\xeet~'
2026-02-15 11:19:27 homeassistant universal_silabs_flasher.spinel[257] DEBUG Decoded HDLC frame: HDLCLiteFrame(data=b'\x80\x06\x00p')
2026-02-15 11:19:27 homeassistant universal_silabs_flasher.spinel[257] DEBUG Parsed frame SpinelFrame(header=SpinelHeader(transaction_id=0, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_IS: 6>, data=b'\x00p')
2026-02-15 11:19:27 homeassistant universal_silabs_flasher.spinel[257] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08')
2026-02-15 11:19:27 homeassistant universal_silabs_flasher.spinel[257] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Immediately writing b'~\x83\x02\x08\xbc\x9a~'
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Sent 7 of 7 bytes
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Event loop woke up reader
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Received b'~\x83\x06\x08T\x0fW\xff\xfe\xc5\xe4\x17\xa4l~'
2026-02-15 11:19:27 homeassistant universal_silabs_flasher.spinel[257] DEBUG Decoded HDLC frame: HDLCLiteFrame(data=b'\x83\x06\x08T\x0fW\xff\xfe\xc5\xe4\x17')
2026-02-15 11:19:27 homeassistant universal_silabs_flasher.spinel[257] DEBUG Parsed frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_IS: 6>, data=b'\x08T\x0fW\xff\xfe\xc5\xe4\x17')
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Closing at the request of the application
2026-02-15 11:19:27 homeassistant zigpy.serial[257] DEBUG Waiting for serial port to close
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Closing connection: None
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Closing file descriptor 7
2026-02-15 11:19:27 homeassistant serialx.descriptor_transport[257] DEBUG Calling protocol `connection_lost` with exc=None
2026-02-15 11:19:27 homeassistant zigpy.serial[257] DEBUG Connection lost: None
Adapter settings file /data/thread/0_540f57fffec5e417.data is the most recently used, skipping
[11:19:27] INFO: Starting otbr-agent...
[NOTE]-AGENT---: Running 0.3.0-b067e5ac-dirty
[NOTE]-AGENT---: Thread version: 1.3.0
[NOTE]-AGENT---: Thread interface: wpan0
[NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///tmp/ttyOTBR?uart-baudrate=460800&uart-init-deassert
[NOTE]-AGENT---: Radio URL: trel://eno1
[NOTE]-ILS-----: Infra link selected: eno1
tiocmbic: Inappropriate ioctl for device
50d.10:05:01.869 [C] P-SpinelDrive-: Software reset co-processor successfully
00:00:00.089 [N] RoutingManager: BR ULA prefix: fd10:2a9c:c9ab::/48 (loaded)
00:00:00.089 [N] RoutingManager: Local on-link prefix: fdbe:f2b6:e28a:3a17::/64
00:00:00.131 [N] Mle-----------: Role disabled -> detached
00:00:00.142 [N] P-Netif-------: Changing interface state to up.
00:00:00.160 [W] P-Netif-------: Failed to process request#2: No such process
00:00:00.161 [W] P-Netif-------: Failed to process request#6: No such process
Connection to 172.30.32.1 8081 port [tcp/tproxy] succeeded!
s6-rc: info: service otbr-agent successfully started
s6-rc: info: service otbr-agent-configure: starting
Done
Done
s6-rc: info: service otbr-agent-configure successfully started
s6-rc: info: service otbr-agent-rest-discovery: starting
[11:19:27] INFO: Successfully sent discovery information to Home Assistant.
s6-rc: info: service otbr-agent-rest-discovery successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
00:00:27.665 [N] Mle-----------: RLOC16 9000 -> fffe
00:00:28.336 [N] Mle-----------: Attach attempt 1, AnyPartition reattaching with Active Dataset
00:00:34.836 [N] RouterTable---: Allocate router id 36
00:00:34.836 [N] Mle-----------: RLOC16 fffe -> 9000
00:00:34.842 [N] Mle-----------: Role detached -> leader
00:00:34.844 [N] Mle-----------: Partition ID 0x6a37a119
[NOTE]-BBA-----: BackboneAgent: Backbone Router becomes Primary!
00:00:37.741 [W] DuaManager----: Failed to perform next registration: NotFound
Posté(e)
  • Solution

Salut @Engrobel

les warnings que tu mentionnes sont courants et non bloquants

Si tu veux vérifier que tout roule côté OTBR :

•  Va dans Paramètres > Appareils & services > Thread > Configurer. Tu devrais voir ton réseau Thread listé (quelque chose comme ha-thread-xxxx). S’il n’apparaît pas, redémarre l’addon OTBR et rafraîchis.

•  Assure-toi que l’IPv6 est activé sur ton HA : Paramètres > Système > Réseau > IPv6 sur “Automatique”.

•  Logs supplémentaires : Si tu as d’autres erreurs après un redémarrage, partage-les, mais là, c’est clean.

Intégrer le Bilresa IKEA en Matter-over-Thread

Le Bilresa est une télécommande 2 boutons compatible Matter-over-Thread (pas Wi-Fi). L’appairage se fait via le code QR ou numérique sur l’emballage/appareil, mais il faut d’abord synchroniser les credentials Thread de ton OTBR vers ton téléphone pour que le pairing marche. Sans ça, le device ne peut pas rejoindre le réseau Thread. C’est souvent là que ça coince.

Étapes pour l’appairage

1.  Mettre le Bilresa en mode pairing :

•  Retire l’onglet isolant de la pile (si neuf).

•  Appuie 4 fois rapidement sur le bouton système (le gros bouton au milieu) pour activer le mode Matter. La LED devrait clignoter (ou pulser). Tiens-le près de ton SLZB-MR2U (le border router) pendant le pairing – max 1-2m.

•  Note le code QR ou le code numérique à 11/21 chiffres sur la batterie ou l’emballage (c’est ton “setup code”).

2.  Synchroniser les credentials Thread vers ton téléphone (obligatoire !) :

•  Utilise l’app Companion HA sur ton phone (iOS ou Android).

•  Pour Android : Va dans Paramètres > App Companion > Dépannage > Synchroniser les credentials Thread.

•  Pour iOS : Dans HA, va Paramètres > Appareils & services > Thread > Configurer > Envoyer les credentials au téléphone.

•  Une fois sync, sélectionne ton réseau Thread comme “réseau préféré” dans l’app (ça évite les conflits avec d’autres réseaux Thread existants sur ton phone).

3.  Ajouter le device via l’app Companion HA :

•  Ouvre l’app HA sur ton phone (Bluetooth activé, phone près du Bilresa et du SLZB).

•  Va Paramètres > Appareils & services > Ajouter un appareil > Ajouter un appareil Matter.

•  Choisis “Non, c’est nouveau”.

•  Scanne le QR code ou entre le code numérique manuellement.

•  Suis les prompts : Ça passe par Bluetooth pour envoyer les creds réseau, puis le device rejoint Thread via ton OTBR.

•  Temps estimé : 30-60 secondes si tout va bien ; si ça spinne plus de 2 min, annule et réessaie (proximité phone/BR/device critique).

Posté(e)
  • Auteur

Salut,

C'est bon, le device est présent su HA et les 9 "events " remontent bien (Oui, il s'agit d'un BILRESA scroll wheel).

C'est apparemment " synchroniser les credentials Thread de ton OTBR vers ton téléphone" qui manquait à ma procédure.

Un détail important. Par défaut le device est déjà en mode matter (clignotement lent). Appuyer 4 fois sur le bouton système le met en mode Zigbee (clignotement rapide) et donc plus d'appairage matter possible.

C'est donc mon premier device matter et malgré la puissance des appareils SMLIGHT j'ai des problèmes de portée. Je vais devoir me renseigner pour étoffer mon réseau.

Merci pour ton aide!

Rejoindre la conversation

Vous pouvez commenter maintenant et vous inscrire plus tard. Si vous possédez un compte, connectez-vous.

Invité
Répondre à ce sujet…

Compte

Navigation

Rechercher

Rechercher

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.