Plugin Watchdog Documentation

Watchdog Affichages : 5980

sonoffdiy icon


 




 

Table des matières

Installation du Plugin Watchdog

Configurer chaque Watchdog

Configurer les déclenchements

Configurer les commandes

Utilisation du log spécifique à chaque Watchdog

Exemples d'utilisation

Présentation du plugin

Ce plugin va vous permettre de surveiller vos équipements, exemples :

En fonction des contrôles effectués (automatiquement), vous pouvez programmer des actions à effectuer, sur le modèle d'un scénario Jeedom.

 

Installation du Plugin Watchdog

Installer le Plugin depuis le Market

installationalexaapi1

 

Aller ensuite dans le Market et sélectionner la version stable de Watchdog

Puis Activer le plugin

Configurer chaque Watchdog

(Premier onglet : Watchdog)

Nota : Il n'y a pas de paramètres globaux de configuration donc il n'est pas utile d'aller dans l'onglet configuration, chaque Watchdog a sa propre configuration et est géré independamment.

Voici les champs que vous pouvez trouver :

Ce champ correspond au rythme d'auto-actualisation, autrement dit CRON, par défaut ce champ vaut */5 * * * * ce qui veut dire toutes les 5 minutes, cliquez sur le point d'interrogation pour utiliser un autre rythme d'actualisation.

Pour aller plus loin sur les options des crons, je vous invite à parcourir ce site

C'est une information, ce champ n'est pas modifiable par l'utilisateur

Ce choix est important car il détermine comment va être calculé le moment où des actions doivent se lancer. Au départ, utiliser Actions sur chaque contrôle indépendamment c'est le mode le plus simple à comprendre, vous verrez plus tard pour utiliser les autres modes en fonction de vos besoins propres.

Les trois modes sont :

Ce choix est important car il détermine dans quel cas les actions sont déclenchées.

Les deux modes sont :

Configurer les déclenchements

(Deuxième onglet : Equipements ou Commandes à surveiller)

Cette onglet est divisé en deux parties :

Contrôles à effectuer

Dans cette partie, ajouter tous les contrôles que l'on souhaite. A chaque fois qu'un contrôle est ajouté, son résultat est affiché à droite dans la colonne Résultat. Si ce résultat n'est ni True ni False, c'est que ce contrôle est mal ortographié et il sera ignoré.

Configuration des tempos

Les tempos sont des variables qui peuvent venir être utilisées dans le calcul des expressions. Regardez les exemples plus bas pour comprendre l'utilisation des tempos.

Pour les utiliser, il faut ajouter #tempo1# pour utiliser la valeur de la tempo1.

Configurer les actions

(Troisième onglet : Actions)

Il existe 3 sortes de commandes :

Utilisation du log spécifique à chaque Watchdog

Pour pouvoir suivre les évenements de chaques Watchdog, un log spécifique a été créé.

log

Quand vous cliquez sur cet icone, vous verrez le log spécifique du Watchdog sur lequel vous êtes :

log2

Pour sélectionner les actions qui seront inscrites dans le log, il faut cocher la 3ème case au début de chaque action :

log3

Nota :A ce jour, seuls les infos "title" et "message" sont ajoutées dans ce log. Si vous avez besoin d'autres infos, n'hésitez pas à contacter Sigalou

 

Exemples d'utilisation des Watchdogs

Contrôler que les Nuts sont vivants

nutmini

J'utilise les Nuts pour savoir si nous sommes à la maison ou pas.

4 Nuts :

L'idée est de vérifier que les nuts se sont manifestés dans les dernières 12h. A défaut, on peut imaginer qu'ils n'ont plus de pile.

Configuration du Watchdog :

watchdog1bis

Dans cette configuration, je lance le contrôle toutes les 2h.

watchdog2

J'utilise ce mode de fonctionnement car je veux contrôler chaque Nut indépendamment et que le plugin Watchdog me signale lequel n'a pas répondu dans les dernières 12 heures.

Onglet Equipements à surveiller

Ici, 4 nuts donc 4 équipements à surveiller donc 4 contrôles.

 watchdog3

Pour l'exemple, j'ai utilisé les noms simples de Nut, à vous de personnaliser.

