Démarrer scénario si réseau Zwave status « driver ready » ou « scan done »

Bonjour,

Est-il possible de démarrer un scénario seulement si le réseau Zwave est en « driver ready » ou « scan done » ?

Car lorsque je reboot ma box, j’ai des scénarios qui démarrent au démarrage de Jeedom (pour si jamais il y a des scénarios qui ont loupés leurs exécutions durant la période d’indisponibilité de Jeedom) et qui exécutent des actions sur les devises Zwave. Sauf que mon réseau mets quelques minutes à initialiser. J’ai donc des erreurs de logs du genre :

« Erreur exécution de la commande [Modules Zwave][ZW-Lum-Esc][On] : Echec de la requête HTTP : http://127.0.0.1:55035/publish?apikey=xxx cURL error : Failed to connect to 127.0.0.1 port 55035: Connection refused »

Car le réseau Zwave est en en cours d’initialisation et donc non prêt.

Merci pour vos astuces.

Salut
tu peux ajouter un ‹ DANS 5min › au début du scénario le temps que le zwave démarre. Çà devrait contourner le pb.

Il faut alors mettre tout le ou les blocs de ton scenario dans ce bloc DANS

Ou pour plus de lisibilité écrire un scénario de démarrage qui ne fasse qu’un DANS 5 qui lance les scénarios initiaux.

c’est ce que j’avais. ce scénario démarrait les scénarios initiaux seulement quand le zwavez était opérationnel. S’était bien pratique.

Sauf qu’avec le pluging Zwave JS, je ne sais pas si on peut récupérer l’état du réseau, comme je le faisais avec le plugin open-zwave.

Avec l’API MQTT et getInfo.

Résultat sur mon installation.

{"success":true,"message":"Success zwave api call","result":{"homeid":xxxxxxxxxx,"name":"0xxxxxxxxx","controllerId":1,"uptime":1601406.080556654,"status":"scan done","cntStatus":"Scan completed","appVersion":"9.5.1.e4c1eb5","zwaveVersion":"12.4.0","serverVersion":"1.33.0"},"args":[],"origin":{"args":[]}}

Bonjour,

Merci ! :+1:

Je n’ai pas eu le temps de tester, mais ready ne serait pas plus pertinent que getInfo dans ce cas précis ?

Tu pourrais faire un test (je ne suis pas devant mon pc) stp ?

Je ne trouve pas ready dans l’API MQTT, as-tu le lien de ta page internet ?

Sinon, il me semble que driver ready est avant scan completed.

Dans la partie api driver : Z-Wave JS - Z-Wave driver written entirely in JavaScript/TypeScript
Sachant qu’on peut appeler l’api via mqtt comme avec ton getInfo.

Tu as raison en effet : le scan est après le driver ready. Mais comme c’est rapide on pourrait rajouter dans le scénario un sleep pour attendre la fin du scan. Ou alors allNodesReady ?

Pas mal tout ceci !

Comment on peut scripter ceci pour récupérer les info ?

Directement avec le plugin-jmqtt ou sinon voir si ce n’est pas déjà disponible ou pourrait être disponible avec le plugin-zwavejs (que je n’utilise pas).

1 « J'aime »

Bonjour,

Mes propositions ne fonctionnent pas après test. J’ai dû mal comprendre la documentation qui laissait penser que je pouvais appeler n’importe quelle api via mqtt.

Donc il reste getInfo comme proposé par @Jeandhom

On peut utiliser cette proposition de quelle manière dans un scénario ?

Avec le plugin-jmqtt, il faut créer une commande action et une commande info.

Avec ton scénario, tu lances la commande action et tu agis après en fonction du résultat de la commande info.

EDIT : suite à la précision de @Madcow :

Pour les utilisateurs du plugin-zwavejs :

Topic commande action
zwave/_CLIENTS/ZWAVE_GATEWAY-jeedom/api/getInfo/set

Topic commande info
zwave/_CLIENTS/ZWAVE_GATEWAY-jeedom/api/getInfo

5 « J'aime »

Dans le cas du plugin zwavejs, je précise que cela sera ZWAVE_GATEWAY-jeedom dans le topic.

1 « J'aime »

On peut faire cela avec MQTT manager ?

Depuis le plugin ZwaveJS on fait cela comment ?

Je suis un peu largué…

Je n’ai pas réussi à remonter l’info avec mqtt manager, je ne sais pas pourquoi.

Regarde le post de @Jeandhom.
Il faut installer le plugin-jmqtt.

Cela doit être possible, mais je ne sais pas faire.

Qu’as-tu fait ?