VIII – Les scénarios

pré requis : Notifications : Mail Monitoring : Nagios Autre : Virtuel

1 – Télécommande Tradfri

A – Le plan

B – Le scénario

Vérification de vos sauvegardes

Scénario pour l’extinction de lampe :

Alarme Xiaomi

Sirène avec le xiaomi

Scénario de notifications en cas de panne d’un capteur à batterie
 

Source : jeedom-facile.fr

L’interrupteur virtuel est “on ne peut plus simple” :

  • de type binaire ;
  • une commande ON ;
  • une commande OFF ;
  • avec un widget defaillance très inspiré du précédent, dont voici le code à appliquer à l’information Défaillance :

<div style= »padding:0;width:40px;min-height:20px; » class= »cmd #history# tooltips cmd-widget container-fluid » data-type= »info » data-subtype= »binary » data-cmd_id= »#id# » data-cmd_uid= »#uid# » title= »#collectDate# »>

<div class= »row »>

    <div class= »center-block col-xs-12 iconCmd#uid# »></div>

</div>

<!– Ne Pas Supprimer –>

<script class= »createWidgetInfo » type= »text/javascript »>//<![CDATA[{« type »: »1″, »version »: »1″, »image1″: »Led_rouge.gif », »image2″: »Led_bleue.png »}]]></script>

<!– Ne Pas Supprimer –>

<script>

jeedom.cmd.update[‘#id#’] = function(_options){

$(« .iconCmd#uid# »).empty();

if (parseInt(_options.display_value) == 1) {

$(« .iconCmd#uid# »).append(‘<img src= »plugins/widget/core/template/dashboard/cmd.info.numeric.Batterie_Led/LedRougeVide.gif » width= »15″/>’);

} else {

$(« .iconCmd#uid# »).append(‘<img src= »plugins/widget/core/template/dashboard/cmd.info.numeric.Batterie_Led/Led_verte.png »  width= »15″/>’);

}

$(‘.cmd[data-cmd_id=#id#]’).attr(‘title’,’Valeur du ‘+_options.valueDate+’, collectée le ‘+_options.collectDate);

}

jeedom.cmd.update[‘#id#’]({display_value:’#state#’,valueDate:’#valueDate#’,collectDate:’#collectDate#’,alertLevel:’#alertLevel#’});

</script>

</div>

Virtuel de défaillance de capteurs (1)

Qui vous donnera ça :

En design – version information 

J’ai aussi fait le choix d’ajouter un bouton “d’action” qui relance le scénario en cas de remplacement d’une batterie par exemple pour éviter 6h entre deux scénarios :

Action pour relance du scénario de vérification des capteurs

Là encore, un interrupteur avec une information Test binaire qui revient à 0 après 1 minute et une commande Check (manu) qui la passe à 1.

Virtuel de relance du scénario de vérification des capteurs

Une action après sur la commande après exécution de la commande – onglet Configuration de l’engrenage de la commande “Check (manu)” lancera le scénario précédent :

Action de lancement du scénario de vérification des capteurs

Vous voilà donc avec :

  • une capacité de visualisation simple du niveau de vos batteries ;
  • en auto (toutes les X heures), en manuel depuis vos designs par exemple ;
  • une capacité d’être alerté en cas de défaillance d’un capteur ou un niveau de batterie trop bas.

Avant de savoir si un équipement est “tombé” depuis trop de temps, on utilise la possibilité de générer une action sur conditions. Pour cela, cliquez à chaque fois sur Propriétés Avancées (engrenage) dans la colonne Actions de l’information “Etat” de vos équipements :

Ouvrez les propriétés avancées

Dans mon cas (partout), j’historise la donnée pendant 7 jours (suffisant à mes yeux) pour savoir ce qui s’est passé sur l’équipement pendant 1 semaine. Puis si l’équipement n’est pas joignable pendant 15 minutes, je génère une alerte par Telegram :

Notifications en cas d’équipement injoignable

Avant d’avoir une information de même niveau que le niveau de batterie, j’ai ajouté comme d’habitude des virtuels pour mettre en forme ce “ping”. Un virtuel de “ping global” dans lequel j’ai plusieurs informations où je remonte l’état de chaque équipement précédent :

Virtuel de mise en forme de surveillance ping des équipements

Comme précédemment, appliquez-y un widget que j’ai construit depuis le widget précédent (de batterie), mais ici il sera de type dashboard/information/binaire. Pensez à inverser vos informations de ce virtuel :

<div style= »padding:0;width:40px;min-height:20px; » class= »cmd #history# tooltips cmd-widget container-fluid » data-type= »info » data-subtype= »binary » data-cmd_id= »#id# » data-cmd_uid= »#uid# » title= »#collectDate# »>

<div class= »row »>

    <div class= »center-block col-xs-12 iconCmd#uid# »></div>

</div>

<!– Ne Pas Supprimer –>

<script class= »createWidgetInfo » type= »text/javascript »>//<![CDATA[{« type »: »1″, »version »: »1″, »image1″: »Led_rouge.gif », »image2″: »Led_bleue.png »}]]></script>

<!– Ne Pas Supprimer –>

<script>

jeedom.cmd.update[‘#id#’] = function(_options){

$(« .iconCmd#uid# »).empty();

if (parseInt(_options.display_value) == 1) {

$(« .iconCmd#uid# »).append(‘<img src= »plugins/widget/core/template/dashboard/cmd.info.numeric.Batterie_Led/LedRougeVide.gif » width= »15″/>’);

} else {

$(« .iconCmd#uid# »).append(‘<img src= »plugins/widget/core/template/dashboard/cmd.info.numeric.Batterie_Led/Led_verte.png »  width= »15″/>’);

}

$(‘.cmd[data-cmd_id=#id#]’).attr(‘title’,’Valeur du ‘+_options.valueDate+’, collectée le ‘+_options.collectDate);

}

jeedom.cmd.update[‘#id#’]({display_value:’#state#’,valueDate:’#valueDate#’,collectDate:’#collectDate#’,alertLevel:’#alertLevel#’});

</script>

</div>

De même, vous pouvez grouper (comme le calcul du minimum pour les batteries) avec la fonction AND pour savoir si un des équipements groupés est KO. Là encore, un virtuel de mise en forme et une équation à écrire…

Par exemple, je surveille les 4 connexions de mon NAS avec un seul indicateur

Ce qui me donne une surveillance réseau “aisée” pour vérifier :

  • les agrégateurs : nodemcu, raspberry ;
  • les caméras : Motioneyeos ;
  • les interfaces : IHM JPI tablettes domotiques, téléphone JPI ;
  • les passerelles : passerelles Xiaomi ;
  • le réseau : CPL, routeurs ;
  • les machines virtuelles …

Surveillance du réseau d’un coup d’oeil