API RESTful du plugin ZWave

nechry

Passionné par les technologies depuis l'enfance, je consacre maintenant la majorité de mes temps libre à la domotique. En tant que développeur principal du plugin Z-Wave pour la solution jeedom et contributeur de la librairie open-source openzwave, mon but est de vous aider à mettre ces technologies à contribution pour vous faciliter la vie !

Vous aimerez aussi...

22 réponses

  1. Me_ dit :

    Salut Nechry,

    Difficile de laisser un commentaire sur ton blog… c’était pour te remercier pour tous tes tutos et explications sur le Zwave!

  2. spark dit :

    Bonsoir,

    J’ai réalisé un scénario avec ton code pour contrôler les nœuds.
    Mon problème est que je dois lancer le code a la main plusieurs fois car moins de 30sec après le lancement et donc la correction du défaut (ping corrige correctement) je dois recommencer.

    Tu as une idée @Nechry ?

  3. spark dit :

    Salut,

    J’ai utilisé celui ci:
    ReviveDeadNodes

    J’ai été obligé de finir par désactiver le module car il est complement instable je ne comprends pas. Il bug plusieurs fois a la suite puis plus rien.

  4. Brian dit :

    Un grand merci nechry, c’est exactement ce que je cherchais ! Parfaitement expliqué à chaque étape pour ceux comme moi qui ne peuvent pas créer mais comprendre le code 😉 Dommage que des options comme vérifier les nœuds morts ou une notification ne soit pas intégrer au plugin Zwave. Encore un grand merci !

  5. Hugo dit :

    Bonjour et un grand merci pour cette article,
    J’ai un nœud qui passe en Dead de temps en temps sans vraiment de raison, il n’est qu’à 5 mètres du contrôleur, marche très bien pendant plusieurs jours puis d’un coup se met en Dead et communique plus. C’est le nœud de ma sirène pour mon alarme, alors j’aimerai mieux qu’il marche tout le temps. Du coup j’ai mis en place les 2 scénarios « Heal Network » et « ReviveDeadNodes » en espérant que ça va corriger ce problème.
    C’est quand même bizard de perdre le réseau z-wave comme ça ? Une idée peut être ?

    • nechry dit :

      alors oui j’ai pas mentionné dans l’article, mais c’est scénarios sont là pour faire des contres mesures en cas de problèmes, mais le mieux reste d’identifier le problème pour le corriger. pour en revenir a ta question, non je n’ai pas d’idée comme ça, sur le pourquoi du quoi. faudrait un peu plus de détails sur les elements en cause, comme le contrôleur, les elements a proximité. si via un dongle une solution qui fait ces preuves est d’utiliser une rallonge usb pour éloigner d’interférences de la box ou autres éléments a proximité.

  6. Romanais dit :

    Bravo et merci pour le partage ! C’est énorme comme boulot, et super clair et utile en plus, donc continue !

  7. Networks514 dit :

    Merci pour toutes ces explications et tous les exemples, c’est très clair ! Maintenant y a plus qu’a s’y mettre 🙂

  8. Melwasul dit :

    Merci pour tuto.

    Je suis arrivé sur ton site via le forum jeedom car beaucoup de problèmes avec des nœuds présumés morts sur des qubino avec fil pilot pour radiateur en format din ou micro module…

    Je suis complètement débutant dans la domotique. Alors être confronté à des problèmes de radiateur qui tourne à fond ou pas du tout car nœud mort, je suis complètement perdu et dans un sentiment d’avoir fait une erreur pour piloter mon chauffage malgré un gros investissement.

    J’ai lu tout ton tuto, j’avoue avoir vaguement compris l’utilité, surtout dans mon cas pour exécuter un ping, vérifier les nœuds présumés mort et essayer de réanimer un nœud, qui si je comprends bien devrait régler mon problème ?
    Par contre tu dis qu’il ne faut pas mettre une trop grande liste de nœud, j’ai 9 zones donc 9 modules donc 9 nœuds je pense. Est-ce un problème ?

    Y a-t ‘il une autre solution pour régler ce problème de nœud présumé mort pour mon chauffage que d’effectuer toutes ces lignes de commande ?

    Si non je vais essayer de me lancer mais je pense que je vais avoir pas mal de difficultés et probablement beaucoup de questions, n’ayant jamais touché à la programmation…

    Merci à toi en tout cas.

    • nechry dit :

      Pour 9 noeuds il n’y a aucun problème, tu peux y aller sans autre. Les Qubino fil pilot qui passent en présumé mort, c’est un des cas de figure récurent. Le problème ici dans cette configuration c’est que le Qubino est en général installé très proche du radiateur qui lui est composé d’une grosse surface de metal qui provoque une très grande atténuation du signal. Le mieux serait d’arriver a disposer les micro-modules loin des radiateurs.

  9. Melwasul dit :

    Merci pour ta réponse.
    Mais si je fais les 3 morceaux de commande, cela va bien arranger le problème ?

  10. Christophe dit :

    Bonjour,

    Un commentaire pour te remercier pour ton blog et tes articles afin de faciliter la compréhension du z-wave. Merci pour le tuto qui m’a beaucoup aidé.

  11. Amine dit :

    Est-ce qu’on peut utiliser ce plugin en dehors de Jeedom ?

  12. domoggvad dit :

    Bonjour nechry
    Merci pour ce super tuto, je trouve que le zwave est moins stable qu’avant, certes plus rapide mais trop de bugs.
    une petite question:

    « ZAPI Find Dead Nodes » tu sauvegaardes vers une variable « ZWave_Nodes8death »

    Essayer de réanimer un nœud
    dans ton code : $nodeIds = array(107, 162, 141);
    pourrais remplacer par la variable et surtout comment l’écrire $nodeIds = array(ZWave_Nodes8death); ou $nodeIds = array(variable(ZWave_Nodes8death));

    merci

  13. domoggvad dit :

    ok j’ai pu récupérer comme ceci
    $tabJ = $scenario->getData(ZWave_Nodes_Death);
    $nodeIds = array($tabJ);
    maintenant s’il y’en plusieurs de dead, je ne sais pas si j’ai automatiquement la virgule entre les modules dans la variable ? exemple (120,130)

  14. Gregoire M dit :

    Hello Nechry,
    Merci pour le tuto 🙂 J’ai un petit souci sur mon Jeedom, il ne se passe rien quand je fais le ping… J’ai bien changé ma clé d’API et tout et tout.

    Si je fais un ping sur un équipement à pile sur lequel j’ai enlevé la pile, pour simuler une « panne », j’ai ce retour :

    [2019-01-08 20:36:12][SCENARIO] Start : Scenario lance manuellement.
    [2019-01-08 20:36:12][SCENARIO] Exécution du sous-élément de type [action] : code
    [2019-01-08 20:36:12][SCENARIO] Exécution d’un bloc code
    [2019-01-08 20:36:12][SCENARIO] Fin correcte du scénario

    Si je fais un ping sur un ID d’équipement qui n’existe pas, là j’ai un bon retour :

    [2019-01-08 20:35:40][SCENARIO] Start : Scenario lance manuellement.
    [2019-01-08 20:35:40][SCENARIO] Exécution du sous-élément de type [action] : code
    [2019-01-08 20:35:40][SCENARIO] Exécution d’un bloc code
    [2019-01-08 20:35:40][SCENARIO] ZAPI TestNode return an error: Unknow node id 69
    [2019-01-08 20:35:40][SCENARIO] Fin correcte du scénario

    Si je fais un ping sur un ID d’équipement présent et fonctionnel, idem je n’ai rien :

    [2019-01-08 20:36:12][SCENARIO] Start : Scenario lance manuellement.
    [2019-01-08 20:36:12][SCENARIO] Exécution du sous-élément de type [action] : code
    [2019-01-08 20:36:12][SCENARIO] Exécution d’un bloc code
    [2019-01-08 20:36:12][SCENARIO] Fin correcte du scénario

    Ai-je loupé quelque chose? Je mets le bloc de code de mon scénario :

    // Setup
    // Jeedom configuration/API/Clef API Z-Wave
    $apizwave = ‘Fxxxxxxx4DhxxxxxxxxxxxGpNicOxxxxxxxg6ZQ’;
    // the node Id to perform the ping
    $nodeId = 20;
    // End Setup

    $url = ‘http://127.0.0.1:8083/node?node_id=’ . $nodeId . ‘&type=action&action=testNode&apikey=’ . $apizwave;
    $contents = file_get_contents($url);
    //$scenario->setLog(‘Contents :’.$contents);
    $results = json_decode($contents);
    $success = $results->state;
    if ($success != ‘ok’) {
    $scenario->setLog(‘ZAPI TestNode return an error: ‘ . $results->result);
    }

    Merci de ton aide!

    • nechry dit :

      Salut Gregoire, petite chose à savoir tu ne peux pas simuler une panne sur un module sur pile. comme d’une façon ou d’une autre il dort et ne va pas répondre au ping immédiatement.
      Maintenant ton log retourne: « Unknow node id 69 » comme si tu testes le noeud 69 et non 20.

%d blogueurs aiment cette page :