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

Script Vérification Modules ZWave

Réservé à l'utilisation et la programmation de scripts dans JEEDOM
Avatar de l’utilisateur
Bonson
Timide
Messages : 385
Inscription : 23 janv. 2016, 22:40

Re: Script Vérification Modules ZWave

Message par Bonson » 01 déc. 2017, 20:49

+1 :-)

spark
Actif
Messages : 514
Inscription : 10 févr. 2016, 22:30

Re: Script Vérification Modules ZWave

Message par spark » 28 janv. 2018, 17:54

Bonsoir, je ressort ce sujet pour savoir si quelqu'un a réussit a obtenir un script pour suivre l’état du réseau Zwave?

Avatar de l’utilisateur
Shyrka973
Actif
Messages : 555
Inscription : 18 août 2014, 18:17
Localisation : Kourou / Guyane

Re: Script Vérification Modules ZWave

Message par Shyrka973 » 29 janv. 2018, 00:21

Salut,
Si tu cherche un script pour connaître l’état du réseau ZWave, j’ai refait mon premier script pour le moteur ZWave actuel.
Recherche mes posts pour le trouver. Avec Tapatalk, je ne vais pas pouvoir le retrouver facilement.

Tiens moi au courant s’il fonctionne pour toi.


Envoyé de mon iPhone en utilisant Tapatalk
DIY Proxmox 5.1 / i3-6100U @ 2.30GHz / 4Go RAM / 128 Go SSD : Jeedom 3.2.12 - Stretch
Protocol: Z-Wave, EnOcean, RFXtrx433E, Xiaomi, BLEA, MQTT, ESPeasy, Jeeduino, Abeille

extrapitou
Actif
Messages : 1332
Inscription : 27 juin 2015, 21:53
Localisation : Dijon

Re: Script Vérification Modules ZWave

Message par extrapitou » 29 janv. 2018, 09:49

Trouvé : viewtopic.php?t=26197

Envoyé depuis mon Mobicarte (Si Si jvous jure !!!)

Mon Matos

Mon Blog où vous trouverez des astuces et tutos Tasker/Jeedom
Mon alarme sous Jeedom
Tuto pour la Gestion de la présence

AleiZ
Timide
Messages : 24
Inscription : 23 août 2018, 21:54

Re: Script Vérification Modules ZWave

Message par AleiZ » 25 août 2018, 23:39

J'ai mis le script mais j'ai l'erreur suivante:

Résultat de la commande : PHP Warning: Invalid argument supplied for foreach() in /var/www/html/plugins/script/core/ressources/zwaveHealth.php on line 99
0 modules HS:

Vous connaissez ?

lguezennec
Timide
Messages : 89
Inscription : 04 juil. 2014, 21:23

Re: Script Vérification Modules ZWave

Message par lguezennec » 26 août 2018, 09:56

Bonjour,

Tu trouveras peut-être une explication dans le billet suivant https://nechry-automation.ch/2018/06/07/api-restful/, mais surtout une solution alternative détaillée pour ton besoin (et d'autres).

AleiZ
Timide
Messages : 24
Inscription : 23 août 2018, 21:54

Re: Script Vérification Modules ZWave

Message par AleiZ » 26 août 2018, 12:02

Je pense que je vais regarder et coder un truc qui colle avec mon besoin :)

cybersquat
Timide
Messages : 35
Inscription : 30 avr. 2017, 12:02

Re: Script Vérification Modules ZWave

Message par cybersquat » 08 juil. 2019, 23:19

Bonsoir à tous,

je réveil le sujet :), je suis débutant et j'ai testé l'ensemble de la configuration comme précisé en page une, mais je n'ai rien, y a t-il un exemple à faire ?

Merci de votre aide
AL

winhex
Actif
Messages : 3781
Inscription : 23 janv. 2015, 01:41

Re: Script Vérification Modules ZWave

Message par winhex » 14 juil. 2019, 02:04

bonjour j'ai repris un script (de mémoire de @nechry)
vérifie le port du serveur dans la config zwave
ta clef api dans configuration
et l'accés api activé