Le contrôle est (#timestamp# - strtotime(collectdate(#[Equipements internes][Nut1][Present]#))) > #tempo1#

On peut soit recopier ce contrôle soit utiliser l'assistant en cliquant sur la petit icone verte à côté du contrôle.

Ce controle va vérifier si la dernière fois que le Nut a donné signe de vie est inférieure à 12h soit 43200 secondes, il ne faut pas oublier de spécifier cela en tempo1 :

watchdog4

Onglet Commandes

J'ai choisi d'utiliser Pushover pour m'informer mais cela est adaptable par chacun.

J'utilise donc les commandes suivantes :

watchdog5

Nota, on peut utiliser le nom du contrôle dans l'action : #controlname# = Nom du contrôle qui a déclenché l'action, on peut aussi utilise #title# = nom du Watchdog

Contrôler que les capteurs XIAOMI sont actifs

xiaomi

J'utilise deux Gateway, des détecteurs d'ouverture, des détecteurs de présence, des détecteurs de vibration, des détecteurs d'eau, des capteurs température/hygro, des boutons...

Je propose de créer un Watchdog pour les équipements Xiaomi, la seule différence entre les uns et les autres réside dans la durée de la tempo qui contrôle que l'équipement est actif.

Le plugin Xiaomi à prévu la fonction "refresh" pour questionner l'équipement et rafraichir les valeurs. Il ne faut pas le lancer toutes les minutes sinon les piles ne finiront pas la semaine, mais pour ce type d'équipement (contrairement aux Nuts), il est utile de lancer un refresh avant de tester si l'équipement est actif.

Je ne lance un Refresh que sur les équipements qui peuvent ne pas avoir de mise à jour tout seuls. Par exemple, les fenetres peuvent rester fermées plusieurs jours alors que les capteurs de présence bougent tout le temps. Donc les capteurs de fenêtres feront l'objet d'un refresh pas les capteurs de présence.

Configuration du Watchdog :

watchdog6

Dans cette configuration, je lance le contrôle toutes les 4h.

watchdog2

J'utilise ce mode de fonctionnement car je veux contrôler chaque Xiaomi indépendamment.

Onglet Equipements à surveiller

Ici, (pour l'exemple) Deux Gateway, un capteur de fenêtre, un détecteur de présence :

 watchdog7

Le contrôle est (#timestamp# - strtotime(collectdate(#[Etage][Gateway Chambre][Online]#))) > #tempo1#

On peut soit recopier ce contrôle soit utiliser l'assistant en cliquant sur la petit icone verte à côté du contrôle.

Ce controle va vérifier si la dernière fois que l'équipement a donné signe de vie est inférieure à 10min pour les Gateway et 12h pour les autres équipements, il ne faut pas oublier de spécifier cela en tempo1 et tempo2 :

watchdog8

Onglet Commandes

J'ai choisi d'utiliser Pushover pour m'informer mais cela est adaptable par chacun.

J'utilise donc les commandes suivantes :

watchdog9

Nota, on peut utiliser le nom du contrôle dans l'action : #controlname# = Nom du contrôle qui a déclenché l'action, on peut aussi utilise #title# = nom du Watchdog

Certains équipements qui doivent être rafraichis car leur état ne bouge pas forcement dans les 12 dernières heures (par exemple une fenetre ou un garage peut rester fermé). Pour cela, on peut lancer les commandes Refresh qui sont prévues pour actualiser l'état des équipements :

 watchdog10

 

Contrôler que les capteurs RFXCOM sont actifs

rfxcom

Les capteurs RFXCOM fonctionnent sur le même principe que les Nuts dans ce tuto, référez vous donc à la section des Nuts.

Contrôler les équipements du réseau local

Pour cet exemple, on ne va pas réinventer l'eau chaude et on va s'appuyer sur le plugin Network.

Tous les équipements se ressemblent et on va aller tester la valeur Statut.

Si Value passe à 0 c'est que le ping n'a pas fonctionné.

Configuration du Watchdog :

watchdog11

Dans cette configuration, je lance le contrôle toutes les minutes.

watchdog2

J'utilise se mode de fonctionnement car je veux contrôler chaque équipement indépendamment.

Onglet Equipements à surveiller

Tous les équipements se configurent de la même manière puisqu'ils sont issus du plugin Network

 watchdog12

Quand tout va bien ces lignes donneront True comme résultat, si un équipement ne ping plus, le plugin enverra 0 et donnera False.

Nota : les timers ne sont pas configurés dans cet exemple.

Onglet Commandes

J'ai choisi d'utiliser Pushover pour m'informer mais cela est adaptable par chacun.

J'utilise donc les commandes suivantes :

watchdog13

Imprimer