Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Plugin monitoring capteurs

Pour échanger sur les plugins classés en catégorie "Monitoring"
benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Plugin monitoring capteurs

Message par benj29 » 11 févr. 2018, 17:33

Je confirme c'est bien ça.

Quand un capteur est réellement KO, il disparait du plugin xiaomi ... du coup, le scenario le cherche mais il n'existe pas (il doit être dans un statut spécial ce que semble indique le log de scenario execution du fait qu'il n'est pas "pingable").

Du coup, impossible d'avoir un état de monitoring qui tient la route et encore plus impossible d'enclencher mon virtuel de défaut...

J'ai changé la pile du capteur, il est revenu et là le scénario marche bien, plus erreur !

flomuson
Timide
Messages : 390
Inscription : 11 mai 2015, 11:28

Re: Plugin monitoring capteurs

Message par flomuson » 12 févr. 2018, 11:16

Hello,

merci pour tes retours..
par contre je trouve étrange que ton equipement disparaisse... chez moi si un equipement n'a plus de batterie (xiaomi ou autre...) il est toujours dans la liste... il y aurait un option dans jeedom qui fait ça ?

De plus, je ne "ping" rien, je regarde juste la date de dernière communication...

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Plugin monitoring capteurs

Message par benj29 » 12 févr. 2018, 11:40

Pourtant c'est bien le fonctionnement que j'ai.
Quand le capteur décroche, il disparait de la liste du plugin. Par contre, il reste présent et passe offline sur l'application Mi Home.

TaG
Actif
Messages : 1159
Inscription : 26 oct. 2016, 11:02

Re: Plugin monitoring capteurs

Message par TaG » 13 févr. 2018, 23:18

Popcorn pour suivre tout ça :)

Avatar de l’utilisateur
Deepcore
Timide
Messages : 190
Inscription : 11 déc. 2017, 20:40
Localisation : Région Parisienne

Re: Plugin monitoring capteurs

Message par Deepcore » 29 mars 2018, 21:42

Bonjour,

J'essai d'implémenter ce script, mais j'ai un problème : comment filtrer "$allCmds = $eqLogic->getCmd();" que sur les commandes de type "info" ?

Car chez moi ca execute aussi les commandes de type "Action" et tout part en c*** :D

Merci

EDIT : la nuit porte conseil, j'ai trouvé entre temps : $allCmds = $eqLogic->getCmd('Info');
Dernière édition par Deepcore le 03 avr. 2018, 12:37, édité 1 fois.
Jeedom Prod VM Debian 9 sous ESXi 6.7
Jeedom Dev Pi 2 Debian 9
Antenne : VM Debian 8 - HA-Bridge, Nut Serveur sous ESXi 6.0
Protocole : ZWave, ZigBee (Hue,Ikea,Xiaomi et Zigate), IP devices, Bluetooth
160 modules gérés

flomuson
Timide
Messages : 390
Inscription : 11 mai 2015, 11:28

Re: Plugin monitoring capteurs

Message par flomuson » 03 avr. 2018, 10:11

Merci pour cette précision :) je vais faire apliquer ça :)

Par contre j'ai vu un petit soucis avec BLEA, en effet, il semblerait que le "collectDate" envoie la date à laquelle Jeedom essaie de communiquer (et pas la vraie date de communiation...) donc pour les équipements BLEA, ca ne fonctionne pas....

Arrown
Timide
Messages : 40
Inscription : 03 mai 2016, 11:44
Contact :

Re: Plugin monitoring capteurs

Message par Arrown » 11 mai 2018, 11:40

Hello,

J'ai une petite question, eqLogics renvoi tout les modules sur pile mais comment faire pour avoir la totalité des modules, également ceux qui sont sur secteur ?

Merci

Arrown
Timide
Messages : 40
Inscription : 03 mai 2016, 11:44
Contact :

Re: Plugin monitoring capteurs

Message par Arrown » 17 mai 2018, 16:48

Hello, nop, pas d'idée ?

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Plugin monitoring capteurs

Message par benj29 » 17 mai 2018, 16:50

Nein tu as déjà analyse équipements via alerte qui fait le boulot...

Envoyé de mon Moto G (5S) Plus en utilisant Tapatalk


benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Plugin monitoring capteurs

Message par benj29 » 21 juil. 2018, 14:12

Hello, depuis 2 jours un problème sur lequel je m'arrache les cheveux et je ne comprends pas.

J'ai tout essayé :
- débrancher/rebrancher mes passerelles,
- réinstaller le plugin Xiaomi,
- redémarrer le démon Xiaomi
etc.

Je sèche !

Je m'explique. Le script m'indique des capteurs en alerte... OK.

Par exemple :

Code : Tout sélectionner

[2018-07-21 12:00:07][SCENARIO] -- Equipement [Capteurs et Actionneurs][Détecteur de Fumée Dressing]
[2018-07-21 12:00:07][SCENARIO] Commande [Capteurs et Actionneurs][Détecteur de Fumée Dressing][Alarme] - 2018-07-20 14:58:03
[2018-07-21 12:00:07][SCENARIO] Commande [Capteurs et Actionneurs][Détecteur de Fumée Dressing][Densité fumée] - 2018-07-20 14:58:03
[2018-07-21 12:00:07][SCENARIO] Commande [Capteurs et Actionneurs][Détecteur de Fumée Dressing][Visibilité Capteur Optique] - 2018-07-20 14:58:03
[2018-07-21 12:00:07][SCENARIO] Commande [Capteurs et Actionneurs][Détecteur de Fumée Dressing][Batterie] - 2018-07-20 14:58:03
[2018-07-21 12:00:07][SCENARIO] Commande [Capteurs et Actionneurs][Détecteur de Fumée Dressing][Pile Voltage] - 2018-07-20 14:58:03
[2018-07-21 12:00:07][SCENARIO] Commande [Capteurs et Actionneurs][Détecteur de Fumée Dressing][Rafraichir] -
[2018-07-21 12:00:07][SCENARIO] Date max 2018-07-20T14:58:03+02:00
Effectivement aujourd'hui à midi, dire que ce capteur n'a rien remonté de ses données depuis la veille à 14h, ça se comprend.

Sauf que quand je vais dans le plugin Xiaomi ou sur l'analyse des équipements... visiblement ça remonte bien !

Image

Le dernier truc que je n'ai pas tenté, c'est de redémarrer Jeedom...

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Plugin monitoring capteurs

Message par benj29 » 24 juil. 2018, 20:21

Personne n'est à l'aise en PHP, car je sèche totalement ???

J'ai repris le code et j'ai essayé de comprendre... mais je ne vois pas pourquoi le PHP renvoie une date/heure qui n'a rien à voir avec la vraie valeur de dernière remontée.

Exemple : exécution du code PHP :

Code : Tout sélectionner

[2018-07-24 20:14:30][SCENARIO] -- Equipement [Capteurs et Actionneurs][Fenêtre Chambre Ami]
[2018-07-24 20:14:30][SCENARIO] Commande [Capteurs et Actionneurs][Fenêtre Chambre Ami][Etat] - 2018-07-21 22:49:57
[2018-07-24 20:14:30][SCENARIO] Commande [Capteurs et Actionneurs][Fenêtre Chambre Ami][Rafraichir] -
[2018-07-24 20:14:30][SCENARIO] Commande [Capteurs et Actionneurs][Fenêtre Chambre Ami][Batterie] - 2018-07-23 04:49:11
[2018-07-24 20:14:30][SCENARIO] Commande [Capteurs et Actionneurs][Fenêtre Chambre Ami][Absence de fermeture] - 2018-07-20 12:00:11
[2018-07-24 20:14:30][SCENARIO] Commande [Capteurs et Actionneurs][Fenêtre Chambre Ami][Pile Voltage] - 2018-07-23 04:49:11
Alors que côté équipement via Jeedom j'ai :

Image

Ce n'est même pas logique, ce n'est pas du genre tous les interrupteurs font ça (j'en ai 2 qui sont OK), tous les frigos (idem j'en ai deux), fenêtre aussi, même pas lié à une passerelle, je sèche totalement.

Dernière solution, je vais tenter. Supprimer l'équipement dans Jeedom et le laisser revenir. Voir si...

[Capteurs et Actionneurs][Détecteur de Fumée Garage]
[Capteurs et Actionneurs][Fenêtre Chambre Ami]
[Capteurs et Actionneurs][Fenêtre Cuisine]
[Capteurs et Actionneurs][Fenêtre Entrée]
[Capteurs et Actionneurs][Fenêtre Garage]
[Capteurs et Actionneurs][Fenêtre WC1er]
[Capteurs et Actionneurs][Frigo Buanderie]
[Capteurs et Actionneurs][Interrupteur Cuisine]
[Capteurs et Actionneurs][Interrupteur Entrée]
[Capteurs et Actionneurs][Interrupteur Lit Benjamin]
[Capteurs et Actionneurs][Interrupteur Lit Emilie]
[Capteurs et Actionneurs][Interrupteur Salon Extérieur]
[Capteurs et Actionneurs][Interrupteur Salon Terrasse]

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Plugin monitoring capteurs

Message par benj29 » 30 juil. 2018, 14:33

J'ai tenté de passer par un scénario en direct en faisant un timestamp - maxtime(collecdate de chaque état d'un capteur) ... et j'ai le même problème (logique) sur les capteurs en défaut (qui ne sont jamais les mêmes d'ailleurs).

Je voulais ouvrir un ticket support, mais je ne peux pas... car j'utilise des plugins (NotAuthorised) non autorisés.

Suis-je le seul à avoir ce problème ? J'ai lu plusieurs posts qui reportaient un problème de collecdate mais pas aussi récents....
Bonjour,

Je ne suis pas sûr que cela soit la bonne catégorie, mais cela semble la plus logique.

Il semblerait que la fonction collecdate ne fonctionne plus correctement.

Exemple :

- j'utilisais un code PHP / avec fonctions Jeedom qui calcule le collect date sur chaque info d'un capteur et s'il dépasse un certain temps, je lève une alerte. Juste la partie de code qui est en lien :

foreach($allCmds as $cmd)
{
$cmd->execCmd();
$collectDate = $cmd->getCollectDate();
$scenario->setLog( 'Commande ' . $cmd->getHumanName() . ' - ' . $collectDate);
$maxDate = max($maxDate, strtotime($collectDate));

}

J'ai remarqué que sur certains capteurs xiaomi (que je n'utilise que ceux-là sur batterie), le collectdate remonté ne correspond à celui que j'ai en page santé/équipement !

J'ai remonté un exemple là :
viewtopic.php?f=144&t=31954&p=635917&hi ... ur#p635917

- j'ai tenté ensuite de faire un scenario directement avec Jeedom et non en code... et là encore même problème.

Exemple là :

#timestamp#-strtotime(max(collectDate([Capteurs et Actionneurs][Baie Salon][Etat]),collectDate([Capteurs et Actionneurs][Baie Salon][Absence de fermeture]),collectDate([Capteurs et Actionneurs][Baie Salon][][Batterie]#),collectDate([Capteurs et Actionneurs][Baie Salon][][Pile Voltage]#)))

via une variable que je compare à 14400.... (le temps actuel moins le max des infos collectés d'un capteur)

Je fais le test sur un capteur OK, un pas OK.

Image

Là où ce capteur a remonté des infos il y a 3 min via xiaomi plugin.

Image

Je ne comprends pas pourquoi le comportement a changé ?
Pourquoi ce n'est pas valable d'ailleurs sur tous les capteurs et juste quelques uns (environ une 15aine sur 50) ?
Quelle fonction utiliser ? Surtout si côté plugin xiaomi cela tourne ?

Merci !
Benjamin


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

Re: Plugin monitoring capteurs

Message par winhex » 30 juil. 2018, 15:55

pour test
ton module original (non virtuel
tu as modif la config en toujours
et regarde l'historique
même si la temp est identique tu auras un retour avec hhmm

donc le valuedate

ps : redémarre car il y a eu chez moi 2 jeedom suite maj de ? ou ?
des remontés de certains equipement non prises en compte en zwave sur un esp sur l'autre et virtuel sur les 2

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Plugin monitoring capteurs

Message par benj29 » 30 juil. 2018, 16:37

Merci winhex, j'ai déjà redémarré (cf post plus haut), sans aucun changement.

J'ai modifié un capteur déjà (c'est super long de faire chaque info pour tous les capteurs, y a pas une astuce ?) de la liste.
Je vais laisser remonter et refaire un test.

Code : Tout sélectionner

  $maxDate = max($maxDate, strtotime($valueDate));

      }
      $scenario->setLog( 'Date max ' . date('c', $maxDate));
      $elapsedTime = time() - $maxDate;
Par contre j'ai gardé ce maxDate en secondes (je te vois me parler de mm et plus de secondes). Cela ne change rien... non ?

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Plugin monitoring capteurs

Message par benj29 » 30 juil. 2018, 20:53

