Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[Tuto #1] Plugin Z-Wave - modules AEOTEC et FIBARO Z-Wave+ Sécurisé

Avatar de l’utilisateur
akenad
Actif
Messages : 697
Inscription : 27 oct. 2017, 11:39

[Tuto #1] Plugin Z-Wave - modules AEOTEC et FIBARO Z-Wave+ Sécurisé

Message par akenad » 07 janv. 2018, 23:48

Bonjour à tous, c'est akenad :-),

Aujourd'hui je vais vous présenter un retour d'expérience sur la mise en œuvre du plugin Z-Wave (version du 2017-12-08) sur une JeedomSmart 3.1.7 avec quelques modules AEOTEC et FIBARO Z-Wave+.

Dans la JeedomSmart de référence JEEDOM_SMARTZ le controleur Z-Wave+ (du fabricant Sigma Designs) est pré-intégré et le plugin Z-Wave est pré-installé.

J'ai procédé en 3 étapes :
-inclusion en mode sécurisé des modules Z-Wave+
-inventaire des modules sécurisés et non sécurisés, et notion de réveil (Wake-up)
-inventaire des équipements et leurs commandes, et des groupes d'associations du contrôleur

1) Inclusion en mode sécurisé des modules Z-Wave+

Voici la liste des modules Z-Wave+ que j'ai pour l'instant inclus :

Pour le fabricant AEOTEC, les modèles suivants :
-ZW098 LED Bulb Gen5 (v1.06) Ampoule couleur
-ZW080 Siren Gen5 (v3.26) Sirène
-ZW088 Key Fob Gen5 (v1.03) télécommande

Pour le fabricant FIBARO, les modèles suivants :
-FGMS-001 ZW5 Motion Sensor (v3.2) Mouvement
-FGFS-101 ZW5 Flood Sensor (v3.2) Inondation
-FGDW-002 ZW5 Door/Window Sensor 2 (v3.2) Ouverture Porte
-FGSD-002 ZW5 Smoke Sensor (v3.3) Fumée
-FGCD-001 ZW5 CO Sensor (v3.2) Gaz Monoxyde de Carbone

Toutes les inclusions de ces modules Z-Wave+ (donc Gen5 et ZW5) ont été réalisées en sélectionnant le mode sécurisé.
La méthode d'inclusion des modules dans le réseau Z-Wave dépend du module et est décrit dans sa documentation.

La documentation des modules FIBARO est disponible ici :
https://manuals.fibaro.com

La documentation des modules Aeotec est disponible ici :
https://aeotec.freshdesk.com/support/home

et la documentation officielle Jeedom de quelques modules ici :
-Key Fob
-Motion Sensor
-Flood Sensor
-Smoke Sensor

L'inclusion consiste en général à appuyer une ou plusieurs fois sur un bouton sur le module (il peut prendre différents noms comme Learn, TMP, action, B, etc ...)

-Pour l'ampoule l'inclusion (ou l'exclusion) consiste à l'éteindre/allumer 3 fois en moins de 2 secondes.
-Pour la télécommande l'inclusion consiste à appuyer une fois sur le bouton Learn (et le réveil en restant appuyé 3 secondes). L'exclusion via reset en appuyant 20 secondes sur le bouton mode.
-Pour la sirène l'inclusion (ou l'exclusion) consiste à appuyer une fois sur le bouton action.
-Pour les modules FIBARO l'inclusion (ou l'exclusion ou le réveil) se fait en appuyant rapidement 3 fois sur le bouton.

Avec un peu de recul je conseillerais d'inclure d'abord les modules sur secteur (ici ampoule et sirène) puis les modules sur batterie (télécommande et les sensor) afin d'obtenir un maillage réseau optimum.

