Bonjour à tous, c’est akenad ,
Aujourd’hui je vais vous présenter un retour d’expérience sur ce qu’on peut faire soi-même lorsqu’un équipement est inconnu dans le plugin Z-Wave.
Je prends comme exemple un équipement (MCO HOME MH10) que je ne possède pas mais qui a été évoqué par @D106 ici : Capteur PM2.5 MH10 de MCOHOME
Le MCO HOME MH10 n’est à ce jour pas reconnu par le plugin Z-Wave.
Dans le plugin Z-Wave, lors de l’inclusion du module, dans l’onglet équipement, le modèle est « Unknown: type=0a01, id=3102 » (en hexadécimal)
Il est souvent possible dans ce cas de « faire soi-même » (si on comprend ce que l’on fait).
Je ne prétends donner « la solution complète clé en main » mais quelques pistes sur la démarche pour qui n’a pas peur de se retrousser les manches et d’essayer.
Pour partager avec la communauté, dans l’équipement , cliquer le bouton « Arbre Z-Wave » et publier le contenu dans le forum Jeedom.
@D106 à publié l’arbre zwave de son MH10-PM2.5 suivant :
arbrezwave-mcohomemh10.txt (5,6 Ko)
Pour éventuellement mettre à jour l’Arbre Z-Wave de l’équipement :
Equipement → Configuration → Actions, cliquer :
- « Rafraichir les infos du noeud » (Les données du nœud sont obtenues du réseau Z-Wave de la même façon que s’il venait d’être ajouté.)
(peut éventuellement mettre à jour l’Arbre Z-Wave)
puis, - « Rafraichir les valeurs du noeud » (Demande l’actualisation de l’ensemble des valeurs du nœud.)
Sur l’ancien forum, il y a déjà un retour d’expérience détaillé sur la méthode pour configurer soi-même un équipement Zwave dans le plugin :
(dans la limite de compatibilité des classes de commandes Z-wave du plugin)
Smart Implant FGBS-222 : [RTEX] Plugin Z-Wave (openzwave) - modules compatibles - FGBS-001 ou Smart Implant FGBS-222 - Forum Communauté Jeedom
Pour le MCO Home MH10-PM2.5, quelques éléments :
- Le guide utilisateur : http://www.mcohome.com/upload/file/20180531/20180531151127.pdf
→ les classes de commandes supportées sont :
- COMMAND_CLASS_BASIC (32 0x20)
- COMMAND_CLASS_SENSOR_MULTILEVEL (49 0x31)
- COMMAND_CLASS_MANUFACTURER_SPECIFIC (114 0x72)
- COMMAND_CLASS_ASSOCIATION (133 0x85)
- COMMAND_CLASS_VERSION (134 0x86)
-
regarder si le produit est certifié par la z-wavealliance :
https://products.z-wavealliance.org/Search/Index?regionId=-1&searchText=MCO%20Home
→ MH10 n’est pas dans la liste -
prendre le produit le plus rapprochant :
https://products.z-wavealliance.org/products/3456
9 in 1 MULTI-SENSOR
Brand: MCO Home
Product: A8-9
Description: MCOHome A8-9 is built in with Temperature, Humidity, PM2.5, CO2, VOC, PIR, illumination, Noise, Smoke sensors.
Données du produit au format XML : https://products.z-wavealliance.org/Products/3456/XML -
regarder s’il existe un fichier de configuration XML sur github OpenZWave :
https://github.com/OpenZWave/open-zwave/blob/master/config/mcohome/a8-9.xml
il y a aussi le MH9 qui peut être interessant:
https://github.com/OpenZWave/open-zwave/blob/master/config/mcohome/mh9co2.xml -
regarder s’il existe un fichier de configuration XML sur github plugin-openzwave :
https://github.com/jeedom/plugin-openzwave/blob/master/resources/openzwaved/config/mcohome/a8-9.xml
https://github.com/jeedom/plugin-openzwave/blob/master/resources/openzwaved/config/mcohome/mh9co2.xml
→ dans la configuration du module :
- COMMAND_CLASS_CONFIGURATION (112 0x70) correspond à l’onglet Paramètres
- COMMAND_CLASS_ASSOCIATION (133 0x85) correspond à l’onglet Associations
- regarder s’il existe un fichier de configuration JSON (et jpg) sur github plugin-openzwave :
oui, le MH9 :
https://github.com/jeedom/plugin-openzwave/blob/master/core/config/devices/mco_351/351.2309.513_c02.monitor.json
https://github.com/jeedom/plugin-openzwave/blob/master/core/config/devices/mco_351/351.2309.513_c02.monitor.jpg
351.2309.513 : Identifiant-fabricant.Type-produit.Identifiant-produit
Product : décimal = Hexadécimal
Manufacturer : 351 = 015f
type : 2309 = 0905
id : 513 = 0201
- Ajouter l’équipement dans la liste des équipements par fabricant :
https://github.com/jeedom/plugin-openzwave/blob/master/resources/openzwaved/config/manufacturer_specific.xml
extrait :
<Manufacturer id="015f" name="Mcohome">
<!--EU-->
<Product type="0905" id="0201" name="MH9-CO2-WD CO2 Monitor" config="mcohome/mh9co2.xml"/>
</Manufacturer>
- dans certains cas une définition du mapping dans le fichier de configuration global python peut-être nécessaire :
https://github.com/jeedom/plugin-openzwave/blob/master/resources/openzwaved/ozwave/globals.py
Le chemin GitHub - jeedom/plugin-openzwave at master
correspond localement dans Jeedom à /var/www/html/plugins/openzwave
avec le plugin JeeXplorer les dossiers intéressants sont :
- /plugins/openzwave/core/config/devices
- /plugins/openzwave/resources/openzwaved/config
- /plugins/openzwave/resources/openzwaved/ozwave
L’arbre zwave fourni plus haut permet de dire que les valeurs des capteurs de température et d’humidité remontent via la classe de commandes « COMMAND_CLASS_SENSOR_MULTILEVEL » (49 0x31), respectivement index 1 et 5 (commandes de type Info/Numérique dans le plugin). Par contre les valeurs du capteur de particules fines PM2.5, contrairement à ce qu’on pourrait supposer, ne semble pas remonter via cette classe. Pour que l’info puisse remonter, il faut provoquer (en déplacant le MH10) une variation d’au moins 1ug/m3 de particules fines dans l’air (constaté sur l’écran d’affichage du MH10), puis identifier l’index associé.
Voila j’espère que ce retour d’expérience sera utile aux membres Jeedom.
akenad