Vérifier l'état des piles de ses périphériques avec sa zibase et un scénario unique !

Voici quelques temps, j'avais créé un scénario pour analyser l'état des piles de nos périphériques et être prévenus si l'un d'entre eux avait des piles faibles.

Je n'avais jamais fait d'article sur le sujet mais je profite de la sortie il y a quelques jours du firmware 717 de la zibase pour en parler.

En effet, au préalable, il était possible d'entrer une liste d'identifiants de périphériques pour qu'un scénario se déclenche. Il fallait, au préalable repérer les id de tous ses périphériques et en cas de changement de piles, il ne fallait pas oublier de modifier le scénario.

Depuis le firmware 717 de la zibase, ce n'est maintenant plus utile car il est possible d'entrer comme stimuli autant de périphériques que souhaité.

Le premier scénario ci-dessous analyse l'état des piles (nommé Piles - Analyse ETAT ; original :-D):


Cette première partie vous montre comment il est facile d'entrer plusieurs périphériques comme stimuli (nous avons coupé la capture car la liste est longue :-D).

La suite du scénario Piles - Analyse ETAT :


J'ai paramétré un calendrier fixe pour que ce scénario ne soit lancé que pendant une heure chaque jour. En effet, cela permet de ne pas être alerté continuellement lorsque qu'un périphérique a des piles faibles. Le calendrier est donc paramétré pour ne continuer le scénario qu'entre 20 heures et 21 heures selon la capture ci-dessous (corrigé avec bon image) :

 

La deuxième action permet au scénario de ne se lancer que toutes les 30 secondes. Cela évite d'être alerté de trop nombreuses fois qu'un périphérique a des piles faibles tout en s'assurant que le scénario sera appelé par toutes les sondes. Oui, je sais; c'est de la bidouille mais je n'ai pas trouvé mieux. N'hésitez pas à laisser des commentaires si vous avez une solution plus "intelligente".

La troisième action trouve l'identifiant de la sonde qui a déclenché le scénario et le met dans une variable (V10 pour nous).

La suite (et fin) du scénario Piles - Analyse ETAT est la suivante :


On calcule l'expression ((I2LSL1)LSR3). Cela ne parle pas forcément aux néophytes mais voici les explications de ce calcul : la variable I2 pour toutes les sondes est codée sur 4 bits signifiants (valeur 0 ou 1 pour chaque bit) :
  • bit 0 (0....7) = Boitier Ouvert (Open/Tamper)
  • bit 1 = Alarme
  • bit 2 = Batterie basse (détecteur ou sonde) si bit vaut 1 alors batterie basse
  • bit 3 = Trame de supervision (alive)
Par exemple, pour un capteur ouvert, pas en alarme et avec des piles faibles, cela donne :

bit 0 = 1
bit 1 = 0
bit 2 = 1
bit 3 = 0
L'opérateur LSL1 décale d'un bit à gauche et LSR3 de 3 bit à droite et nous pouvons donc lire le bit 2 directement et vérifier que si celui-ci est positif. Si c'est le cas, cela signifie que les piles du périphériques ayant déclenché le scénario sont faibles. Désolé pour ces explications techniques mais si vous ne les comprenez pas, c'est pas grave, ça marche :-D.

Dans ce cas, on fait appel au scénario Piles - Alerte Etat (simplissime) qui se présente comme suit :


Ce scénario fait juste appel au service pushing box qui permet d'être alerté via de nombreux services (pour ma part, j'utilise twitter, notifry et karotz). Je ne détaille pas l'utilisation de Pushingbox car de nombreux articles le font déjà très bien. Je vous invite par exemple à consulter les articles suivant http://www.touteladomotique.com/index.php?option=com_content&view=article&id=342&Itemid=14&limitstart=2 ou http://www.domotique-info.fr/2012/03/guide-pushingbox-domotique/.

Par contre, petit détail que vous pouvez voir dans le scénario, il est possible de passer des variables dans l'appel PUSHINGBOX. Nous lui passons donc la variable V10 qui contient l'identifiant de la sonde concernée ce qui nous permet de savoir quelle est la sonde qui a des piles faibles.