Installer l'utilitaire Zniffer Z-Wave de Sigma Designs pour scruter les messages échangés sur le réseau Z-Wave

Bonjour,

Ayant quelques problèmes de latence de certains de mes modules Z-Wave, je voulais scruter les messages échangés sur le réseau Z-Wave.

Après une recherche, je suis tombé sur le site suivant : How to Set Up Z-Wave Zniffer for product security reviews | Bishop Fox.
Le principe est de transformer un contrôleur Z-Wave comme l’Aeotec Z-stick Gen5 en « Sniffeur ».
Ce qui tombe bien car je possède un Aeotec Z-stick Gen5 pour mes essais de modules avec Jeedom sur netbook sous Windows 10.

Au préalable : vous devez avoir un PC sous Windows 10 et un contrôleur Z-Wave comme le Z-stick Gen5 que vous devez flasher (à vos risques et péril).

L’installation est décrite sur le site « labs.bishopfox » avec les liens sur les 2 utilitaires à télécharger : Z-Wave Programmer et Z-Wave Zniffer ainsi que sur les documentations.
La procédure est simple :
-Créer un compte sur le site Silicon Labs pour récupérer les 2 utiltaires qui sont gratuits
-Flasher le contrôleur Z-Wave avec l’utilitaire Z-Wave Programmer en suivant la procédure décrite sur « labs bishopfow »
-Normalement si vous avez bien suivi les consignes, en détectant le port et le contrôleur Sniffeur dans le menu Capture de l’utiltaire Z-Wave Zniffer vous devez voir apparaître les messages détectés sur le réseau Z-Wave
Lire la doc sur le Z-Wave Sniffer.

Une vue sur le Sniffeur Z-Wave :

Mes premiers pas avec le sniffeur :
Dès que j’ai lancé le sniffeur, j’ai eu un flot de messages affichés avec quelques millisecondes d’écart.

J’ai vite vu qu’un de mes modules Z-Wave était trop bavard, problème vite réglé en modifiant le Report dans les paramètres (3s à 5min) . Report que je n’ai pas besoin car le module est en association directe avec un autre module.
Le Smart Meter de Qubino pose aussi quelques problèmes de flot de messages, que je n’ai pas encore réglé.

D’autre part, beaucoup des messages (Set, Get , Ack) en double : pas d’explication pour l’instant (Pb Sniffeur?)

Comme cet utilitaire montre aussi la route empruntée par les messages, j’ai constaté que mon répéteur Aeotec ne servait pas à grand chose dans mon réseau. D’ailleurs je suis surpris par certaines routes empruntées. Donc je vais revoir la position du répéteur.

Après quelques modifications de paramètres Z-Wave, le flot de messages s’est calmé (écarts de plusieurs secondes avec un flot par instant pour une trentaine de modules Z-Wave.

Voilà pour ma première expérience du Sniffeur Z-Wave de Sigma Designs, que je trouve bien utile pour régler certains problèmes de réseau.

8 « J'aime »

Merci pour ce retour.

Ca peut être une bonne piste pour effectivement analyser optimiser corriger son réseau.

bigre c’est intéressant, tu va pouvoir suggérer des améliorations pour la robustesse du plugin z-wave :smiley: d’ailleurs, est-ce que tu a le plugin officiel ? ou bien la solution alternative avec mqtt et le plugin associé ?

J’ai le plugin officiel

Bonjour à tous.

Un peu de précision sur ma configuration avec le Sniffer.

Smart Box Jeedom en version 3.3.53 plugin Z-Wave officiel avec 31 modules Z-Wave.

Surtout des modules fil pilote Qubino que j’ai déportés en haut des radiateurs électriques, des « Oeil Fibaro » pour le contrôle de la température et des mouvements.

Ma Smart Box Jeedom est à l’une des extrémité de ma maison et mon compteur électrique à l’autre extrémité (plus de 12m) avec une concentration de modules Z-Wave (compteurs, prise, relais, capteur de mouvement, température,…). J’ai positionné le répéteur Z-Wave Aeotec dans cette dernière pièce.

D’autre part, comme ma box Jeedom est proche de mon routeur wifi, j’ai remplacé l’antenne native de la box avec une antenne que je peux déporter (fil de 3m).

Vous pouvez vous reporter à un autre post pour plus de détails : Bilan après 2 années avec Jeedom sur Smart Box : problème de fiabilité Z-Wave?

Bilan ce matin :

a) Réponses aux Pings dans Jeedom tous au vert (sauf un) avec des valeurs dans les 20ms pour la plupart, quelques uns dans les 75ms.
Une réponse au Ping à 576ms qui concerne un module Dimmer Aeotec en association directe avec capteur de mouvement . Ce qui n’a pas d’effet sur le fonctionnement de l’éclairage. Cependant, je me pose la question si les modules en associations directes ne perturbent pas le fonctionnement du réseau Z-Wave (voir lien précédent) ?

b) Table de routage Jeedom, je n’ai plus que 4 modules Z-Wave qui ne sont pas en communication directe :

-Le Dimmer Aeotec cité précédemment, situé dans la pièce éloigné de la Smart Box

-Un compteur Home Energy Meter d’Aeotec situé dans la pièce éloigné de la Smart Box