Bon à priori, ça tourne reste à modifier toutes en Toujours sur chaque capteur Xiaomi... la vache :(.

Code : Tout sélectionner

$maxTime = 14400; // temps en secondes - 4h maximum

$scenario->setLog("Temps : " . $maxTime);

$batterie = "Batterie"; // Nom de la commande à rechercher
$excludeEq = array(); // Liste des équipements à ignorer (qui contiennent la commande "$batterie")

$errEqLogics = array();

$_format = '%Y-%m-%d %H:%M:%S';

$eqLogics = eqLogic::all();
$scenario->setLog('Début monitoring');

$scenario->setData('monitor', '');

foreach($eqLogics as $eqLogic)
{
  if ($excludeEq[$eqLogic->getHumanName()] == 1){
    $scenario->setLog( '-- Equipement ' . $eqLogic->getHumanName() . ' ignoré');
    continue;
  }
  
  try{
    if (isset($batterie)){
      	// si la commande n'existe pas, une exception est levée
    	$cmd = cmd::byString('#' . $eqLogic->getHumanName() . '['. $batterie .']#');
    }
    
    $scenario->setLog( '-- Equipement ' . $eqLogic->getHumanName());
    
    $allCmds = $eqLogic->getCmd();
    //$maxDate = date($_format, "1970-1-1 00:00:00");
    $maxDate = date($_format, "1970-1-1 00:00:00");
    if (count($allCmds) > 0)
    {
      foreach($allCmds as $cmd)
      {  
          $cmd->execCmd();
          $collectDate = $cmd->getValueDate();
          $scenario->setLog( 'Commande ' . $cmd->getHumanName() . ' - ' . $collectDate);

          //$maxDate = max($maxDate, strtotime($collectDate));
          $maxDate = max($maxDate, strtotime($collectDate));

      }
      $scenario->setLog( 'Date max ' . date('c', $maxDate));
      $elapsedTime = time() - $maxDate;
      
      if ($elapsedTime > $maxTime){
        // -- /!\alert
        $errEqLogics[] = $eqLogic->getHumanName();
      }
    }
    
  }catch (Exception $e)
  {
    // pas de commande
  }
  
}

  $scenario->setData('monitor', implode(",", $errEqLogics));
// log fin de traitement
$scenario->setLog( 'fin monitoring');

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

Re: Plugin monitoring capteurs

Message par winhex » 30 juil. 2018, 21:09

de souvenir
les 1er script de surveillance zwave
pioché dans le fichier html de la config (info brut)

on a toujours à apprendre yen a partout
HS
(a l'instant découverte tu mets dans la config equip en commentaire du html et si tu vas dans l'info brut un light html)
Pièces jointes
comment.png
comment.png (49.02 Kio) Consulté 1376 fois

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Plugin monitoring capteurs

Message par benj29 » 30 juil. 2018, 21:12

Non mais à priori le script marche bien.
Le seul truc c'est que la fonction "appliquer à" ne marche pas pour la gestion de la répétition des valeurs (ça marche que sur historique je sais pas pourquoi).

J'ai juste à le faire plus de 300 fois vu le nombre de capteurs que j'ai :D

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

Re: Plugin monitoring capteurs

Message par winhex » 30 juil. 2018, 21:36

300 !! :geek:

tu peux gagner du temps dans onglet résumé domotique

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Plugin monitoring capteurs

Message par benj29 » 30 juil. 2018, 21:43

Bein tu as 4 ou 5 infos à chaque capteur et je dois avoir au bas mot 50 capteurs je pense... (faudrait que je compte lol).

C'est chiant qu'appliquer à ne fonctionne pas.

Par contre, j'ai l'impression que le changement n'est pas immédiat. Il doit valoir attendre que le capteur envoie une nouvelle donnée info à jour pour que le getvaluedate fonctionne bien.

J'en ai fait presque la moitié, le reste ce sera un autre jour. Je vais déjà voir si ma liste se résorbe.

Keep U in touch.

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Plugin monitoring capteurs

Message par benj29 » 31 juil. 2018, 09:00

Bon, je les ai fait tous... J'ai quand même 56 capteurs + 3 passerelles. Entre les capteurs de mouvement, environnement, ouvrants, eau, interrupteurs ... ça commence à faire !

Par contre, j'ai augmenté le temps à 6h et non 4h. Combien utilises-tu winhex ?

Maintenant, je vais laisser remonter toutes les informations et voir les derniers capteurs et affiner ensuite le timing si c'est possible.

En fait, en réfléchissant, il faudrait récupérer ce champ dans la page du capteur dans l'onglet Xiaomi. Lunarok a dû correctement calculé la dernière activité... mais je n'ai pas trouvé comment récupérer ce champ à la volée (je suis pas trop au point côté inspection).

Image

Image

Répondre

Revenir vers « [Catégorie] Monitoring »

Qui est en ligne ?

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