L'inclusion en mode sécurisé des 2 motion sensor et du door sensor ont été délicate. Je m'y suis repris à plusieurs fois.
Pour optimiser le maillage réseau il fallait, qu'au moment de l'inclusion, le sensor soit plus prêt du contrôleur que de l'ampoule et la sirène mais pas trop près non plus. Parmi tous les modules que j'ai inclus, ces modules sont justement les modules qui disposent d'une configuration recommandée, je ne sais pas si c'est une coïncidence.
Si Jeedom réalisait l'inclusion d'un module mais qu'il n'a en fait pas reconnu le modèle et donc que l’icône de l'équipement n'est pas correct, j'ai recommencé. C'est à dire que j'ai réalisé une exclusion puis à nouveau une inclusion en changeant de distance par rapport au contrôleur jusqu'à ce que ça passe.
En effet si au lieu de recommencer on essaye de rattraper le coup à la main on s’aperçoit au final que bien que l'inclusion ait été demandée en mode sécurisé elle n'est en réalité la plupart du temps pas réalisée en mode sécurisé.

2) Inventaire des modules sécurisés et non sécurisés, et notion de réveil (Wake-up)

Après avoir inclu tous les modules j'ai redémarré le démon openzwave du plugin Z-Wave.
Le redémarrage a eu pour effet de faire apparaître dans la page « Santé » des icônes cadenas vert sur tous les modules (sauf la télecommande).
Ce cadenas est une représentation de la valeur de « Secured » (Classe de la commande 152 (0x98) ) dans l'onglet « Systèmes » de la configuration du module (COMMAND_CLASS_SECURITY dans l'arbre Z-Wave).

Secured inexistant => pas de cadenas (cas de la télécommande)
Secured Oui (true)=> cadenas fermé
Secured Non (false) => cadenas ouvert

