Comment modifier les créations automatiques d'équipements?

Hello à tous,

Suite à passage sur debian 11 et zwavejs, j’ai des équipement Neo CoolCam 3 boutons qui ne se configurent pas correctement. Mais les Neo CoolCam 1 bouton et bouton volet roulants se crées bien.

Quelqu’un saurait m’indiquer quel fichier je peux modifier pour créer ce template d’équipement ?

Belle soirée à tous.

Avec l’éditeur de fchiers dans le dossier plugins, zwavejs core config devices tu vas trouver tous les devices et leurs fichiers de conf
Donc un json et un fichier png pour représenter le périphéiques.

Mais le mieux est peut etre de demander de l’ajouter afin que la prochaine mise a jour le propose a tout le monde

1 « J'aime »

J’ai effectivement trouvé ça, mais je suis surpris de ne voir que ça, il n’y a aucun information de commande générée :

exemple pour le switch 1 bouton sur lequel je voulais me baser :

{
    "name": "Neo Eu-1 Switch",
    "type": "Interrupteur",
    "comlink": "",
    "remark": "",
    "imglink": "",
    "versions": {
        "3": [
            "4236"
        ]
    },
    "properties": {
        "Switch": {}
    }
}

Du coup je me demande comment son générée les commandes ?

c justement peut être un module pas encore 100% intégré dans zwavejs, le mieux serait d’aller sur leur site et faire une demande

1 « J'aime »

je vais tenter :crossed_fingers: merci :slight_smile:

Ca y est, je connais la structure du json à utliser :

exemple avec un double relay.

{
    "name": "TZ74 Double charge",
    "type": "Micromodule",
    "comlink": "",
    "remark": "",
    "imglink": "wenzhou.tz74",
    "versions": {
        "785": [
            "772"
        ]
    },
    "commands": [
        {
            "name": "On 1",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 1,
                "property": "targetValue",
                "value": "true"
            },
            "value": "Etat 1",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_ON"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Off 1",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 1,
                "property": "targetValue",
                "value": "false"
            },
            "value": "Etat 1",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_OFF"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Etat 1",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 1,
                "property": "currentValue"
            },
            "subtype": "binary",
            "display": {
                "generic_type": "LIGHT_STATE"
            }
        },
        {
            "name": "On 2 ",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 2,
                "property": "targetValue",
                "value": "true"
            },
            "value": "Etat 2",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_ON"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Off 2 ",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 2,
                "property": "targetValue",
                "value": "false"
            },
            "value": "Etat 2",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_OFF"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Etat 2",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 2,
                "property": "currentValue"
            },
            "subtype": "binary",
            "display": {
                "generic_type": "LIGHT_STATE"
            }
        },
        {
            "name": "Scene",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "repeatEventManagement": "always",
                "class": 43,
                "endpoint": 0,
                "property": "Scene ID"
            },
            "subtype": "numeric",
            "display": {
                "generic_type": "DONT"
            },
            "template": {
                "dashboard": "tile",
                "mobile": "tile"
            }
        }
    ]
}

Ce qu’il me manque, c’est de savoir comment se fait le lien en le module généré sous Jeedom et ce fichier Json car ca ne colle pas avec le nom de fichier du json. Tu sais si il y a une table ou une matrice qui renvoi vers les fichiers json ?

EDIT : Trouvé, c’est bien dans le json mais fallait le trouver :

   "versions": {
        "32770": [ // PRODUCT TYPE
            "4096" // PRODUCT ID
        ]
    },

Ca correspond au ProductType et ProcuctId qui apparaissent dans les valeurs du noeud:

Je vais pouvoir avancer, sais-tu me dire où on peux déposer les json créés pour qu’ils soient intégrés dans le prochain update ?

Je pense qu’ici en donnant toutes les infos, ou alors sur le git de zwavejs

La dessus je ne saurai t’en dire plus

Ok, voici les informations :