Code : Tout sélectionner

// Setup
// Jeedom configuration/API/Clef API Z-Wave
$apizwave = 'xxxxx';
// End Setup

$url_health = 'http://localhost:8085/network?type=info&info=getHealth&apikey=' . $apizwave;
$content = (file_get_contents($url_health));
$scenario->setLog($content);
$results = json_decode($content, true);
$success = $results["state"];
if ($success != 'ok') {
    $scenario->setLog('ZAPI network getHealth return an error: ' . $results["result"]);
} else {
    // get the full node list
    $devices = $results["result"]["devices"];
    $node_errors = array();
    foreach ($devices as $node_id => $node_values) {
      
      
                $scenario->setLog($node_id);
        $isFailed = $node_values["data"]["isFailed"]["value"];
        // device can be disabled from jeedom
        $enabled = $node_values["data"]["is_enable"]["value"];
      
        if ($enabled & $isFailed) {
            if (count($node_errors) == 0) {
                $scenario->setLog('****** These nodes are presumed dead ******');
            }
            // get the name of the device
            $node_name = $node_values["data"]["description"]["name"];

            // add a log entry
            $scenario->setLog('NodeId ' . $node_id . ' ' . $node_name);
            // add nodeId to the node list
            $node_errors[] = $node_id;
        }
    }
    if (count($node_errors) != 0) {
        $scenario->setLog('*******************************************');
    }
    // save nodes list for external processing
    $scenario->setData("ZWave_Nodes_Death", implode(',', $node_errors));
}
dans le log au lancement tu dois avoir
[2019-07-14 01:57:01][SCENARIO] Start : Scenario lance manuellement.
[2019-07-14 01:57:01][SCENARIO] Exécution du sous-élément de type [action] : code
[2019-07-14 01:57:01][SCENARIO] Exécution d'un bloc code
[2019-07-14 01:57:02][SCENARIO] {"state": "ok", ...........
[2019-07-14 01:57:02][SCENARIO] 64
[2019-07-14 01:57:02][SCENARIO] 1
[2019-07-14 01:57:02][SCENARIO] 67
[2019-07-14 01:57:02][SCENARIO] 69
[2019-07-14 01:57:02][SCENARIO] 9
[2019-07-14 01:57:02][SCENARIO] 10
[2019-07-14 01:57:02][SCENARIO] ****** These nodes are presumed dead ******
[2019-07-14 01:57:02][SCENARIO] NodeId 10 10FGS-212 Simple Charge Telerupteur
[2019-07-14 01:57:02][SCENARIO] 11
[2019-07-14 01:57:02][SCENARIO] 76
[2019-07-14 01:57:02][SCENARIO] 47
[2019-07-14 01:57:02][SCENARIO] 48
[2019-07-14 01:57:02][SCENARIO] 49
[2019-07-14 01:57:02][SCENARIO] 50
[2019-07-14 01:57:02][SCENARIO] 52
[2019-07-14 01:57:02][SCENARIO] 54
[2019-07-14 01:57:02][SCENARIO] 55
[2019-07-14 01:57:02][SCENARIO] 42
[2019-07-14 01:57:02][SCENARIO] 62
[2019-07-14 01:57:02][SCENARIO] *******************************************
et une variable ZWave_Nodes_Death avec l'id de module death soit 10 pour moi

il y a aussi un script pour les
"Modules de batterie qui ne se sont pas réveillés comme prévu"

Avatar de l’utilisateur
Antoinekl1
Actif
Messages : 3925
Inscription : 23 mai 2015, 08:14

Re: Script Vérification Modules ZWave

Message par Antoinekl1 » 14 juil. 2019, 09:09


winhex a écrit :bonjour j'ai repris un script (de mémoire de @nechry)

il y a aussi un script pour les
"Modules de batterie qui ne se sont pas réveillés comme prévu"
Ça m'intéresse ce script, j'ai un soucis avec 2 capteurs de niveau d'eau

Tu sais où je pourrais le trouver
JEEDOM Smart Ultimate + 40 modules zwave
A vendre ; pack POWER jeedom - Jeedom Mini+ - Console Clazio sous Android 6

winhex
Actif
Messages : 3781
Inscription : 23 janv. 2015, 01:41

Re: Script Vérification Modules ZWave

Message par winhex » 14 juil. 2019, 12:08

sur son site
https://nechry-automation.ch/2018/06/07/api-restful/
pour ton info il est un des anciens createurs/participant du plug

je lui ai signalé que son site bug
en attendant

Code : Tout sélectionner

// Setup
// Jeedom configuration/API/Clef API Z-Wave
$apizwave = 'Xxx';
// End Setup

$time_now = time();
$url_health = 'http://localhost:8085/network?type=info&info=getHealth&apikey=' . $apizwave;
$content = (file_get_contents($url_health));
//$scenario->setLog($content);
$results = json_decode($content, true);
$success = $results["state"];

if ($success != 'ok') {
    $scenario->setLog('ZAPI network getHealth return an error: ' . $results["result"]);
} else {
    // get the full node list
    $devices = $results["result"]["devices"];
    $node_errors = array();
    foreach ($devices as $node_id => $node_values) {
        // listening devices work on sector
        $isListening = $node_values["data"]["isListening"]["value"];
        // device can be disabled from jeedom
        $enabled = $node_values["data"]["is_enable"]["value"];
        // test only if node is enable and is battery powered
        if ($enabled & $isListening == 0) {
            // get the wake up interval
            $wakeup_interval = $node_values["data"]["wakeup_interval"]["value"];
            if ($wakeup_interval == 0) {
                // this device never wakeup by itself, continue
                continue;
            }
            // check last notification received for this node
            $next_wakeup = $node_values["data"]["wakeup_interval"]["next_wakeup"];
            // check if node didn't wakeup as expected.
            if ($next_wakeup < $time_now) {
                // special case if the device is currently mark as awake
                $isAwake = $node_values["data"]["isAwake"]["value"];
                if ($isAwake) {
                    $last_notification = $node_values["last_notification"]["receiveTime"]["value"];
                    // check if the node has been awake for more than 5 minutes
                    if ($last_notification + 300 < $time_now) {
                        // this node seems awake for too long, we're going to ping
                        $url = 'http://localhost:8085/node?node_id=' . $node_id . '&type=action&action=testNode&apikey=' . $apizwave;
                        file_get_contents($url);
                        continue;
                    }
                }
                if (count($node_errors) == 0) {
                    $scenario->setLog('****** Battery modules that have not woken up as expected ******');
                }
                // get the name of the device
                $node_name = $node_values["data"]["description"]["name"];
                // add a log entry
                $scenario->setLog('NodeId ' . $node_id . ' ' . $node_name);
                // add nodeId to the node list
                $node_errors[] = $node_id;
            }
        }
    }
    if (count($node_errors) != 0) {
        $scenario->setLog('****************************************************************');
    }
    // save nodes list for external processing
    $scenario->setData("ZWave_Nodes_Wakeup_Error", implode(',', $node_errors));
}
idem que l autres script
avec sa variable de créé
en plus ça tente un réveil

c'est lié au wakeup
hier jen avait 2
aujourd'hui un autre
mais ça n'a rien à voir avec la dernière remonté d info

si tu decommentes
setlog content
tu lances le scénario
tu mets en pause le log
tu récupères cette ligne dans un fichier texte
tu as tous se qu'il faut pour récupérer un tas d info (a la sauce json)
je my suis amusé hier pour une dernière remonté mais l api jeedom (lastCommunication) est plus fiable pour un de mes modules. bizarreries !
exemple

Code : Tout sélectionner

// a voir https://jeedom-facile.fr/index.php/2018/12/18/la-surveillance-de-vos-equipements-domotiques/
// https://www.jeedom.com/forum/viewtopic.php?f=32&t=37319&p=617174&hilit=eqLogic%3A%3AbyString#p617174
$equipements = array(                   
"#[Zwave][Universal Relay Hotte Escamotable][Etat 1]#",                    
"#[Zwave][Universal Relay Sonnette Chaudieres][Sonnette]#",
"#[Zwave][Built In Dimmer VMC][Etat]#"

);
$maintenant = (new DateTime(date("Y-m-d H:i:s")));
$valeurfin = ($maintenant->format('Y-m-d H:i:s'));
$valeurfin2 = ($maintenant->getTimestamp());

$scenario->setLog("maintenant : $valeurfin timestamp : $valeurfin2");

foreach ($equipements as $equipement) {
	$cmd = cmd::byString($equipement);
	$idEquipt = $cmd->getEqLogic_id();

	$equipt=eqLogic::byId($idEquipt);
  
	$nomEquipement = $equipt->getName();
	$valeurdbt= $equipt->getStatus('lastCommunication');
  
// 1er methode différence delta
	$delta = gmdate("H:i:s",strtotime($valeurfin) - strtotime($valeurdbt));
  
// 2eme methode difference timestamp
  	$temp_difftime = ($valeurfin2 - (new DateTime($valeurdbt))->getTimestamp());
  	$scenario->setLog("-----------------------------------------------------");
	$scenario->setLog("Nom du device : $nomEquipement id : $idEquipt");
	$scenario->setLog("dernière communication : $valeurdbt différence : $delta secondes : $temp_difftime");
  $scenario->setData($nomEquipement."_LastCom", $temp_difftime);
  }
bonne lecture
https://nechry-automation.ch/2017/08/14 ... -partie-3/

il a mis ses script sur github
https://github.com/nechry/ZWave-RESTfull-API-samples

Avatar de l’utilisateur
Antoinekl1
Actif
Messages : 3925
Inscription : 23 mai 2015, 08:14

Re: Script Vérification Modules ZWave

Message par Antoinekl1 » 14 juil. 2019, 13:01

Super je vais regarder ça

J'ai des soucis avec 2 modules de niveau d'eau aeotec dsb45 qui remontent mal leur etat

Ces scripts tu les mets bien dans un fichier en extension php et tu ajoutes les balises PHP de début et fin ?
JEEDOM Smart Ultimate + 40 modules zwave
A vendre ; pack POWER jeedom - Jeedom Mini+ - Console Clazio sous Android 6

winhex
Actif
Messages : 3781
Inscription : 23 janv. 2015, 01:41

Re: Script Vérification Modules ZWave

Message par winhex » 14 juil. 2019, 15:04

je préfère la fonction
scenario code (log, classement, ...)

sinon à faire l'apel api

Avatar de l’utilisateur
Antoinekl1
Actif
Messages : 3925
Inscription : 23 mai 2015, 08:14

Re: Script Vérification Modules ZWave

Message par Antoinekl1 » 14 juil. 2019, 20:42

winhex a écrit :
14 juil. 2019, 15:04
je préfère la fonction
scenario code (log, classement, ...)

sinon à faire l'apel api
Oui c'est mieux en effet

Par contre ca me donne pas plus d'info que ce que me donne le plugin zwave de base
Et ça ne éveil pas plus mes 2 modules aeotec de m....
JEEDOM Smart Ultimate + 40 modules zwave
A vendre ; pack POWER jeedom - Jeedom Mini+ - Console Clazio sous Android 6

winhex
Actif
Messages : 3781
Inscription : 23 janv. 2015, 01:41

Re: Script Vérification Modules ZWave

Message par winhex » 14 juil. 2019, 21:33

this node seems awake for too long, we're going to ping
je ne peux pas faire plus
--
c'est pour scénarisé, en prenant en compte voir en faisant une info t'avisant d'un soucis.
si c'est pas fiable passe à un autre modèle, ou change de protocole
soit tu recycles pour un autre besoin ou tu revends. la porté est peut être trop loin

Avatar de l’utilisateur
Antoinekl1
Actif
Messages : 3925
Inscription : 23 mai 2015, 08:14

Re: Script Vérification Modules ZWave

Message par Antoinekl1 » 14 juil. 2019, 21:51

winhex a écrit :
14 juil. 2019, 21:33
this node seems awake for too long, we're going to ping
je ne peux pas faire plus
--
c'est pour scénarisé, en prenant en compte voir en faisant une info t'avisant d'un soucis.
si c'est pas fiable passe à un autre modèle, ou change de protocole
soit tu recycles pour un autre besoin ou tu revends. la porté est peut être trop loin
Autre protocole, je préférais pas
Autre modèle, pourquoi pas mais je n'ai pas trouvé un autre modèle pour savoir qu'il n'y a plus d'eau au fond d'une cuve ou au fond du bassin
Je me tâte pour mettre un répéteur car même si quand je fais !es tests a proximité de ma boxe, puis une fois sur place, cela fonctionne bien mais au bout d'un moment, il ne se réveil plus et ne semble plus donner signe de vie
JEEDOM Smart Ultimate + 40 modules zwave
A vendre ; pack POWER jeedom - Jeedom Mini+ - Console Clazio sous Android 6

winhex
Actif
Messages : 3781
Inscription : 23 janv. 2015, 01:41

Re: Script Vérification Modules ZWave

Message par winhex » 15 juil. 2019, 01:48

un flotteur
dans un tube pvc ouvert
à fixer au fond
et de la gaine
pour manipulation, fixer,..
exemple
https://www.amazon.fr/gp/product/B00AZE ... ailpages00

après voir les spécificités
appaareamant courant 12v ou libre de potentiel , ...
donc un tas de possibilités
exemple un universel fibaro ou FGBS Smart tu peux en mettre 2

Avatar de l’utilisateur
Antoinekl1
Actif
Messages : 3925
Inscription : 23 mai 2015, 08:14

Re: Script Vérification Modules ZWave

Message par Antoinekl1 » 15 juil. 2019, 09:04

winhex a écrit :
15 juil. 2019, 01:48
un flotteur
dans un tube pvc ouvert
à fixer au fond
et de la gaine
pour manipulation, fixer,..
exemple
https://www.amazon.fr/gp/product/B00AZE ... ailpages00

après voir les spécificités
appaareamant courant 12v ou libre de potentiel , ...
donc un tas de possibilités
exemple un universel fibaro ou FGBS Smart tu peux en mettre 2
Oui mais ça reste du bricolage que je maîtrise pas forcément, le module aeotec était bien bien pensé, un module avec 1m de câble et 2 pics au bout, c'est discret et facile a mettre en place, malheureusement il ne le produise plus c'est dommage car il n'y a pas d'équivalent, faudrait que je comprenne pourquoi ça fonctionne mal, mais j'avais ouvert un post sur ce forum mais sans grand résultat, je vais refaire une tentative car un point m'interpele sur 1 des 2 modules
JEEDOM Smart Ultimate + 40 modules zwave
A vendre ; pack POWER jeedom - Jeedom Mini+ - Console Clazio sous Android 6

winhex
Actif
Messages : 3781
Inscription : 23 janv. 2015, 01:41

Re: Script Vérification Modules ZWave

Message par winhex » 15 juil. 2019, 15:47

le flood le fait si tu veux réutilisé ton câble
gaffe à l oxidation
en plus tu peux l'alimenter (il deviens repeteur)

Avatar de l’utilisateur
Antoinekl1
Actif
Messages : 3925
Inscription : 23 mai 2015, 08:14

Re: Script Vérification Modules ZWave

Message par Antoinekl1 » 15 juil. 2019, 16:49

winhex a écrit :le flood le fait si tu veux réutilisé ton câble
gaffe à l oxidation
en plus tu peux l'alimenter (il deviens repeteur)
Ok merci, je vais regarder ca

Édit : je vois pas d'info sur ce module si il peut être inversé afin de détecter l'absence d'eau plutôt que la présence, car sinon la batterie va se vider trop vite si il est toujours en alerte quand il est en contact avec l'eau
JEEDOM Smart Ultimate + 40 modules zwave
A vendre ; pack POWER jeedom - Jeedom Mini+ - Console Clazio sous Android 6

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités