Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

Modules Dead

Retrouvez ici des sujets concernant le protocole Z-Wave et les modules domotiques de type Z-Wave utilisés avec JEEDOM
Francois
Helper
Messages : 72
Inscription : 23 mai 2015, 08:01

Modules Dead

Message par Francois » 05 nov. 2017, 12:42

Bonjour,
Depuis quelques temps , mes modules Fibaro Zwave passent régulièrement en DEAD . j'ai quelques ZMNHJA2 (fil pilote) + Oeil .
Un ping permet de les réactiver.
Cela fait suite à une mise à jour , car avant je n'avais jamais eu le soucis.

Comment solutionner ce problème qui bloque mes chauffages ?

Merci de votre aide

JLM67
Timide
Messages : 8
Inscription : 29 sept. 2015, 12:28

Re: Modules Dead

Message par JLM67 » 14 nov. 2017, 06:34

Bonjour
J ai exactement les mêmes soucis
Une idée ....?



Envoyé de mon SM-T800 en utilisant Tapatalk


Bosquetia
Actif
Messages : 6783
Inscription : 10 mai 2016, 07:54

Re: Modules Dead

Message par Bosquetia » 14 nov. 2017, 07:18

Bonjour

Nous devons donc deviner la version de Jeedom et du plugin que vous utilisez ?
En l'état messieurs soyons sérieux comment voulez vous que l'on vous aide au vu de ce que vous dites ?

anto35
Timide
Messages : 376
Inscription : 10 juil. 2015, 21:17

Re: Modules Dead

Message par anto35 » 14 nov. 2017, 13:06

Je suis sur la dernière version de Jeedom et du plugin zwave.

J'ai remarqué un souci qui pourrait à mon avis être directement lié au vôtre. Ca fait plusieurs fois que lorsque j'inclus des modules sur piles, Jeedom les voit comme des modules alimentés. Ca met pas ma le bazar et Le plugin openzwave met 3 plombes à démarrer.

Une seconde inclusion a résolu le problème pour moi dans tous les cas. Mais ça a été un peu fastidieux.

Avatar de l’utilisateur
Bonson
Timide
Messages : 385
Inscription : 23 janv. 2016, 22:40

Re: Modules Dead

Message par Bonson » 29 nov. 2017, 20:09

Hello,

Même problème pour moi : depuis une semaine l'actionneur ASR-ZW de ma PAC (et juste lui) passe en DEAD quasiment tous les jours sans raison particulière (apparemment), et un ping le réveille sans problème.
Je suis en Jeedom 3.1.7 et plugin Zwave du 26/9/17 (dernier en vigueur). Rien dans l'installation n'a été modifié récemment, donc je ne pense pas que ce soit un problème de portée, ça fonctionnait bien avant.

Bonson

gblais77
Timide
Messages : 10
Inscription : 01 févr. 2016, 14:10

Re: Modules Dead

Message par gblais77 » 11 déc. 2017, 11:45

Bonjour,

j'ai le même problème: Jeedom + OpenZwave à jour => les modules sur secteur tombent en Dead et un ping les réssucites.
Pour pallier à ce problème j'ai suivi ce post: viewtopic.php?f=34&t=28118&p=491396&hilit=ping#p491396

1) créer une commande "PING" sur chaque module secteur
Openzwave.jpg
Openzwave.jpg (24.72 Kio) Consulté 2179 fois
2) créer un scénario qui ping les modules tous les X temps (toutes les 15 minutes par exemple)

Avatar de l’utilisateur
Bonson
Timide
Messages : 385
Inscription : 23 janv. 2016, 22:40

Re: Modules Dead

Message par Bonson » 11 déc. 2017, 12:49

De mon côté, sur les conseils de plusieurs autres threads, j'ai créé un script avec le code suivant, pour le module concerné par les passages en DEATH :

Code : Tout sélectionner

http://localhost:8083/node?apikey=monapikey&node_id=20&type=action&action=testNode
J'appelle ce script via un scenario toutes les heures. Depuis, tout fonctionne bien.

yoda
Timide
Messages : 180
Inscription : 27 oct. 2017, 11:51

Re: Modules Dead

Message par yoda » 30 janv. 2018, 17:41

Bonsoir,

Pour ma part, je pensais avoir réglé le problème en déplaçant le module mais ça recommence... et de façon quotidienne.

J'ai mis à jour le plugin zwave, j'ai donc la version du 22-01-2018 et la version 3.0 de jeedom.

Je voudrais donc comme vous créer un scénario qui ping le module soit de façon régulière soit uniquement quand le module passe dead.

J'ai crée la commande dans le module :
Image