Pour l'instant la plupart des cadenas sont ouverts.
En allant dans configuration d'un module → Onglet Actions → cliquer Bouton « Rafraîchir infos du noeud », le cadenas se ferme (après un réveil forcé pour les modules sur batterie) mais seulement si l'inclusion demandé préalablement en mode sécurisé à été effectivement réalisé correctement.
la télécommande est compatible Z-WAVE+ mais ne supporte pas AES Security et COMMAND_CLASS_SECURITY (probablement parce qu'elle est plus ancienne que les autres modules) :
key-fob-gen5-technical-specifications
contrairement à l'ampoule par exemple :
led-bulb-technical-specifications
ce qui explique que bien que la télécommande ait été incluse en demandant le mode sécurisée,
elle n'a pas de cadenas et ne pourra pas communiquer de manière sécurisée avec le contrôleur.

Le comportement des modules diffèrent suivants qu'ils sont alimentés par secteur ou batterie, en particulier sur leur capacité de routage et des intervalles de mesures et de rapports.
Les modules alimentés par batterie possèdent la notion d'état réveillé ou endormi, configurable par le « Wake-up Interval » dans l'onglet « Systèmes » de la configuration du module, de l'ordre de quelques heures par défaut.
Du bon réglage des différents intervalles, la durée de vie de la batterie dépendra.
La modification au niveau de Jeedom de la configuration d'un module sur batterie n'est prise en compte qu'au moment ou il se réveille. Le réveil d'un module peut être forcé après une modification de sa configuration au niveau de Jeedom pour être prise en compte immédiatement au niveau du module.

En résumé après inclusion des modules en mode sécurisé, redémarrage du démon openzwave, et pour chaque module, rafraîchissement de l'info de nœud (puis réveil forcé pour tous les modules sur batterie),
la page « Santé » ressemble à ceci :
Sante-zwave.png
Sante-zwave.png (75.69 Kio) Consulté 8656 fois
Et le maillage réseau ressemble à ceci :
Graphique-reseau.png
Graphique-reseau.png (30.98 Kio) Consulté 8656 fois
Quelques remarques :
-tous les modules communiquent directement avec le contrôleur
-chaque module sur batterie (sauf la télécommande ID49) communique directement avec l'ampoule (ID51) et la sirène (ID37)
Il y a par exemple :
- une communication directe possible entre le capteur Mouvement2 (ID64) et l'ampoule (ID51)
- une communication indirecte possible via le contrôleur entre la télécommande (ID49) et l'ampoule (ID51)
(l'ampoule peut être allumée/éteinte avec la télécommande avec un scénario)

3) Inventaire des équipements et leurs commandes, et des groupes d'associations

Voici la liste des équipements et de leurs commandes disponibles par défaut:

LED Bulb : Couleur, Blanc Froid, Blanc Chaud, On, Off, Intensité, Etat, Etat couleur
Key Fob : Scene, Batterie
Siren : Etat, On, Off, Sound (1 à 5) Low - Mid - High
Motion Sensor : Présence, Température, Luminosité, Anti Sabotage, Batterie
Smoke Sensor : Fumées, Chaleur, Sabotage, Température, Alerte Test, Batterie
CO Sensor : CO, Chaleur, Sabotage, Température, Batterie
Flood Sensor : Fuite, Température, Sabotage, Batterie
Door Sensor : Etat, Température, Sabotage, Batterie


Voici les groupes d'associations ou le contrôleur est utilisé,
(Configuration du controleur Z-Wave → Onglet Associations → bouton « Associé à quels modules ») :
Groupes-associations.png
Groupes-associations.png (29.51 Kio) Consulté 8656 fois
Tous les modules sont au moins dans le groupe 1 appelé Lifeline (pour les retours d'état), assigné lors de l'inclusion.

ATTENTION ! :Tous les modules FIBARO qui ont été inclus (tous en mode sécurisé) possèdent un paramètre appelé « Associations in Z-Wave network security mode ». Ce paramètre défini si les commandes que le module envoie dans les groupes d'association spécifiés le sont comme sécurisé ou non sécurisé. Ce paramètre n'est actif qu'en mode sécurisé. Cela ne s'applique pas au groupe 1 Lifeline.

Pour le smoke sensor j'ai modifié la valeur du paramètre « Associations in Z-Wave network security mode » de 0 à 15 pour sécuriser tous ses groupes d'associations. (Les autres sensor avaient déjà une valeur qui sécurise tous ses groupes d'associations.)

J'ai pu configurer une association directe entre le capteur Mouvement2 et l'ampoule pour l'allumer sur détection de présence. (Une association directe entre 2 modules ne peut fonctionner que s'il existe une route entre les 2 modules qui ne passe pas par le contrôleur.)
A noter que cela fonctionne aussi parce que le capteur Mouvement2 et l'ampoule sont tous deux sécurisés.

Si l'ampoule est incluse en mode non sécurisé (alors que le capteur Mouvement2 est sécurisé), l'association se configure mais ne fonctionne pas. Pour que cela fonctionne dans ce cas de figure il faut modifier la valeur du paramètre « Associations in Z-Wave network security mode » du capteur Mouvement2 afin que les commandes envoyées par le capteur dans cette association soient non sécurisés.

Pour plus d'informations sur les groupes d'associations, un article intéressant ici :
https://nechry-automation.ch/2017/02/05 ... sociations

A ce stade ce que j'ai compris c'est que pour être sûr qu'un module puisse fonctionner de manière sécurisé il doit avoir un cadenas fermé sur la page santé. La communication avec le contrôleur sera alors sécurisée (chiffrée) et la communication entre modules (sans passer par le contrôleur) via une association directe sera sécurisée ou non sécurisée en fonction d'un paramètre à configurer (en tout cas pour les sensor FIBARO testés).

Voila j'espère que ce retour d’expérience sera utile aux membres Jeedom.

akenad :-)
Dernière édition par akenad le 09 janv. 2018, 19:41, édité 1 fois.
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Buster Kernel 5
RPi3B+ SSD Raspbian Stretch
RPi4B SSD Raspbian Buster
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster

Avatar de l’utilisateur
nechry
Actif
Messages : 9644
Inscription : 24 juin 2014, 20:07
Localisation : Suisse
Contact :

Re: Plugin Z-Wave - JeedomSmart - modules AEOTEC et FIBARO Z-Wave+

Message par nechry » 08 janv. 2018, 08:17

Super bien expliqué merci de ton partage, je pensais faire un article sur la sécurité mais tu as bien couvert.

Je ne comprends pas pourquoi tu relance le démon après l’inclusion en sécurisé ? Rafraîchir infos du noeud n’est pas suffisant ?
As-tu consulté la documentation avant de poser ta question?
Les demandes de support en MP ne seront pas traité mais j'accepte les dons paypal.me/nechry
Visiter mon blog http://nechry-automation.ch/

anto35
Timide
Messages : 376
Inscription : 10 juil. 2015, 21:17

Re: Plugin Z-Wave - JeedomSmart - modules AEOTEC et FIBARO Z-Wave+

Message par anto35 » 08 janv. 2018, 11:50

Je profite de ce post qui parle de la sécurisation du Z-Wave pour poser deux trois questions que je me pose depuis un moment:

La première: où en est Jeedom avec la clé de sécurisation du ZWave+ ? Est ce toujours une clé par défaut qui est prise ?

La seconde: Un noeud non sécurisé est il capable de router des paquets sécurisés ? J'avoue que je me perd un peu avec ça. Il me semble qu'un noeud avec cadenas route des messages en clair, mais j'ai un doute sur l'inverse.

La troisième: C'est en fait le prolongement de la première, existe t'il un mécanisme ZWave pour changer la clé de sécurité du réseau (Hors réinclusion des modules). Ca pourrait permettre de changer de clé de sécurité dans e cas où on aurait divulgué par erreur sa clé.

Merci en tout cas pour ce post super clair qui permet de clarifier pas mal les choses sur la sécurisation du ZWave, surtout vu le nombre de controleurs d'ouverture qui sortent.

Avatar de l’utilisateur
akenad
Actif
Messages : 697
Inscription : 27 oct. 2017, 11:39

Re: Plugin Z-Wave - JeedomSmart - modules AEOTEC et FIBARO Z-Wave+ Sécurisé

Message par akenad » 08 janv. 2018, 16:29

Bonjour nechry,

Super bien expliqué merci de ton partage, je pensais faire un article sur la sécurité mais tu as bien couvert.

Je ne comprends pas pourquoi tu relance le démon après l’inclusion en sécurisé ? Rafraîchir infos du noeud n’est pas suffisant ?
Pour répondre à ta question, prenons l'exemple du smoke sensor.
Je prends cette exemple car c'est (avec le CO sensor) le plus facile à inclure, exclure ou réveiller parmi les sensor FIBARO que j'ai.
En effet le bouton exclusion/inclusion/réveil est apparent et facile d'utilisation, il n'est pas nécessaire d'ouvrir un couvercle.

Voici le résultat du séquencement des opérations :
Noeud-securise.png
Noeud-securise.png (28.61 Kio) Consulté 8584 fois
akenad :-)
Dernière édition par akenad le 16 janv. 2018, 00:55, édité 1 fois.
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Buster Kernel 5
RPi3B+ SSD Raspbian Stretch
RPi4B SSD Raspbian Buster
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster

Avatar de l’utilisateur
nechry
Actif
Messages : 9644
Inscription : 24 juin 2014, 20:07
Localisation : Suisse
Contact :

Re: Plugin Z-Wave - JeedomSmart - modules AEOTEC et FIBARO Z-Wave+

Message par nechry » 08 janv. 2018, 22:45

bon a savoir, il me semble que la dernière inclusion secure que j'ai effectué je n'ai pas eux a redémarrer pour que ça fonctionne. merci du résumé qui sera fort utile a tous.
As-tu consulté la documentation avant de poser ta question?
Les demandes de support en MP ne seront pas traité mais j'accepte les dons paypal.me/nechry
Visiter mon blog http://nechry-automation.ch/

Avatar de l’utilisateur
nechry
Actif
Messages : 9644
Inscription : 24 juin 2014, 20:07
Localisation : Suisse
Contact :

Re: Plugin Z-Wave - JeedomSmart - modules AEOTEC et FIBARO Z-Wave+

Message par nechry » 08 janv. 2018, 22:59

@anto35 oui la clé network key est toujours la clé par défaut
https://github.com/jeedom/plugin-openzw ... ils.py#L24

Code : Tout sélectionner

0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10
elle ne peut pas être modifié sans refaire son réseau comme c'est elle qui est utilisé lors du premier échange de clé.
tu peux trouver ici plus de détails: https://github.com/OpenZWave/open-zwave ... ces-to-OZW
As-tu consulté la documentation avant de poser ta question?
Les demandes de support en MP ne seront pas traité mais j'accepte les dons paypal.me/nechry
Visiter mon blog http://nechry-automation.ch/

