Re: soigner le réseau
Publié : 16 août 2019, 18:31
Bonjour @Nik0,
réponse rapide pour ce post : non, cela n'a rien à voir. Il s'agit bien comme tu l'as souligné de paramètres recommandés par l'équipe Jeedom.
Concernant les noeuds "Unknown", il faut également faire disparaitre ces noeuds pour remettre ton réseau Z-Wave dans un état stable. Ces noeuds peuvent apparaitre lorsqu'une inclusion se passe mal. Il y a de multiples raisons pour qu'une inclusion se passe mal (exemple : le noeud que tu essais d'ajouter n'a presque plus de pile et se comporte mal, ou s'il est en limite de portée, ou si il est défectueux, et bien d'autres encore...).
Si tu ne souhaites pas conserver les commandes actuelles et les historiques de tes équipements, il te faut supprimer tous les équipements de ton plugin Z-Wave. C'est de loin le cas le plus rapide et simple.Mav3656 a écrit : ↑19 août 2019, 18:26- Le contrôleur ZWave possède la liste de tous les noeuds de son réseau. Il les connait par un numéro.
- Le plugin ZWave possède aussi la liste de tous les noeuds du réseau. On leur donne un nom, un objet, etc.
- le mapping entre les 2 est fait par le paramètre "Node ID".
Dans un réseau Z-Wave, seuls les noeuds secteurs participent au maillage du réseau Z-wave. Pour cette raison, je te conseille donc, quelque-soit la solution 1 ou 2 que tu choisisses de réaliser, de te concentrer dans un premier temps uniquement sur les noeuds secteurs. Lorsque tous les noeuds secteurs seront bien configurés, et à leur emplacement définitif, tu pourras alors t'occuper des noeuds sur piles.Mav3656 a écrit : ↑19 août 2019, 17:49
Ce dont il faut que tu tiennes compte lorsque tu positionnes un nœud à son endroit définitif : le module peut communiquer via un certain nombre de routes possibles (celles définies à l'inclusion). Il faut qu'il puisse communiquer, au moins par une route, lorsque tu l'éloignes pour le mettre à sa position définitive. Si ce n'est pas le cas, alors :
- il faut l'éloigner une première fois, sans le mettre à sa place définitive
- soigner CE NOEUD en particulier au sein du réseau (pas la peine de soigner tout ton réseau pour l'instant puisqu'il n'est pas à sa place définitive). - si ton noeud est sur pile, soit tu attends son prochain réveil, soit tu le réveilles manuellement pour ne pas avoir à attendre. Je te conseille de le réveiller manuellement une 2ème fois au moins pour être sûr que toutes les trames se sont bien échangées.
- regarde ensuite ta table de routage, si elle n'est pas symétrique, sois tu fais des "mises à jour des noeuds voisins" sur les lignes concernées pour que ta table devienne symétrique, soit tu redémarre ton démon Z-Wave (c'est + simple, même s'il faut attendre).
- à ce stade, tu dois avoir une table de routage symétrique. Tu répètes l'opération pour éloigner ton équipement vers son emplacement définitif autant de fois que nécessaire.
Les modules FLiRS ne participent pas au maillage. Le fait que des modules FLiRS soient voisins de ton node 68 leur permet de communiquer à d'autres modules, en passant par le node 68 => pas l'inverse. => le node 68 ne peut pas parler sur le réseau aux travers de tes équipements FLiRS et il ne le fera pas, c'est techniquement impossible.Nik0 a écrit : ↑27 août 2019, 10:10J'ai par exemple, le nœud 68, c'est celui qui me pose le plus de problèmes et qui est le plus loin du controlleur - environ 30m - avec des murs betons au milieu. Il communique correctement 1 fois sur 4.
Quand je regarde la liste des voisins, je remarque qu'il y a le controlleur 1 alors que cette route n'est pas bonne d'apres moi,
[...]
Est ce qu'il serait possible de supprimer le routage pour ces alarmes, histoire qu'elles soient utilisées comme les quelques autres modules a pile qui sont dans mon reseau ?
En effet, tu ne peux pas inclure de module si tu n'es pas à proximité de ces modules puisqu'il y a une manipulation manuelle à réaliser pour l'inclusion d'un module. D'ailleurs, j'ai oublié de le préciser dans mon précédant message mais il faut aussi faire un reset du module avant de pouvoir l'inclure à nouveau dans la solution n°2 (en effet, de son point de vue, il était déjà inclus à un contrôleur et il ne peut pas deviner que le contrôleur ne servira plus).
Je te renvoie vers mon premier message qui te donnait les éléments techniques pour réussir à faire ça (je ne remets pas tes compétences en cause, mais attends toi tout de même à y passer un peu de temps avant de comprendre les mécaniques), tout en te déconseillant très fortement de le faire.........je fais référence à ce message :
Autre point important : as-tu pris le temps de supprimer les nœuds "unknown" de ton réseau ? Je t'ai indiqué la marche à suivre ici :Mav3656 a écrit : ↑17 août 2019, 21:31Bonjour @Nik0,
Tu trouveras des informations de valeur pour réaliser cela à cet endroit : https://nechry-automation.ch/2018/06/07/api-restful/
[...]
Cependant, je te déconseille très fortement de soigner le réseau toutes les 3H.
Bonne fin de journée, et tiens nous au courant
Code : Tout sélectionner
// Setup
// Jeedom configuration/API/Clef API Z-Wave
$apizwave = 'YourAPIZWaveKey';
// End Setup
// call the network health endpoint
$url_health = 'http://localhost:8083/controller?type=action&action=healNetwork&apikey=' . $apizwave;
$content = file_get_contents($url_health);
//$scenario->setLog($content);
// get result as json
$results = json_decode($content, true);
$success = $results["state"];
if ($success != 'ok') {
$scenario->setLog('ZAPI controller healNetwork return an error: ' . $results["result"]);
}
Code : Tout sélectionner
// Setup
// Jeedom configuration/API/Clef API Z-Wave
$apizwave = 'YourAPIZWaveKey';
// the node Id to perform the ping
$nodeId = 13;
// End Setup
$url = 'http://127.0.0.1:8083/node?node_id=' . $nodeId . '&type=action&action=healNode&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);
}
Code : Tout sélectionner
// Setup
// Jeedom configuration/API/Clef API Z-Wave
$apizwave = 'YourZWaveAPIKey';
// the node Id to perform the ping
$randomChoice = function($array) {return $array[array_rand($array)];};
$input = [8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 33, 35, 36, 37, 38, 39, 43, 44, 45, 47, 50, 61, 64, 67, 68, 70, 71, 73, 74, 75, 76];
$nodeId = $randomChoice($input);
// End Setup
$url = 'http://127.0.0.1:8083/node?node_id=' . $nodeId . '&type=action&action=requestNodeNeighbourUpdate&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);
}