Aujourd'hui je vais vous présenter un retour d'expérience sur la compatibilité des modules Z-Wave avec le plugin Jeedom Z-Wave (openzwave) en prenant comme exemple les modules Fibaro FGBS-001 et FGBS-222.
Je possède un FGBS-001 mais je n'ai pas encore de FGBS-222. Merci @arnog23 et @dams_raspberrypi pour leur contribution.
Actuellement dans le plugin Z-Wave, lors de l'inclusion du FGBS-222, dans l'onglet équipement, le modèle est "Unknown: type=0502, id=1000".
Le module n'est pas reconnu par le plugin Z-Wave, il ne va donc pas être configuré automatiquement. Il convient dans ce cas de le faire soi-même manuellement.
A la date d'aujourd'hui le FGBS-001 est intégré dans Jeedom mais pas encore le FGBS-222.
L'idée est d'intégrer le FGBS-222 dans Jeedom en s'inspirant de ce qui a été fait pour le FGBS-001.
Des informations sur le contenu des mises à jour du plugin Jeedom openzwave sont ici :
https://jeedom.github.io/plugin-openzwa ... /changelog
Le plugin Jeedom openzwave est développé ici :
https://github.com/jeedom/plugin-openzwave
Le FGBS-001(Universal binary sensor) ancien modèle, et le FGBS-222 (Smart Implant), nouveau modèle, sont similaires.
Le FGBS-001 est uniquement Z-Wave et le FGBS-222 est aussi Z-Wave+ (il est donc capable d’être inclus en mode sécurisé).
Ils ont 2 entrées et 2 sorties contacts et permettent de connecter des capteurs de températures.
Sur le FGBS-222 les sorties peuvent être commandées indépendamment des entrées.
Les documentations Fibaro associées sont ici :
https://manuals.fibaro.com/smart-implant/
https://manuals.fibaro.com/binary-sensor/
Un retour d'expérience sur la mise en œuvre du FGBS-001 sur un portail est ici :
viewtopic.php?f=148&t=38342
Le FGBS-001 est dans la liste de compatibilité JEEDOM, mais le FGBS-222 ne l’est pas à la date d’aujourd’hui.
La liste de compatibilité Jeedom Z-Wave est ici :
https://jeedom.github.io/documentation/ ... compatible
En particulier lien direct pour Fibaro :
https://jeedom.github.io/documentation/ ... nchor-1-19
Pour le FGBS-001,
dans l'onglet Equipement j'ai les informations suivantes :
-Modèle FGBS-001 Universal Relay
-une image du FGBS-001
Dans la configuration du module, onglet résumé, j'ai les informations suivantes :
-Modèle : FGBS001 Universal Binary Sensor
-Fabricant : FIBARO System
-Identifiant du fabricant : 271 [0x010f] Type de produit : 1281 [0x0501] Identifiant du produit : 4098 [0x1002]
Les fichiers XML de configuration des modules Fibaro sont ici :
branche master :
https://github.com/jeedom/plugin-openzw ... fig/fibaro
branche beta :
https://github.com/jeedom/plugin-openzw ... fig/fibaro
A la date d’aujourd’hui fgbs001.xml existe mais pas encore fgbs222.xml.
Dans la configuration du plugin Z-Wave (openzwave), le bouton « Configs modules », permet de synchroniser les configurations des modules supportés à partir de github branche beta, sans avoir à réinstaller ou à mettre à jour le plugin.
C’est une opération à faire lorsqu’on veut utiliser des modules dont les configurations ont été ajoutées, ce qui n’est toutefois pas fréquent.
La synchronisation consiste à remplacer dans Jeedom :
-le contenu du dossier /plugins/openzwave/core/config/devices
-le contenu du dossier /plugins/openzwave/resources/openzwaved/config/
-le fichier /plugins/openzwave/resources/openzwaved/ozwave/globals.py
Pour le FGBS-001 :
/plugins/openzwave/resources/openzwaved/config/fibaro/fgbs001.xml
(Correspond aux onglets Paramètres et Associations dans la configuration du module)
FGBS-001 avec Type de produit 1281 et Identifiant produit 4098 :
/plugins/openzwave/core/config/devices/fibaro_271/271.1281.4098_fgbs001.universal.binary.sensor.jpg
(correspond à l'image du module visible dans l'onglet équipement)
et
/plugins/openzwave/core/config/devices/271.1281.4098_fgbs001.universal.binary.sensor.json
(correspond au contenu initial de l'onglet Commandes)
dans le fichier "/plugins/openzwave/resources/openzwaved/config/manufacturer_specific.xml"
dans la balise :
<Manufacturer id="010f" name="FIBARO System">
on trouve la ligne :
<Product type="0501" id="1002" name="FGBS001 Universal Binary Sensor" config="fibaro/fgbs001.xml" />
A noter qu'à la date d'aujourd'hui fgbs222.xml existe depuis environ 3 semaines, mais il n'a pas encore intégré dans le plugin openzwave pour Jeedom, il est ici :
https://github.com/OpenZWave/open-zwave ... gbs222.xml
Le FGBS-222 est référencé par la Z-Wave Alliance ici :
https://products.z-wavealliance.org/products/3195
(Le fichier de données du FGBS-222 permettant de fabriquer le fgbs222.xml est téléchargeable à partir de cette page).
Le fichier .json contient :
-la clé "configuration" : les valeurs sont une réécriture traduite en français des paramètres définis dans le XML
que l'on retrouve dans l'onglet "paramètres" de la configuration du module.
- la clé "commands" : Nom, Type, Instance, Classe, Index, Commande, Paramètres, Options, Type générique, Widget
que l'on retrouve dans l'onglet "Commandes" de l'équipement.
Construit à partir de l'arbre Z-Wave et de l'onglet "Valeurs" de la configuration du module.
L'arbre Z-Wave du FGBS-222 de @arnog23 téléchargé ici : configuration Fibaro Smart Implant FGBS-222
Code : Tout sélectionner
{
"state" : "ok",
"code" : 0,
"result" : {
"associations" : [
],
"instances" : {
"1" : {
"updateTime" : 1554568608,
"commandClasses" : {
"32" : {
"data" : {
"0" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Byte",
"genre" : "Basic",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Basic",
"val" : 0,
"pendingState" : null,
"type" : "int",
"data_items" : "A byte between 0 and 255",
"value_id" : "72057595028307969",
"units" : "",
"write_only" : false
},
"updateTime" : 1
},
"name" : "COMMAND_CLASS_BASIC"
},
"37" : {
"data" : {
"0" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Bool",
"genre" : "User",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Switch",
"val" : false,
"pendingState" : null,
"type" : "bool",
"data_items" : "True or False",
"value_id" : "72057595032584192",
"units" : "",
"write_only" : false
},
"updateTime" : 1
},
"name" : "COMMAND_CLASS_SWITCH_BINARY"
},
"48" : {
"data" : {
"0" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Bool",
"genre" : "User",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Sensor",
"val" : false,
"pendingState" : null,
"type" : "bool",
"data_items" : "Read only",
"value_id" : "72057595032764416",
"units" : "",
"write_only" : false
},
"updateTime" : 1
},
"name" : "COMMAND_CLASS_SENSOR_BINARY"
},
"49" : {
"data" : {
"1" : {
"updateTime" : 1554568625,
"help" : "",
"typeZW" : "Decimal",
"genre" : "User",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Temperature",
"val" : 21.5,
"pendingState" : null,
"type" : "float",
"data_items" : "Read only",
"value_id" : "72057595032780818",
"units" : "C",
"write_only" : false
},
"updateTime" : 1554568625
},
"name" : "COMMAND_CLASS_SENSOR_MULTILEVEL"
},
"91" : {
"data" : {
"0" : {
"updateTime" : 1554568610,
"help" : "",
"typeZW" : "Int",
"genre" : "User",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Scene Count",
"val" : 2,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595033468931",
"units" : "",
"write_only" : false
},
"1" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "List",
"genre" : "User",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Scene KeyAttribute",
"val" : "Pressed 1 Time",
"pendingState" : null,
"type" : "List",
"data_items" : "Key Held down;Key Released;Pressed 1 Time;Pressed 2 Times;Pressed 3 Times;Pressed 4 Times;Pressed 5 Times",
"value_id" : "72057595033468948",
"units" : "",
"write_only" : false
},
"2" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Byte",
"genre" : "User",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Scene ID",
"val" : 0,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595033468961",
"units" : "",
"write_only" : false
},
"3" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Button",
"genre" : "User",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Button",
"val" : null,
"pendingState" : null,
"type" : "bool",
"data_items" : "True or False",
"value_id" : "72057595033468984",
"units" : "",
"write_only" : true
},
"4" : {
"updateTime" : 1554568610,
"help" : "",
"typeZW" : "Byte",
"genre" : "User",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Scenes Identical",
"val" : 0,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595033468993",
"units" : "",
"write_only" : false
},
"5" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "List",
"genre" : "User",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Supported Key Attributes All Scenes",
"val" : "Pressed 1 Time",
"pendingState" : null,
"type" : "List",
"data_items" : "Key Held down;Key Released;Pressed 1 Time;Pressed 2 Times;Pressed 3 Times",
"value_id" : "72057595033469012",
"units" : "",
"write_only" : false
},
"128" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Byte",
"genre" : "User",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Scene Number",
"val" : 0,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595033470977",
"units" : "",
"write_only" : false
},
"updateTime" : 1554568610
},
"name" : "COMMAND_CLASS_CENTRAL_SCENE"
},
"94" : {
"data" : {
"0" : {
"updateTime" : 1554568610,
"help" : "",
"typeZW" : "Byte",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "ZWave+ Version",
"val" : 1,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595041906689",
"units" : "",
"write_only" : false
},
"1" : {
"updateTime" : 1554568610,
"help" : "",
"typeZW" : "Short",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "InstallerIcon",
"val" : 3072,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595041906710",
"units" : "",
"write_only" : false
},
"2" : {
"updateTime" : 1554568610,
"help" : "",
"typeZW" : "Short",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "UserIcon",
"val" : 3072,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595041906726",
"units" : "",
"write_only" : false
},
"updateTime" : 1554568610
},
"name" : "COMMAND_CLASS_ZWAVE_PLUS_INFO"
},
"113" : {
"data" : {
"0" : {
"updateTime" : 1554568630,
"help" : "",
"typeZW" : "Byte",
"genre" : "User",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Alarm Type",
"val" : 0,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595033829377",
"units" : "",
"write_only" : false
},
"1" : {
"updateTime" : 1554568630,
"help" : "",
"typeZW" : "Byte",
"genre" : "User",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Alarm Level",
"val" : 0,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595033829393",
"units" : "",
"write_only" : false
},
"2" : {
"updateTime" : 1554568630,
"help" : "",
"typeZW" : "Byte",
"genre" : "User",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "SourceNodeId",
"val" : 0,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595033829409",
"units" : "",
"write_only" : false
},
"3" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Byte",
"genre" : "User",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Alarm Notification",
"val" : null,
"pendingState" : null,
"type" : "int",
"data_items" : "A byte between 0 and 255",
"value_id" : "72057595033829425",
"units" : "",
"write_only" : true
},
"10" : {
"updateTime" : 1554568630,
"help" : "",
"typeZW" : "Byte",
"genre" : "User",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Burglar",
"val" : 254,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595033829537",
"units" : "",
"write_only" : false
},
"updateTime" : 1554568630
},
"name" : "COMMAND_CLASS_ALARM"
},
"115" : {
"data" : {
"0" : {
"updateTime" : 1554568613,
"help" : "",
"typeZW" : "List",
"genre" : "System",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Powerlevel",
"val" : "Normal",
"pendingState" : null,
"type" : "List",
"data_items" : "-1dB;-2dB;-3dB;-4dB;-5dB;-6dB;-7dB;-8dB;-9dB;Normal",
"value_id" : "72057595042250756",
"units" : "dB",
"write_only" : false
},
"1" : {
"updateTime" : 1554568613,
"help" : "",
"typeZW" : "Byte",
"genre" : "System",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Timeout",
"val" : 0,
"pendingState" : null,
"type" : "int",
"data_items" : "A byte between 0 and 255",
"value_id" : "72057595042250769",
"units" : "seconds",
"write_only" : false
},
"2" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Button",
"genre" : "System",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Set Powerlevel",
"val" : null,
"pendingState" : null,
"type" : "bool",
"data_items" : "True or False",
"value_id" : "72057595042250792",
"units" : "",
"write_only" : true
},
"3" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Byte",
"genre" : "System",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Test Node",
"val" : 0,
"pendingState" : null,
"type" : "int",
"data_items" : "A byte between 0 and 255",
"value_id" : "72057595042250801",
"units" : "",
"write_only" : false
},
"4" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "List",
"genre" : "System",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Test Powerlevel",
"val" : "Normal",
"pendingState" : null,
"type" : "List",
"data_items" : "-1dB;-2dB;-3dB;-4dB;-5dB;-6dB;-7dB;-8dB;-9dB;Normal",
"value_id" : "72057595042250820",
"units" : "dB",
"write_only" : false
},
"5" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Short",
"genre" : "System",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Frame Count",
"val" : 0,
"pendingState" : null,
"type" : "int",
"data_items" : "A short between 4294934528 and 32767",
"value_id" : "72057595042250838",
"units" : "",
"write_only" : false
},
"6" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Button",
"genre" : "System",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Test",
"val" : null,
"pendingState" : null,
"type" : "bool",
"data_items" : "True or False",
"value_id" : "72057595042250856",
"units" : "",
"write_only" : true
},
"7" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Button",
"genre" : "System",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Report",
"val" : null,
"pendingState" : null,
"type" : "bool",
"data_items" : "True or False",
"value_id" : "72057595042250872",
"units" : "",
"write_only" : true
},
"8" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "List",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Test Status",
"val" : "Failed",
"pendingState" : null,
"type" : "List",
"data_items" : "Read only",
"value_id" : "72057595042250884",
"units" : "",
"write_only" : false
},
"9" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Short",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Acked Frames",
"val" : 0,
"pendingState" : null,
"type" : "int",
"data_items" : "Read only",
"value_id" : "72057595042250902",
"units" : "",
"write_only" : false
},
"updateTime" : 1
},
"name" : "COMMAND_CLASS_POWERLEVEL"
},
"117" : {
"data" : {
"0" : {
"updateTime" : 1554568613,
"help" : "",
"typeZW" : "List",
"genre" : "System",
"read_only" : false,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Protection",
"val" : "Unprotected",
"pendingState" : null,
"type" : "List",
"data_items" : "No Operation Possible;Protection by Sequence;Unprotected",
"value_id" : "72057595042283524",
"units" : "",
"write_only" : false
},
"updateTime" : 1554568613
},
"name" : "COMMAND_CLASS_PROTECTION"
},
"134" : {
"data" : {
"0" : {
"updateTime" : 1554568612,
"help" : "",
"typeZW" : "String",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Library Version",
"val" : "3",
"pendingState" : null,
"type" : "String",
"data_items" : "Read only",
"value_id" : "72057595042562055",
"units" : "",
"write_only" : false
},
"1" : {
"updateTime" : 1554568612,
"help" : "",
"typeZW" : "String",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Protocol Version",
"val" : "6.02",
"pendingState" : null,
"type" : "String",
"data_items" : "Read only",
"value_id" : "72057595042562071",
"units" : "",
"write_only" : false
},
"2" : {
"updateTime" : 1554568612,
"help" : "",
"typeZW" : "String",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Application Version",
"val" : "5.00",
"pendingState" : null,
"type" : "String",
"data_items" : "Read only",
"value_id" : "72057595042562087",
"units" : "",
"write_only" : false
},
"updateTime" : 1554568612
},
"name" : "COMMAND_CLASS_VERSION"
},
"152" : {
"data" : {
"0" : {
"updateTime" : 1554568608,
"help" : "",
"typeZW" : "Bool",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Secured",
"val" : true,
"pendingState" : null,
"type" : "bool",
"data_items" : "Read only",
"value_id" : "72057595042856960",
"units" : "",
"write_only" : false
},
"updateTime" : 1554568608
},
"name" : "COMMAND_CLASS_SECURITY"
},
"updateTime" : 1554568608,
"data" : {
"updateTime" : 1554568608
}
}
},
"2" : {
"updateTime" : 1,
"commandClasses" : {
"152" : {
"data" : {
"0" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Bool",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Secured",
"val" : false,
"pendingState" : null,
"type" : "bool",
"data_items" : "Read only",
"value_id" : "144115189080784896",
"units" : "",
"write_only" : false
},
"updateTime" : 1
},
"name" : "COMMAND_CLASS_SECURITY"
},
"updateTime" : 1,
"data" : {
"updateTime" : 1
}
}
},
"3" : {
"updateTime" : 1,
"commandClasses" : {
"152" : {
"data" : {
"0" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Bool",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Secured",
"val" : false,
"pendingState" : null,
"type" : "bool",
"data_items" : "Read only",
"value_id" : "216172783118712832",
"units" : "",
"write_only" : false
},
"updateTime" : 1
},
"name" : "COMMAND_CLASS_SECURITY"
},
"updateTime" : 1,
"data" : {
"updateTime" : 1
}
}
},
"4" : {
"updateTime" : 1,
"commandClasses" : {
"152" : {
"data" : {
"0" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Bool",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Secured",
"val" : false,
"pendingState" : null,
"type" : "bool",
"data_items" : "Read only",
"value_id" : "288230377156640768",
"units" : "",
"write_only" : false
},
"updateTime" : 1
},
"name" : "COMMAND_CLASS_SECURITY"
},
"updateTime" : 1,
"data" : {
"updateTime" : 1
}
}
},
"5" : {
"updateTime" : 1,
"commandClasses" : {
"152" : {
"data" : {
"0" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Bool",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Secured",
"val" : false,
"pendingState" : null,
"type" : "bool",
"data_items" : "Read only",
"value_id" : "360287971194568704",
"units" : "",
"write_only" : false
},
"updateTime" : 1
},
"name" : "COMMAND_CLASS_SECURITY"
},
"updateTime" : 1,
"data" : {
"updateTime" : 1
}
}
},
"6" : {
"updateTime" : 1,
"commandClasses" : {
"152" : {
"data" : {
"0" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Bool",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Secured",
"val" : false,
"pendingState" : null,
"type" : "bool",
"data_items" : "Read only",
"value_id" : "432345565232496640",
"units" : "",
"write_only" : false
},
"updateTime" : 1
},
"name" : "COMMAND_CLASS_SECURITY"
},
"updateTime" : 1,
"data" : {
"updateTime" : 1
}
}
},
"7" : {
"updateTime" : 1,
"commandClasses" : {
"152" : {
"data" : {
"0" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Bool",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Secured",
"val" : false,
"pendingState" : null,
"type" : "bool",
"data_items" : "Read only",
"value_id" : "504403159270424576",
"units" : "",
"write_only" : false
},
"updateTime" : 1
},
"name" : "COMMAND_CLASS_SECURITY"
},
"updateTime" : 1,
"data" : {
"updateTime" : 1
}
}
},
"8" : {
"updateTime" : 1,
"commandClasses" : {
"152" : {
"data" : {
"0" : {
"updateTime" : 1,
"help" : "",
"typeZW" : "Bool",
"genre" : "System",
"read_only" : true,
"expected_data" : null,
"poll_intensity" : 0,
"name" : "Secured",
"val" : false,
"pendingState" : null,
"type" : "bool",
"data_items" : "Read only",
"value_id" : "576460753308352512",
"units" : "",
"write_only" : false
},
"updateTime" : 1
},
"name" : "COMMAND_CLASS_SECURITY"
},
"updateTime" : 1,
"data" : {
"updateTime" : 1
}
}
},
"updateTime" : 1554568630
},
"groups" : {
"1" : {
"associations" : [
[
1,
0
]
],
"maximumAssociations" : 1,
"pending" : 1,
"label" : "Group 1"
},
"2" : {
"associations" : [
],
"maximumAssociations" : 5,
"pending" : 1,
"label" : "Group 2"
},
"3" : {
"associations" : [
],
"maximumAssociations" : 5,
"pending" : 1,
"label" : "Group 3"
},
"updateTime" : 1554568630
},
"command_classes" : {
"0" : {
"hex" : "0x00",
"name" : "COMMAND_CLASS_NO_OPERATION"
},
"32" : {
"hex" : "0x20",
"name" : "COMMAND_CLASS_BASIC"
},
"34" : {
"hex" : "0x22",
"name" : "COMMAND_CLASS_APPLICATION_STATUS"
},
"37" : {
"hex" : "0x25",
"name" : "COMMAND_CLASS_SWITCH_BINARY"
},
"48" : {
"hex" : "0x30",
"name" : "COMMAND_CLASS_SENSOR_BINARY"
},
"49" : {
"hex" : "0x31",
"name" : "COMMAND_CLASS_SENSOR_MULTILEVEL"
},
"86" : {
"hex" : "0x56",
"name" : "COMMAND_CLASS_CRC_16_ENCAP"
},
"90" : {
"hex" : "0x5a",
"name" : "COMMAND_CLASS_DEVICE_RESET_LOCALLY"
},
"91" : {
"hex" : "0x5b",
"name" : "COMMAND_CLASS_CENTRAL_SCENE"
},
"94" : {
"hex" : "0x5e",
"name" : "COMMAND_CLASS_ZWAVE_PLUS_INFO"
},
"96" : {
"hex" : "0x60",
"name" : "COMMAND_CLASS_MULTI_CHANNEL_V2"
},
"112" : {
"hex" : "0x70",
"name" : "COMMAND_CLASS_CONFIGURATION"
},
"113" : {
"hex" : "0x71",
"name" : "COMMAND_CLASS_ALARM"
},
"114" : {
"hex" : "0x72",
"name" : "COMMAND_CLASS_MANUFACTURER_SPECIFIC"
},
"115" : {
"hex" : "0x73",
"name" : "COMMAND_CLASS_POWERLEVEL"
},
"117" : {
"hex" : "0x75",
"name" : "COMMAND_CLASS_PROTECTION"
},
"133" : {
"hex" : "0x85",
"name" : "COMMAND_CLASS_ASSOCIATION"
},
"134" : {
"hex" : "0x86",
"name" : "COMMAND_CLASS_VERSION"
},
"142" : {
"hex" : "0x8e",
"name" : "COMMAND_CLASS_MULTI_INSTANCE_ASSOCIATION"
},
"152" : {
"hex" : "0x98",
"name" : "COMMAND_CLASS_SECURITY"
}
},
"last_notification" : {
"code" : 1,
"help" : "Messages that timeout will send a Notification with this code",
"description" : "Timeout",
"next_wakeup" : null,
"receiveTime" : 1554568629
},
"data" : {
"isReady" : {
"updateTime" : 1554568630,
"value" : true
},
"isRouting" : {
"value" : true
},
"isZwavePlus" : {
"value" : true
},
"basicType" : {
"value" : 4
},
"isListening" : {
"value" : true
},
"is_enable" : {
"value" : true
},
"is_manufacturer_specific_ok" : {
"enabled" : true,
"value" : true
},
"genericType" : {
"value" : 7
},
"isAwake" : {
"updateTime" : 1554568630,
"value" : true
},
"manufacturerProductId" : {
"hex" : "0x1000",
"value" : 4096
},
"statistics" : {
"delivered" : 100,
"total" : 55,
"deliveryTime" : 90
},
"isEnable" : {
"value" : true
},
"specificType" : {
"value" : 1
},
"neighbours" : {
"value" : [
1
]
},
"maxBaudRate" : {
"value" : 40000
},
"isSecurity" : {
"value" : false
},
"state" : {
"value" : "Complete"
},
"version" : {
"value" : 4
},
"location" : {
"value" : ""
},
"manufacturerId" : {
"hex" : "0x010f",
"value" : 271
},
"type" : {
"value" : "Sensor Notification"
},
"product_name" : {
"value" : "Unknown: type=0502, id=1000"
},
"pending_changes" : {
"count" : 0
},
"battery_level" : {
"value" : null
},
"description" : {
"product_name" : "Unknown: type=0502, id=1000",
"name" : "Unknown",
"location" : ""
},
"isVirtual" : {
"value" : ""
},
"isFrequentListening" : {
"value" : false
},
"wakeup_interval" : {
"next_wakeup" : null,
"value" : null
},
"is_neighbours_ok" : {
"neighbors" : 1,
"enabled" : true,
"value" : true
},
"can_wake_up" : {
"value" : false
},
"lastReceived" : {
"updateTime" : 1554568630
},
"isBeaming" : {
"value" : true
},
"name" : {
"value" : ""
},
"manufacturerProductType" : {
"hex" : "0x0502",
"value" : 1282
},
"is_groups_ok" : {
"enabled" : true,
"value" : true
},
"isSecured" : {
"enabled" : true,
"value" : true
},
"vendorString" : {
"value" : "FIBARO System"
},
"isInfoReceived" : {
"value" : true
},
"isFailed" : {
"value" : false
},
"security" : {
"value" : 0
}
},
"multi_instance" : {
"instances" : 1,
"support" : true
}
}
}
dans l'onglet Equipement les informations suivantes :
-Modèle : FGBS-222 Smart Implant
-une image du FGBS-222
Dans la configuration du module, onglet résumé, les informations suivantes :
-Modèle : FGBS222 Smart Implant
-Fabricant : FIBARO System
-Identifiant du fabricant : 271 [0x010f] Type de produit : 1282 [0x0502] Identifiant du produit : 4096 [0x1000]
Les fichiers suivants :
/plugins/openzwave/resources/openzwaved/config/fibaro/fgbs222.xml
/plugins/openzwave/core/config/devices/271.1282.4096_fgbs222.smart.implant.json
/plugins/openzwave/core/config/devices/fibaro_271/271.1282.4096_fgbs222.smart.implant.jpg
dans le fichier "/plugins/openzwave/resources/openzwaved/config/manufacturer_specific.xml"
dans la balise :
<Manufacturer id="010f" name="FIBARO System">
ajouter :
<Product type="0502" id="1000" name="FGBS222 Smart Implant" config="fibaro/fgbs222.xml" />
NOTA : Jeedom et ses plugins sont installés sur le système de fichiers dans le dossier /var/www/html
Le plugin JeeXplorer de @KiboOst permet d’accéder à ce dossier (et ses sous-dossiers) pour ajouter et éditer des fichiers.
Un chemin absolu est par exemple de la forme :
/var/www/html/plugins/openzwave/resources/openzwaved/config/manufacturer_specific.xml
(une autre méthode pour éditer un fichier : Jeedom -> roue crantée -> Configuration -> OS/DB -> Editeur)
Les commandes essentielles à définir sont :
Class 37, Switch OUT1, OUT2
Class 48, Sensor IN1, IN2
Class 49, Température
En s'inspirant des json du fgs-222 (pour class 37) et du fgbs-001 (pour class 48 et 49),
json fgs-222
json fgbs-001
le fichier 271.1282.4096_fgbs222.smart.implant.json pourrait ressembler à quelque chose comme ça :
Code : Tout sélectionner
{
"name": "FGBS-222 Smart Implant",
"type": "Micromodule",
"comlink": "",
"remark": "",
"imglink": "fibaro.fgbs222",
"commands": [
{
"name": "OUT1_On",
"type": "action",
"isVisible": 1,
"isHistorized": 0,
"configuration": {
"class": 37,
"value": "type=setvalue&value=255",
"index": 0,
"instance": 1
},
"value": "OUT1_Etat",
"subtype": "other",
"display": {
"generic_type": "LIGHT_ON"
},
"template": {
"dashboard": "light",
"mobile": "light"
}
},
{
"name": "OUT1_Off",
"type": "action",
"isVisible": 1,
"isHistorized": 0,
"configuration": {
"class": 37,
"value": "type=setvalue&value=0",
"index": 0,
"instance": 1
},
"value": "OUT1_Etat",
"subtype": "other",
"display": {
"generic_type": "LIGHT_OFF"
},
"template": {
"dashboard": "light",
"mobile": "light"
}
},
{
"name": "OUT1_Etat",
"type": "info",
"isVisible": 0,
"isHistorized": 0,
"configuration": {
"class": 37,
"value": "",
"index": 0,
"instance": 1
},
"subtype": "binary",
"display": {
"generic_type": "LIGHT_STATE"
}
},
{
"name": "OUT2_On",
"type": "action",
"isVisible": 1,
"isHistorized": 0,
"configuration": {
"class": 37,
"value": "type=setvalue&value=255",
"index": 0,
"instance": 2
},
"value": "OUT2_Etat",
"subtype": "other",
"display": {
"generic_type": "LIGHT_ON"
},
"template": {
"dashboard": "light",
"mobile": "light"
}
},
{
"name": "OUT2_Off",
"type": "action",
"isVisible": 1,
"isHistorized": 0,
"configuration": {
"class": 37,
"value": "type=setvalue&value=0",
"index": 0,
"instance": 2
},
"value": "OUT2_Etat",
"subtype": "other",
"display": {
"generic_type": "LIGHT_OFF"
},
"template": {
"dashboard": "light",
"mobile": "light"
}
},
{
"name": "OUT2_Etat",
"type": "info",
"isVisible": 0,
"isHistorized": 0,
"configuration": {
"class": 37,
"value": "",
"index": 0,
"instance": 2
},
"subtype": "binary",
"display": {
"generic_type": "LIGHT_STATE"
}
},
{
"name": "IN1_Etat",
"type": "info",
"isVisible": 1,
"isHistorized": 0,
"configuration": {
"class": 48,
"value": "",
"index": 0,
"instance": 1
},
"subtype": "binary",
"display": {
"generic_type": "OPENING"
},
"template": {
"dashboard": "door",
"mobile": "door"
}
},
{
"name": "IN2_Etat",
"type": "info",
"isVisible": 1,
"isHistorized": 0,
"configuration": {
"class": 48,
"value": "",
"index": 0,
"instance": 2
},
"subtype": "binary",
"display": {
"generic_type": "OPENING"
},
"template": {
"dashboard": "door",
"mobile": "door"
}
},
{
"name": "Température 1",
"type": "info",
"isVisible": 1,
"isHistorized": 1,
"configuration": {
"class": 49,
"value": "",
"index": 1,
"instance": 1
},
"subtype": "numeric",
"display": {
"generic_type": "TEMPERATURE"
},
"unite": "°C"
},
]
}
—-EDIT 11/09/2019—
Smart implant fgbs222 intégré en stable hier.
Merci Loic & Ludo
Voila j'espère que ce retour d’expérience sera utile aux membres Jeedom.
akenad