Quand je clique sur tester, j'obtiens Action exécutée avec succès.

Je voulais avoir confirmation, le seul fait d'ajouter type=setvalue&value=0 dans commande permet de pinger le module ?

Mais comment déclencher le scénario au changement de statut (uniquement si il est considéré comme dead) ?

Merci

Avatar de l’utilisateur
Bonson
Timide
Messages : 385
Inscription : 23 janv. 2016, 22:40

Re: Modules Dead

Message par Bonson » 30 janv. 2018, 21:47

Hello,
On peut faire un script pour pinger régulièrement les modules qui sont dead.
Script http de type action : http://localhost:8083/node?apikey=maclé ... n=testNode

yoda
Timide
Messages : 180
Inscription : 27 oct. 2017, 11:51

Re: Modules Dead

Message par yoda » 30 janv. 2018, 22:16

Bonson a écrit :Hello,
On peut faire un script pour pinger régulièrement les modules qui sont dead.
Script http de type action : http://localhost:8083/node?apikey=maclé ... n=testNode
Oui ça fonctionne aussi. Mais comment déclencher ce script uniquement quand les modules sont dead ? Et pas toutes les heures ou toutes les 10 minutes.

Merci

Avatar de l’utilisateur
Bonson
Timide
Messages : 385
Inscription : 23 janv. 2016, 22:40

Re: Modules Dead

Message par Bonson » 30 janv. 2018, 22:48

De mon point de vue, mieux vaut prévenir que guérir. Je préfère que le script soit lancé une fois par heure, ce qui consomme très très peu de ressources, plutôt qu'avoir un module dead et devoir réagir.

Avatar de l’utilisateur
tomdom
Actif
Messages : 925
Inscription : 14 nov. 2016, 05:46

Re: Modules Dead

Message par tomdom » 31 janv. 2018, 07:13

Bonjour,

Personnellement j'utilise un scénario programmé toute les 1/2h avec un bloc code qui teste le nœud et le soigne au besoin.

Code : Tout sélectionner

$url='http://localhost:8083/node?node_id=ID_NODE&type=info&info=getHealth&apikey=APIKEYZWAVE';

$contents = file_get_contents($url); 
$contents = utf8_encode($contents); 
$results = json_decode($contents);
if ($results->result->last_notification->code!=2) {
  $scenario->setLog("État du noeud : ".$results->result->last_notification->description." Je le soigne");
  $url='http://localhost:8083/node?node_id=ID_NODE&type=action&action=testNode&apikey=APIKEYZWAVE';
  file_get_contents($url);	
}
else {
  
  $scenario->setLog("État du noeud : ".$results->result->last_notification->description);
}
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

gblais77
Timide
Messages : 10
Inscription : 01 févr. 2016, 14:10

Re: Modules Dead

Message par gblais77 » 18 févr. 2018, 21:34

Voila un bloc code qui:
1) récupère la liste des modules sur secteur
2) récupère les modules "dead" de la liste 1
3) ping les modules "dead" de la liste 2

Je l'execute toutes les 5 minutes.

Code : Tout sélectionner

//**********************************************************
// Parameters
//**********************************************************
$API_Key = 'CLE_API_ZWAVE';
$Ping_Wait = 15;
//**********************************************************


//**********************************************************
// Get list of all elements on sector
//**********************************************************
$scenario->setLog('**********************************************************');
$scenario->setLog('***** Get list *****');
$scenario->setLog('**********************************************************');
$url_GetInfo = 'http://localhost:8083/network?apikey=' .$API_Key .'&type=info&info=getNodesList';
$Alim_List = array();
$ToPing_List = array();

$content = (file_get_contents($url_GetInfo));
$All_Info = json_decode($content, true);
$All_node = $All_Info["result"]["devices"];

foreach($All_node as $key => $value){
	$Alim = $value["capabilities"]["isListening"];
	$Controller = $value["description"]["is_static_controller"];
	if(($Alim == 1) and ($Controller != 1)){
		$test = $value["description"]["product_name"];
		$Alim_List[] = $key;
	}
}
$scenario->setLog('Number of elements: ' .count($Alim_List));
//**********************************************************


//**********************************************************
// Get health of a list of elements
//**********************************************************
$scenario->setLog('**********************************************************');
$scenario->setLog('***** Health *****');
$scenario->setLog('**********************************************************');
foreach($Alim_List as $id){
	// $scenario->setLog('Module :'.$id);   
	$url_health = 'http://localhost:8083/node?apikey=' .$API_Key .'&node_id=' .$id .'&type=info&info=getHealth';
	$Node_health_tmp = file_get_contents($url_health);
	$Node_health = json_decode($Node_health_tmp);
	if ($Node_health->result->data->isFailed->value){
		$scenario->setLog('Module :'.$id .' is on error');	
		$ToPing_List[] = $id;
	}
	else{
		//$scenario->setLog('no problem for Module ' .$id);
	}
}
//**********************************************************