Interrupteur mural encastré 3 boutons,
Marque NEO COOLCAM
Type EU-3 ZWAVE

et voici le .json (qui se nomme du coup logiquement « neo.eu3.switch.json » :

{                                               
    "name": "CoolCam EU-3 Switch",     // Nom donné à l'appareil sans influence dans Jeedom
    "type": "Interrupteur",                            // Désignation du type d'appareil en français sans influence dans jeedom
    "comlink": "",                              // Très certainement le lien externe pour l'acheter sur internet
    "remark": "La fonction activer/désactiver le voyant est disponible mais non visible dans le dahsboard, regardez les commandes dispo",                               // Permet d'informer l'utilisateur lorsqu'il débarque sur la page de l'équipement ???
    "imglink": "neo.eu3.switch",                 // Nom du fichier png
    //"configuration": {                          // PAS ESSENTIEL SAUF SI EQUIPEMENT A BATTERIE
    //    "battery_type": "1x3V CR133A"
    //},                                          // FIN EQUIPEMENT BATTERIE
    "versions": {
        "512": [                              // PRODUCT TYPE DISPO DANS VALEURS DU NOEUD
            "4139"                              // PRODUCT ID DISPO DANS VALEURS DU NOEUD
        ]
    },
    //"properties": {                             // Ajoute des commandes AUTO sur l'équipement - PAS PLUS D'INFOS
    //    "Smoke":{},                             // Ajoute des commandes sur l'équipement - PAS PLUS D'INFOS
    //    "Battery":{}                            // Ajoute des commandes sur l'équipement - PAS PLUS D'INFOS
    //},
    "commands": [                               // Ou les créer MANU
        {
            "name": "On 1",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 1,
                "property": "targetValue",
                "value": "true"
            },
            "value": "Etat 1",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_ON"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Off 1",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 1,
                "property": "targetValue",
                "value": "false"
            },
            "value": "Etat 1",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_OFF"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Etat 1",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 1,
                "property": "currentValue"
            },
            "subtype": "binary",
            "display": {
                "generic_type": "LIGHT_STATE"
            }
        },
        {
            "name": "On 2 ",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 2,
                "property": "targetValue",
                "value": "true"
            },
            "value": "Etat 2",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_ON"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Off 2 ",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 2,
                "property": "targetValue",
                "value": "false"
            },
            "value": "Etat 2",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_OFF"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Etat 2",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 2,
                "property": "currentValue"
            },
            "subtype": "binary",
            "display": {
                "generic_type": "LIGHT_STATE"
            }
        },
        {
            "name": "On 3 ",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 3,
                "property": "targetValue",
                "value": "true"
            },
            "value": "Etat 3",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_ON"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Off 3 ",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 3,
                "property": "targetValue",
                "value": "false"
            },
            "value": "Etat 3",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_OFF"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Etat 3",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 3,
                "property": "currentValue"
            },
            "subtype": "binary",
            "display": {
                "generic_type": "LIGHT_STATE"
            }
        },
        {
            "name": "Scene",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "repeatEventManagement": "always",
                "class": 43,
                "endpoint": 0,
                "property": "Scene ID"
            },
            "subtype": "numeric",
            "display": {
                "generic_type": "DONT"
            },
            "template": {
                "dashboard": "tile",
                "mobile": "tile"
            }
        },
        {
            "name": "Voyant On",
            "type": "action",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 112,
                "endpoint": 0,
                "property": 2,
                "value": 1
            },
            "value": "Etat Voyant",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_OFF"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Voyant Off",
            "type": "action",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 112,
                "endpoint": 0,
                "property": 2,
                "value": 0
            },
            "value": "Etat Voyant",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_OFF"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Etat Voyant",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 112,
                "endpoint": 0,
                "property": 2
            },
            "subtype": "binary",
            "display": {
                "generic_type": "LIGHT_STATE"
            }
        }
    ]
}

et son image en png « neo.eu3.switch.png » :

je viens de le finir je le test demain, mais je penses que c’est good.