anto35
Timide
Messages : 376
Inscription : 10 juil. 2015, 21:17

Re: Plugin Z-Wave - JeedomSmart - modules AEOTEC et FIBARO Z-Wave+

Message par anto35 » 09 janv. 2018, 16:36

Merci pour ta réponse. Elle doit être mise avant la création du réseau ou on peut la changer tant qu'on na pas de périphérique sécurisé ?

Imaginons quelqu'un qui a un réseau Zwave avec que des nodes inclus en non sécurisé. Doit on tout réinclure ou est il encore temps de changer la clé avant la pemière inclusion sécurisée ?

Avatar de l’utilisateur
nechry
Actif
Messages : 9644
Inscription : 24 juin 2014, 20:07
Localisation : Suisse
Contact :

Re: Plugin Z-Wave - JeedomSmart - modules AEOTEC et FIBARO Z-Wave+ Sécurisé

Message par nechry » 09 janv. 2018, 21:46

si rien d'inclue en sécurisé pas de problème de la changer. par contre attention suite a une mise à jour du plugin la clé par défaut revient il faudra a nouveau la modifier. sans perdre son réseau bien sur. j'avais prévue ajouter la possibilité de créer la clé privée en son temps, c'était dans mes todo list.
As-tu consulté la documentation avant de poser ta question?
Les demandes de support en MP ne seront pas traité mais j'accepte les dons paypal.me/nechry
Visiter mon blog http://nechry-automation.ch/

anto35
Timide
Messages : 376
Inscription : 10 juil. 2015, 21:17

Re: Plugin Z-Wave - JeedomSmart - modules AEOTEC et FIBARO Z-Wave+ Sécurisé

Message par anto35 » 10 janv. 2018, 15:35

ok. Merci de ta réponse. Ca confirme ce que j'avais compris du process.

Avatar de l’utilisateur
nechry
Actif
Messages : 9644
Inscription : 24 juin 2014, 20:07
Localisation : Suisse
Contact :

Re: Plugin Z-Wave - JeedomSmart - modules AEOTEC et FIBARO Z-Wave+ Sécurisé

Message par nechry » 18 janv. 2018, 08:53

j'ai 4 articles en relation directes avec la sécurité et le protocole z-wave sur mon blog. je vais y couvrir tous ces questions. le sujet m'a donner envie de terminer la rédaction d'articles qui dormais dans mes brouillons, merci à @akenad pour l'avoir initié. Le premier est déjà en ligne, les autres arrivent d'ici la fin du mois, normalement.
As-tu consulté la documentation avant de poser ta question?
Les demandes de support en MP ne seront pas traité mais j'accepte les dons paypal.me/nechry
Visiter mon blog http://nechry-automation.ch/

Bosquetia
Actif
Messages : 6783
Inscription : 10 mai 2016, 07:54

Re: Plugin Z-Wave - JeedomSmart - modules AEOTEC et FIBARO Z-Wave+ Sécurisé

Message par Bosquetia » 18 janv. 2018, 09:03

Hello,

Merci pour ce topic très clair !

L'équipe a décidé de la passer dans la section tutos ;-)

Verrouillé

Revenir vers « Tutoriels »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 0 invité