//**********************************************************
// Ping a list of elements
//**********************************************************
$scenario->setLog('**********************************************************');
$scenario->setLog('***** Ping *****'); 
$scenario->setLog('**********************************************************');
foreach($ToPing_List as $id){
	$scenario->setLog('Ping Module :'.$id);   
	$url_ping = 'http://localhost:8083/node?apikey=' .$API_Key .'&node_id=' .$id .'&type=action&action=testNode';
	file_get_contents($url_ping);
  	sleep($Ping_Wait);
}
//**********************************************************

teji
Timide
Messages : 17
Inscription : 04 nov. 2017, 09:02

Re: Modules Dead

Message par teji » 04 mai 2018, 10:23

Bonjour,
J'ai le même problème, et j'ai (beaucoup) cherché....
chez moi, le problème se produit sur un wall plug fibaro. j'ai remplacé par un neocoolcam, idem.... pas la marque donc.
ce qui est bizarre, c'est que le module qui tombe dead tout le temps est un module qui change on/off toutes le 2 minutes (via script).
Les autres modules ne sont jamais dead....
j'avais trouvé via google un message dans ce forum qui en parlait ( viewtopic.php?t=23706 ) qui disait : "[Résolu] Wall plug fibaro régulièrement en dead après ON/OFF ..."
mais le lien ne va plus ... :-( dommage !
chez moi, quand c'est dead, c'est dead !! "reparer", ou pinger ne sert à rien. mort, c'est mort. il faut exclure et ré-inclure. et là, la dernière fois, j'ai vu un très bon élément pour AIDER les développeurs du plugin zwave : quand c'est dead et que j'exclu, jeedom l'exclu en me disant "id X est exclu"... or mon module n'avait pas l'id X !!!! on dirait donc qu'il est dead parce que jeedom "aurait" changé son id dans la DB !
Je suis en train de faire de nouveaux tests. avec le neo et le fibaro dans le mm script, mais à portée directe du controlleur, en effet, ils sont à 1 ou 2 noeuds du controlleur quand ils passent dead.
je vais aussi essayer de me connecter dur la DB, de faire re-planter et de vérifier cette info d'ID qui changerait....


pour résumer, à ce stade et au conditionnel, je dirais que mon problème se produit :
-sur des éléments sur lesquels on fait des ON/OFF fréquents,
-sur des éléments "distants" dans le réseau (1 saut ou 2)
-que cela semble changer l'ID du noeud dead dans la db de jeedom.

en espérant être lu et que ça aide la communauté !

Avatar de l’utilisateur
nechry
Actif
Messages : 9644
Inscription : 24 juin 2014, 20:07
Localisation : Suisse
Contact :

Re: Modules Dead

Message par nechry » 07 mai 2018, 17:02

pour certains modules, il faut utiliser l'action "Envoyer Information du Noeud" pour arriver à soigner un module défaillant. Sinon il y a aussi l'action Remplacer Noeud défaillant comme expliqué ici:
https://nechry-automation.ch/2017/08/28/remplacer-node/
L'avantage ici c'est que si vraiment il faut réinclure le module tu conserves tes commandes existante sans devoir refaire les scénarios ou autres adaptations
As-tu consulté la documentation avant de poser ta question?
Les demandes de support en MP ne seront pas traité mais j'accepte les dons paypal.me/nechry
Visiter mon blog http://nechry-automation.ch/

MaxBlack
Timide
Messages : 23
Inscription : 07 août 2017, 15:59

Re: Modules Dead

Message par MaxBlack » 09 mai 2018, 14:57

Top génial ton code gblais77 !
On peut enfin vérifier les nœuds mort (du moins ceux sur secteur c'est déjà bien)

Depuis le temps que je chercher. (chose qui était simple sur ma HC2)

Comment envoyer le nom du module mort pas sms (via plugins free sms) ou par mail (plugins Mail) ?

Merci et encore bravo. Je cherche mais code http c'est pas mon truc :D
Jeedom Docker QNAP + clé zwave :
(28 x Fibaro, 1 x Qubino, 6 x TKB, 1 x Everspring, 1 x FortrezZ, 2 x NodOn, 3 x Aeotec, 1 x Zipato, 1 x Horstemann, 1 x GH mini)

MaxBlack
Timide
Messages : 23
Inscription : 07 août 2017, 15:59

Re: Modules Dead

Message par MaxBlack » 09 mai 2018, 16:17

J'ai avancé en rajoutant ceci.

Code : Tout sélectionner

  	$msg = "Noeud%20mort%20:%20".$id;
  	$url_msg = 'https://smsapi.free-mobile.fr/sendmsg?user='.$user.'&pass='.$pass.'&msg='.$msg.'';
  	file_get_contents($url_msg);
  	sleep($Ping_Wait);
Cela me renvoi via sms free l'id du module dead.

Reste à trouver comment depuis l'id du module DEAD (.$id) avoir son nom (ex : Salon-Lampe) ?
Là je sèche !
Jeedom Docker QNAP + clé zwave :
(28 x Fibaro, 1 x Qubino, 6 x TKB, 1 x Everspring, 1 x FortrezZ, 2 x NodOn, 3 x Aeotec, 1 x Zipato, 1 x Horstemann, 1 x GH mini)

Avatar de l’utilisateur
tomdom
Actif
Messages : 925
Inscription : 14 nov. 2016, 05:46

Re: Modules Dead

Message par tomdom » 09 mai 2018, 17:11

Bonjour,
MaxBlack a écrit :
09 mai 2018, 16:17
Reste à trouver comment depuis l'id du module DEAD (.$id) avoir son nom (ex : Salon-Lampe) ?
Tu as l'information dans :

Code : Tout sélectionner

$Node_health->result->data->description->name
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

MaxBlack
Timide
Messages : 23
Inscription : 07 août 2017, 15:59

Re: Modules Dead

Message par MaxBlack » 09 mai 2018, 17:55

Parfait, je te remercie.

Pour ceux que ça intéresse:

Code : Tout sélectionner

if ($Node_health->result->data->isFailed->value){
		$scenario->setLog('Module'.$id .' en erreur - '.$Node_health->result->data->description->name);
      	$ToPing_List[] = $id;	
      	//Envoi SMS
   		$msg = "Module ".$id." en erreur - ".$Node_health->result->data->description->name;
		$msg = str_replace(' ', '%20', $msg);      
  		$url_msg = 'https://smsapi.free-mobile.fr/sendmsg?user='.$user.'&pass='.$pass.'&msg='.$msg.'';
  		file_get_contents($url_msg);
    }
 
Jeedom Docker QNAP + clé zwave :
(28 x Fibaro, 1 x Qubino, 6 x TKB, 1 x Everspring, 1 x FortrezZ, 2 x NodOn, 3 x Aeotec, 1 x Zipato, 1 x Horstemann, 1 x GH mini)

gblais77
Timide
Messages : 10
Inscription : 01 févr. 2016, 14:10

Re: Modules Dead

Message par gblais77 » 22 mai 2018, 10:50

Voici un bout de code pour tester les modules zWave sur piles et renseigne les modules en erreur dans une variable:
il considère le module en erreur si il n'a pas communiqué depuis 2 fois son Wake-Up Interval (on autorise un problème de communication ponctuel).

Code : Tout sélectionner

//**********************************************************
// Parameters
//**********************************************************
$API_Key = 'CLE_API_ZWAVE;
$time_now = time();
//**********************************************************


//**********************************************************
// Get list baey element on error
//**********************************************************
$scenario->setLog('**********************************************************');
$scenario->setLog('***** Get list *****');
$scenario->setLog('**********************************************************');
$url_GetInfo = 'http://localhost:8083/network?apikey=' .$API_Key .'&type=info&info=getHealth';
$Error_Module = array();

$content = (file_get_contents($url_GetInfo));

$All_Info = json_decode($content, true);
$All_node = $All_Info["result"]["devices"];

//$scenario->setLog($content);

foreach($All_node as $Array_Key => $Array_value){
	$Alim = $Array_value["data"]["isListening"]["value"];
	if(($Alim == 0)){
		$Last_Info = $Array_value["data"]["lastReceived"]["updateTime"];
		$Wakeup_Interval = $Array_value["data"]["wakeup_interval"]["value"];
      	if(($Last_Info + ($Wakeup_Interval * 2)) < $time_now){
        	$scenario->setLog('Module :'.$Array_Key .' is on error' );
         												 $Module_Name = $Array_value["data"]["description"]["name"];
         												 $scenario->setLog('Module :'.$Module_Name .' is on error' );
          	$Error_Module[] = $Array_Key;
        }
	}
}

//**********************************************************
// Set variable for the next steps of the scenario
//**********************************************************
$scenario->setData("zWave_ModuleError_01", implode(',', $Error_Module));

Répondre

Revenir vers « [Plugin Officiel] Z-Wave »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité