telemetry
Quoi de neuf

THREAD !

  • Forum Electricité - Domotique
  • Auteur du sujet Auteur du sujet jcoenen
  • Date de début Date de début
  • #1
Comme ça approche sur le marché ...
D'abord c'est quoi ?

Thread® est un protocole de mise en réseau basé sur IPv6, conçu pour les appareils basse consommation de l'Internet des objets dans un réseau maillé sans fil IEEE 802.15.4-2006, communément appelé WPAN (Wireless Personal Area Network). Thread est indépendant des autres protocoles de réseau maillé 802.15, tels que ZigBee, Z-Wave et Bluetooth LE.

Les principales fonctionnalités de Thread sont les suivantes:

  • Simplicité — Installation, démarrage et opération simples
  • Sécurité : tous les appareils d'un réseau Thread sont authentifiés et toutes les communications sont chiffrées
  • Fiabilité : mise en réseau du réseau maillé autoréparable, sans point de défaillance unique, et techniques à spectre étendu pour éliminer les interférences
  • Efficacité : les appareils Thread à faible consommation d'énergie peuvent dormir et fonctionner sur batterie pendant des années
  • Évolutivité : les réseaux Thread peuvent évoluer jusqu'à des centaines d'appareils
(source OpenThread implémentation d'OpenThread par google).

Pourquoi Thread ?
Parce que Matter !

Les fabricants d'appareillage de domotique et IoT s'orientent petit à petit vers ces deux couches, matter se reposant sur thread (entre autres ca le protocole peut être appliqué là où on peut mettre de l'IPv6 (ethernet par exemple).

C'est, pour ma part une bonne initiative des gros acteurs du marché (Amazon, Google, Apple zigBee alliance) pour permettre l'interopérabilité des appareils.

Au niveau physique par contre c'est soit du sans fil WLAN - IEEE 802.15.4-2006 soit ethernet.
 
  • #2
C'est clairement le futur de la domotique. Surtout si on peut faire ça soit même assez facilement.
Mais en attendant c'est plutôt compliqué à mettre en place et pas présent chez les fabricants...

J'ai quand même identifié :
Clé usb Sonoff pour mettre sur Home Assistant: ZBDongle-E (Et pas le -P ancienne version).
ESP32 C5: Thread+WiFi2.4&5+BLE
ESP32 C6: Thread+WiFi+BLE
ESP32 H2: Thread+BLE

Semble bientôt intégré dans ESPhome
https://github.com/esphome/esphome/pull/7506
 
  • #3
Par contre néophytes s'abstenir (à moins de vouloir utiliser des trucs prêt à l'emploi et encore j'ai quelques doutes sur le sujet en voyant certains posts ...).

Normalement le réseau IPv6 est créé sur le IEEE 802.15.4 (soit du 2.4 GHz comme le 802.11 ou WiFI 0,1,3,4,6,7,8), rien de nouveau de ce côté là IPv6 uniquement (beaucoup plus d'adresses).

Les appareils sur le réseau peuvent parler entre-eux directement via un protocole préétabli (matter par exemple), ce qui élargi les possibilité offertes par zigBee où les communication en direct sont limitées.

Le Border Routeur, pour ceux qui ont jeté un oeil sur la chose, le border routeur permet de sortir du réseau local (du genre modem dans une installation internet de maison), on peut le bricoler soit même (expressif en propose un sur base d'un S3 et d'un H2 logiciels = copier coller donc RAS).

En ce qui concerne les end-device, ESP32 C6 ou H2 (le C5 comme le dit @RobBZ est aussi compatible), pour les amateurs de DIY.
 
  • #5
Suite des bidouillages avec thread.

Setup:
  • Un esp32 expressif border routeur (avec le firmware expressif), S3+H2.
  • un ESP32-C6 Zero avec un sketch arduino openthread basic + lecture de la température CPU.
Le border routeur est démarré et accessoirement connecté à Homeassistant mais pas encore opérationel.
Le C6 zero est aussi démarré et à rejoint le réseau.
Il m'indique l'utilisation du canal 19, donc d'après l'allocation on se trouve sur 2,445 GHz avec une bande passante de 2 MHz et une séparation de canaux de 5 MHz. Mais attention, la bande des 2.4 GHz est partagée avec d'autres service WiFi (IEEE 802.11b/g) voir section 1.2.2, BlueTooth (IEEE 802.15.1) section 1.2.3, fours micro-ondes (2.45 GHz) section 1.2.4 (les fours sont équipés d'une cage de faraday mais les fuites sont toujours possibles quoique il semblerait qu'elle ne nuisent pas aux transmissions thread)).


Screenshot 2025-06-14 at 10.55.59.png


Allocation des canaux WiFi et Thread.

Configuration du openthread border router et du C6, celle-ci est accomplie par le Command Line Interface sur l'IDE arduino. Voir la doc Openthread.

Screenshot 2025-06-14 at 11.24.27.png


L'interaface web du OTBR (Openthread Border router), on note la découverte du réseau MyHome1497490281 qui je pense est en fait mon AppleTV découverte via IP.

Le C6 n'est pas connecté sur mon WiFI donc obligé de passer par le OTBR pour accéder l'adresse IPV4 8.8.8.8


Essais d'émission et visualisation des signaux sur le spectre.
Protocole d'émission: 10 pings de 1024 Bytes espacés d'une seconde entre le C6 (non connecté au WiFi) et Google DNS (8.8.8.8).

Voiçi donc ce que me raconte le C6

Code:
ping 8.8.8.8 1024 10 1
CPU Temperature: 47.00 °C
CPU Temperature: 47.00 °C
Pinging synthesized IPv6 address: fd5a:2207:a4c8:2:0:0:808:808
1032 bytes from fd5a:2207:a4c8:2:0:0:808:808: icmp_seq=2 hlim=117 time=417ms
1032 bytes from fd5a:2207:a4c8:2:0:0:808:808: icmp_seq=3 hlim=117 time=405ms
1032 bytes from fd5a:2207:a4c8:2:0:0:808:808: icmp_seq=4 hlim=117 time=404ms
1032 bytes from fd5a:2207:a4c8:2:0:0:808:808: icmp_seq=5 hlim=117 time=423ms
1032 bytes from fd5a:2207:a4c8:2:0:0:808:808: icmp_seq=6 hlim=117 time=382ms
1032 bytes from fd5a:2207:a4c8:2:0:0:808:808: icmp_seq=7 hlim=117 time=441ms
1032 bytes from fd5a:2207:a4c8:2:0:0:808:808: icmp_seq=8 hlim=117 time=400ms
1032 bytes from fd5a:2207:a4c8:2:0:0:808:808: icmp_seq=9 hlim=117 time=419ms
1032 bytes from fd5a:2207:a4c8:2:0:0:808:808: icmp_seq=10 hlim=117 time=408ms
1032 bytes from fd5a:2207:a4c8:2:0:0:808:808: icmp_seq=11 hlim=117 time=427ms

10 packets transmitted, 10 packets received. Packet loss = 0.0%. Round-trip min/avg/max = 382/412.600/441 ms.

Les pings (ICMP) passent donc par le OTBR pour accéder à Internet et atteindre google, on note que l'adresse IPV4 est reconvertie en IPV6 avec l'IPV4 en fin d'adresse (fd5a:2207:a4c8:2:0:0:808:808).

en ce qui concerne la mesure de transmission, voici ce que cela donne sur mon spectrum Analyzer a deux balles

Waterfall
Thread_CH19_ping_1024b_3D.jpg


On voit au centre les pics d'émission.

Thread_CH19_ping_1024b_2D.jpg


La même chose dans le spectre, les pics sur le côté gauche sont des émissions d'autres utilisateurs de la bande, on voit donc bien qu'il faut bien choisir son canal pour éviter les parasites.

On avance pas mal sur le sujet dirais-je.
 
  • #6
HomeAssistant - ESPHOME - Thread

Utilisation d'un module Expressif comme routeur de bordure pour connecter les devices Thread (device esp32-C6 configuré via esphome).

Homeassistant pilote bien le device via RF/Thread (pas mis le WiFi).

Maintenant "il ne reste plus qu'à" rajouter matter via thread.

Plus facile a dire qu'à faire.

Pour l'instant HA connecte le module via thread mais utilise l'API ESPHOME, pour utiliser matter, il faut implémenter matter sur esphome, ce qui ne semble pas encore possible, ESPHOME fait du ESPHOME.

Une autre possibilité est offerte par expressif via la plateforme zerocode, où un peut générer un firmware pour les modules ESP.
 
Dernière édition:
  • #7
Hello,
Personnellement je n'arrive toujours pas à installer mon Sonoff ZBDongle-E sur mon Home Assistant... J'ai mis le bon Firmware, ...

OpenThread Border Router:
  • Le service tente d'initialiser la communication avec le dongle USB Sonoff Zigbee 3.0 USB Dongle Plus V2 à travers le port série, mais la communication échoue par timeout.

  • La connexion série est établie mais la transmission/ réception des messages Spinel pose problème.

  • L'agent otbr-agent se ferme donc automatiquement et le système essaie de redémarrer le service sans succès.

  • Le système de supervision s6 rapporte que le service otbr-agent ne démarre pas correctement et finit par stopper le conteneur.
Donc Thread toujours pas possible pour moi :D
 
  • #8
J'installe le firmware openthread 2.4.4 sur mon dongle E et ensuite j'essaie sur la machine HA LXC.

LXC on oublie, pas moyen d'installer le module complémentaire openthread.

Sur le raspberry 3, j'AVAIS les même problèmes.

Après vérification, il apparait que le firmware flashé était le Multiprotocol d'ou impossibilité pour le module complémentaire de causer avec le dongle ==> mise du firmware OpenThread et vérification via leur webapp avec chrome.

Screenshot 2025-10-29 at 18.55.12.png
et sur le module complémentaire -> Baudrate: 460800 No HW flow control

Screenshot 2025-10-29 at 18.53.08.png


Cela me semble bien fonctionner.

Ensuite dans l'intégration openthread border router, le deuxième OTBR apparait (le premier étant mon OTBR sur ESP32S3)

Sur un RPI pi3 dans un port USB2 donc pas un Setup très performant.

Vérifie donc le firmware du dongle E ...

Screenshot 2025-10-29 at 18.57.21.png


Après j'essaie le firmware multiprotocole, Thread et ZigBee sur le même dongle.
 
Dernière édition:
  • #9
Firmware Multi installé sur le dongle E:

Ca m'a tout l'air de fonctionner (enfin jusqu'à présent).

Homeassistant installation du module complémentaire Silicon Labs Multiprotocol via la procédure suivante:

Ensuite installer le module complémentaire Silicon Labs Multiprotocol

Configurer le module avec le port USB correspondant (p ex.
  • /dev/serial/by-id/usb-Itead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_V2_76536147c914ef11950378b8bf9df066-if00-port)


Screenshot 2025-10-30 at 00.43.36.png



Démarrer le module


Dans l'onglet info aller chercher le nom d'hôte pour la configuration zigbee2mqtt (ZHA ne fonctionne pas).

Screenshot 2025-10-30 at 00.45.15.png


Et dans zigbee2mqtt, configurer le serial avec le nom d'hôte trouvé et les autres trucs habituels mqtt etc.

Screenshot 2025-10-30 at 00.48.18.png


Et pour openthread, le border router est bien reconnu ...

Screenshot 2025-10-30 at 00.34.23.png


Il ne reste plus qu'a essayer de rajouter des appareils à la configuration.
 
  • #10
Ce matin migré les devices Zigbee qui étaient sur zigbee2mqtt LXC et dongle P vers Homeassistant Zigbee2mqtt et dongle E multiprotocol, les devices apparaissent dans le module complémentaire zigbee2mqtt de HA.

Comme d'habitude les appareils ne sont pas reconnu automatiquement par homeassistant alors que les messages de config arrivent bien sur le serveur mosquitto, je vais donc abandonner ce truc car il cause plus de problèmes qu'autre chose et passer à une définition manuelle.

Donc au lieu d'avoir une entité pour chaque valeur du json dans le message mqtt, j'opte pour une seule entité avec un attribut par valeur, les attributs étant créé à partir du json reçu,
 
Dernière édition:
  • #11
Je pense à un problème sur mon port USB car j'ai l'UPS dessus qui saute de temps en temps.

Cela serait un problème d'alimentation ou alors d'interférence avec mon sim800 (pour les SMS) aussi en usb dessus. Ça envoie du lourd les ondes GSM...

Je vais enlever mon sim800 pour voir. De toute façon l'intégration HA va être supprimée...et j'ai déjà transféré les SMS sur mon modem 4G Huawei qui me sert aussi de connexion principale.

Sinon le multipan semble poser des problèmes à terme... Je n'ose pas me lancer là dessus...
 
  • #12
Bjr,

Concernant le multipan, Homeassistant avait développé le machin pour le dongle skyconnect, mais ils abandonnent le projet, ils disent que ce n'est pas "stable", chez SonOff ils ont aussi développé un firmware qui est utilisable sur le module complémentaire du skyconnect. Vu que HA va laisser tomber l'affaire, SonOff s'est penché sur la question et rapportent que leur tests ne montrent aucune instabilité (5 semaines sans crash ni instabilités), ils. reprennent donc le flambeau et le développement du module complémentaire sur leur github.

J'ai terminé l'installation de toutes les briques et maintenant sur mn Pi3 j'ai le dongle-E en multipan qui me donne un accès à thread et à zigbee en même temps.

Je viens de terminer la configuration Matter et un des modules ESP32-H2, le Border routeur ESP32-S3 est éteint et j'utilise un nouveau réseau thread via le Dongle E.

Voiçi donc deux appareil accèdés via le dongle-E multi:

- TEST_PRODUCT est en Matter via the openthread border router.
- C6 Zero Météo est un C6-Zero ZigBee qui va lire les infos d'une station météo et les donne à HA via ZigBee2mqtt sur le dongle E

Donc tout fonctionne.

Screenshot 2025-10-30 at 14.56.30.png
 
Dernière édition:
  • #13
Firmware Multi installé sur le dongle E:
Ca m'a tout l'air de fonctionner (enfin jusqu'à présent).

Truc de fou, ça fonctionne :blush::blush::blush:
J'ai suivi ton tuto 5min et ça démarre en multipan ! :eek:

Maintenant y'a plus qu'a trouver du temps pour lancer un ESP32 H2 en Thread et un en Zigbee.
 
  • #14
Truc de fou, ça fonctionne :blush::blush::blush:
J'ai suivi ton tuto 5min et ça démarre en multipan ! :eek:

Maintenant y'a plus qu'a trouver du temps pour lancer un ESP32 H2 en Thread et un en Zigbee.

Excellent !!!

Bien joué, je ne peut rien faire au sujet du temps déjà que je trouve qu'on pourrait, au lieu de changer d'heure en hiver, rajouter 3 ou 4 heures par jour :cool:

Mais en ce qui concerne les 2 modules, là je sais la contre un fois.

Tu utilises quoi comme IDE pour les programmer ?

J'ai un peut tout essayé, mais ma préférence va pour l'IDE arduino, il n'est pas parfait mais aucun ne l'est.

ESPHome et Tasmota sont encore en développement, mais peuvent déjà faire un truc ou l'autre, sauf que ca bouge beaucoup ...
 
Dernière édition:

Nos articles

On a aimé dans le forum

Retour
Haut