Bonne nuit

1 « J'aime »

Hello, test effectué à l’instant, le plugin fonctionne (bien retirer les commentaires du json, sinon ça prend pas) :
L’icone de l’equipement à nommer : « neo.eu3.switch.png »

Voici les deux fichiers à mettre dans le dossier neocoolcam600 qui se situe dans plugin/zwavejs/core/config/devices :


et le Json qu’il faut nommer neo.eu3.switch.json qui permet d’allumer ou eteindre les voyants bleu sur l’équipement (commandes dispo mais non visible) :

{                                               
    "name": "CoolCam EU-3 Switch",
    "type": "Interrupteur",
    "comlink": "",
    "remark": "La fonction activer/désactiver le voyant est disponible mais non visible dans le dahsboard, regardez les commandes dispo",
    "imglink": "neo.eu3.switch",
    "versions": {
        "512": [
            "4139"
        ]
    },
    "commands": [
        {
            "name": "On 1",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 1,
                "property": "targetValue",
                "value": "true"
            },
            "value": "Etat 1",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_ON"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Off 1",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 1,
                "property": "targetValue",
                "value": "false"
            },
            "value": "Etat 1",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_OFF"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Etat 1",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 1,
                "property": "currentValue"
            },
            "subtype": "binary",
            "display": {
                "generic_type": "LIGHT_STATE"
            }
        },
        {
            "name": "On 2 ",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 2,
                "property": "targetValue",
                "value": "true"
            },
            "value": "Etat 2",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_ON"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Off 2 ",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 2,
                "property": "targetValue",
                "value": "false"
            },
            "value": "Etat 2",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_OFF"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Etat 2",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 2,
                "property": "currentValue"
            },
            "subtype": "binary",
            "display": {
                "generic_type": "LIGHT_STATE"
            }
        },
        {
            "name": "On 3 ",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 3,
                "property": "targetValue",
                "value": "true"
            },
            "value": "Etat 3",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_ON"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Off 3 ",
            "type": "action",
            "isVisible": 1,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 3,
                "property": "targetValue",
                "value": "false"
            },
            "value": "Etat 3",
            "subtype": "other",
            "display": {
                "generic_type": "LIGHT_OFF"
            },
            "template": {
                "dashboard": "light",
                "mobile": "light"
            }
        },
        {
            "name": "Etat 3",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 37,
                "endpoint": 3,
                "property": "currentValue"
            },
            "subtype": "binary",
            "display": {
                "generic_type": "LIGHT_STATE"
            }
        },
        {
            "name": "Scene",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "repeatEventManagement": "always",
                "class": 43,
                "endpoint": 0,
                "property": "Scene ID"
            },
            "subtype": "numeric",
            "display": {
                "generic_type": "DONT"
            },
            "template": {
                "dashboard": "tile",
                "mobile": "tile"
            }
        },
        {
            "name": "Etat Voyant",
            "type": "info",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 112,
                "endpoint": 0,
                "property": 2
            },
            "subtype": "binary",
            "display": {
                "generic_type": "LIGHT_STATE"
            }
        },
        {
            "name": "Voyant On",
            "type": "action",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 112,
                "endpoint": 0,
                "property": 2,
                "value": 1
            },
            "subtype": "other",
            "display": {
                "icon": "<i class=\"fas fa-arrow-up\"></i>",
                "generic_type": "FLAP_UP"
            }
        },
        {
            "name": "Voyant Off",
            "type": "action",
            "isVisible": 0,
            "isHistorized": 0,
            "configuration": {
                "class": 112,
                "endpoint": 0,
                "property": 2,
                "value": 0
            },
            "subtype": "other",
            "display": {
                "icon": "<i class=\"fas fa-arrow-down\"></i>",
                "generic_type": "FLAP_down"
            }
        }
    ]
}

Si l’équipement à déjà été importé avant, il suffit d’aller sur l’onglet commandes du noeud et de cliquer sur Recharger commandes :wink:

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.