-Un compteur Smart Meter de Qubino situé dans la pièce éloigné de la Smart Box

-Un Oeil Fibaro (non utilisé pour l’instant)

c) Analyse sur le Sniffer Z-Wave

En fait 6 modules routés ? : les 4 cités précédemment et une prise Fibaro situé dans pièce éloignée de la box et un projecteur extérieur Steinel.

Mon répéteur Z-Wave qui à un temps de réponse au Ping de 18ms, ne sert à rien malgré l’endroit proche des modules Z-Wave nécessitant un routage.

Je vais faire d’autres essais en modifiant l’emplacement de ce répéteur.

En conclusion :

Il n’est pas possible d’agir directement sur la table de routage ou de préciser d’utiliser certains modules pour le routage en priorité.

Un bilan après plus d’une semaine d’utilisation du Sniffer Z-Wave avec la Clé USB Z-stick Gen5 sur mon PC proche de la Smart Box Jeedom.

Le Sniffer :

a) J’ai constaté que je voyais bien l’échange complet de messages entre le contrôleur Z-Wave et les modules Z-Wave proches du contrôleur. Par contre pour les modules plus éloignés, je ne voyais que les messages envoyés par le contrôleur, pas ceux envoyés par les modules Z-Wave éloignés.

Pour les modules éloignés, j’ai donc utilisé un PC portable par contre je ne voyais pas les messages envoyés par le contrôleur.

b) Autre point, certains messages sont dupliqués. J’en ai déduit que le Sniffer devait dupliquer les messages ce qui est plausible il ne doit pas vérifier le séquencement…

c) D’autre part, quelques Checksum Error.

Malgré ces problèmes, le Sniffer est utile. On peut voir les routes empruntées par les messages Z-Wave et les modules responsables des flots de messages.
Il est possible de positionner des filtres pour cibler certains modules, messages,…

Exemple de passage Eco d’un Radiateur avec module fil pilote Z-Wave Qubino


Voilà comment j’interprète cet échange :
Switch Multilevel Set : commande du contrôleur de passage Eco (1E) du Radiateur (id=46)
Ack : du module fil pilote vers contrôleur
Switch Multilevel Get : demande d’état du contrôleur vers le module fil pilote
Ack : du module fil pilote vers contrôleur
Switch multilevel Report : Réponse du module fil pilote à la demande d’état du contrôleur
Ack : du contrôleur vers le module fil pilote.

Mes Essais :

  1. Sur cette base, j’ai remis en service ma lampe Aeotec Bulb white Z-Wave qui mettait en vrac mon réseau Z-Wave : voir post Bilan après 2 années avec Jeedom sur Smart Box : problème de fiabilité Z-Wave? - #34 par anto35.
    Refait une association directe avec un Projecteur Steinel possédant un capteur de lumière. L’effet a été immédiat : un flot de messages incessants a inondé mon Sniffer. Suppression de l’association directe : le calme est revenu.

  2. J’ai voulu comprendre pourquoi mon Répéteur Aeotec ZW189 n’était pas utilisé pour le routage des messages malgré une réponse au Ping de 18ms et une route directe avec le contrôleur.
    Pour mieux comprendre le principe de routage, j’ai consulté l’excellent Blog de Nechry : https://nechry-automation.ch/, d’autres sites en particulier : Understanding Z-Wave Networks, Nodes & Devices – Vesternet , Z-Wave Tutorial – IoT-Point , https://www.sciencedirect.com/science/article/pii/S0167404817300792. Ce dernier est intéressant mais il se base de la librairie OpenZwave 1,6, (il me semble) et bien sûr le forum Jeedom.
    Malgré de nombreux essais changement place du répéteur, reboot smart, relance démon Z-Wave , soigner le réseau… : rien n’y fait en final mon répéteur Z-Wave n’est jamais utilisé pour le routage.
    Ce qui est rassurant : pour une même topologie, les mêmes modules Z-Wave sont utilisés comme routeurs.
    Cependant, j’aurais aimé pouvoir agir directement sur le routage (priorité pour certains modules)

  3. Changer de place à l’antenne déportée de ma Smart Box pour trouver le meilleur emplacement.J’ai constaté que le déplacement d’un mètre pouvait chambouler la table de routage après redémarrage du Démon Z-Wave.

  4. Par la suite, j’ai ciblé avec le Sniffer les modules les plus bavards. Repris les paramètres en particulier des prises Fibaro qui remontaient leur puissance fréquemment, repris des scénarios pour optimiser les échanges Zwave,…

En final , le Sniffer Z-Wave m’a été utile pour améliorer la stabilité de mon réseau Z-Wave. A voir dans le temps.

2 « J'aime »

Bonjour,

Très intéressant. En revanche, une fois que le stick Gen5 a été flashé avec le firmware pour sniffer, y a t-il moyen de restaurer son firmware d’origine ?

1 « J'aime »

Voici la réponse du support Aeotec :

Once updated to ZSniffer firmware, the Z-Stick Gen5 cannot be reflashed to its older firmware version.

Bonjour,
J’allais te répondre que je n’en savais rien. Je vois que tu as la réponse.
J’utilise l’Aeotec Z-stick Gen5 sur mon PC avec Zniffer.
Dommage qu’on ne puisse pas revenir avec le firmware origine !