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.











18 commentaires:

  1. Bonjour et merci pour ce tuto.

    Pour ma part j'ai des petites précision depuis la dernière mis à jour 717

    Vous avez directement la possibilité d'accéder à l'état des piles de vos périphérique en condition et de choisir état bon ou faible.

    Pour gérer le fait de ne pas avoir d'envoi multiple de notification j'ai trouvé une petite astuce.

    Je me sert de Trois scénarios déjà présent dans ma ZIBASE :

    "Réveil matin, réglé à 7h pour ma part"
    "Fin de journée, réglé à 22h pour ma part"
    "Redémarrage Zibase"

    Ces deux scénario me servent à déterminer des plage de mise en route de certaine action sur la période nuit de 22h à 7h ou de jour de 7h à 22h paramétrable en fonction de mon rythme de vie.

    Dans le cas présence à 7h du matin j'attribue un ticket au scénario de "vérification piles" et à 22h j'attribue zéro ticket au scénario de "vérification de piles".
    Comme cela je n'aurais qu'une seule alerte dans la journée m'indiquant de vérifier les piles de mes périphériques.

    Le scénario "Redémarrage Zibase" attribut également un ticket au scénario de "vérification de piles", qui me permet de gérer proprement mes redémarrage de ZIBASE après intervention sur le système.

    Je tenais également à remercier tous les utilisateurs de ZIBASE activement présent sur les forum ou blog qui m'ont aidé directement et indirectement à parfaire et approfondir l'utilisation de la ZIBASE. Alors si à mon tour je peux faire partager, c'est avec plaisir.

    A bientôt.

    RSVince.

    RépondreSupprimer
  2. Salut à toi et merci RSVince pour ta contribution et ton complément,

    Néanmoins, j'ai trois petites remarques par rapport à ta méthode si j'ai bien compris.

    1er point : malheureusement,la version béta des critères sur les scénarios apparue dans le firmware 717(conditions pour prendre en compte le STIMULI) ne permet pas de tester l'état des piles pour tous les périphériques. Par exemple, cela ne fonctionne pas avec les détecteurs de mouvements ou d'ouverture CHACON ainsi que le MS13 par exemple (pas l'option statut général dans le menu déroulant); et c'est donc bloquant pour moi.

    2nd point : Cela ne permet pas de savoir quelle sonde est en batterie faible ou alors je ne vois pas bien comment tu l'as géré (mais ce n'est pas forcément bloquant)

    3ème point : Je ne sais pas si cela sature ou non la zibase mais je pense que le scénario est appelé toute la journée par l'ensemble des sondes et n'est pas executé parce que le stimuli est globalement FAUX...mais cela veut dire que la zibase évalue à chaque émission des sondes les piles de l'ensemble des sondes et c'est peut-être consommateur...ou pas :-D

    Voilà pour mon avis sur ta solution qui me parait intéressante et qui m'a fait découvrir que si le critères du scénario est globalement faux, cela ne consomme pas le ticket alloué. N'hésites surtout pas à revenir vers moi si je n'ai pas bien compris ou si tu as des compléments d'infos.

    Effectivement, nous pouvons remercier toute la communauté ZIBASE qui est très dynamique et qui m'a également donné le goût du partage et la création de ce blog.

    A bientôt. Stéphane.


    RépondreSupprimer
  3. Bonjour,

    Tout d’abord, merci pour ce tuto ^^
    J'ai lu cet article et quelque chose à éveillé mes soupçons, je m'explique:
    Il est écrit : "Le calendrier est donc paramétré pour ne continuer le scénario qu'entre 20 heures et 21 heures ...".
    Et il me semble que sur le screenshot du calendrier, il y aurait dû être coché l'option : "Inverser la condition requise ..."
    Je débute avec ma zibase, alors il y a de grande chance pour que je me trompe, mais dans la logique moi je le comprendrai comme ça...
    Voilà, merci encore et bonne continuation

    Vince

    RépondreSupprimer
  4. Bonjour Vincent,

    Je suis complètement d'accord avec toi et c'est ce que j'avais fait et compris au début en fonction de la documentation. En testant, je me suis rendu compte que c'était inversé.

    J'en ai conclu que, par défaut, le scénario était stoppé à l'état actif du calendrier alors que la logique et en lisant la documentation, je comprenais le contraire.

    Donc, du coup, je pourrais revérifier mais cela fonctionne comme cela. Dis-moi de ton coté si en le mettant en place, ce n'est pas bon de ton coté.

    Bonne continuation aussi et merci pour ta participation.

    Stéphane.

    RépondreSupprimer
  5. Salut
    merci pour ce scenario
    je viens de tester et pour moi si je ne coche pas "inverser" dans le calendrier et bien ca se lance tout le temps
    bizarre que chez toi ce soit l'inverse ??

    RépondreSupprimer
  6. Bonjour à tous,

    Merci à tous pour vos remarques sur le calendrier. Je viens de retester et vous aviez raison, par défaut, il faut bien cocher la case pour continuer le scénario. J'ai donc modifié la capture d'écran dans l'article. Désolé, pourtant j'étais persuadé d'avoir fait le test.

    Merci encore à tous pour vos remarques et à bientôt.

    Stéphane

    RépondreSupprimer
  7. Bonjour,
    Bravo pour ce scénario très utile.
    Cependant j'ai trouvé que le nb de sondes testées est limité à 10 par scénario.
    PhR

    RépondreSupprimer
  8. Bonsoir et merci pour ce super scénario !
    J'y apporterai une petite modification. En l'état, ce scénario se lance et s’arrête sans arrêt en dehors de la période d'analyse; ce qui encombre beaucoup le suivi d'activité dès lors qu'on possède de nombreuses sondes et capteurs !
    Pour ma part, j'ai supprimé le "calendrier" qui dans l'exemple demande au scénario de fonctionner seulement entre 20h et 21h , et je l'ai remplacé en ajoutant un "critère" (disponible depuis la dernière mise à jour de la Zibase), il se trouve dans le scénario juste sous la rubrique "Stimuli".
    Je coche donc: "Condition nécessaire pour prendre en compte le STIMULI"; puis dans la rubrique variable, je saisi: "Si S3 est égal à 20". Le reste du scénario reste inchangé.
    Ce "S3", c'est la Zibase qui le renseigne automatiquement en fonction de l'heure ! (S3 est le compteur d'heures, S2: les minutes, S1 les secondes, etc). Ainsi, entre 20h00 et 20h59, "S3" aura la valeur "20" et, par cette commande, activera le scénario tant qu'il ne passera pas à 21 ...
    Chez moi, je l'ai réglé à 13 pour avoir les infos en début d'après midi (entre 13h00 et 13h59, donc) ...
    Bref, le suivi n'est plus du tout encombré en dehors de l'heure choisi ! ;-)

    Bon pour info, je n'ai ma Zibase que depuis 3 mois, donc, toutes mes piles sont neuves ... Je n'ai pas hâte de recevoir des notifications de piles faibles, mais j'aurai bien voulu tester le scénario jusqu'au bout !!! ;-)

    Merci encore pour votre scénario, car étant débutant avec la zibase, j'apprends beaucoup avec un site tel que le votre ! J'espère que ma suggestion vous plaira !

    Khondji

    RépondreSupprimer
    Réponses
    1. Salut Khondji,

      Très bonne idée ta modification. Sur le papier, cela doit parfaitement fonctionner et je n'avais pas conscience que le fait que le stimuli ne soit pas rempli ne déclenche donc pas le scénario et du coup ne "pollue" pas le suivi d'activité en dehors de la plage où on le fait tourner. Je viens de le modifier de mon coté et jetterai un oeil à 20 heures ce soir pour voir si le scénario tourne. En plus j'ai une sonde qui faiblit depuis 2 jours (mais je n'étais pas là) donc je vais pouvoir faire le test en réel et changer les piles si nécessaire:-D

      Merci pour cette suggestion et n'hésites surtout pas si nécessaire.

      Merci toujours à cette excellente communauté et à tous vos messages qui ne font que faire progrésser la vie de nos zibase.

      Supprimer
  9. Bonsoir !

    Bon, les "critères", c'est pas encore "top" ! Trop buggué pour l'instant ... Mais, je garde tout de même l'idée pour plus tard ... quand les "critères" de la zibase seront débuggués ...

    ;-)

    RépondreSupprimer
  10. Merci pour ce tuto, j'ai cependant une petite question.

    Les notifications push étant désormais dispos d'origine dans les dernières mises à jour de la zibase sur iphone et android, j'ai crée une notification que je reçois directement sur mon smartphone. Cependant serait-il possible de recevoir également l'ID du périphérique concerné dans la notification?

    Merci

    RépondreSupprimer
  11. Camille,

    Bien sur, comme spécifié dans le tuto tu as une fonction dans les scénarios zibase qui te permet de trouver la source de déclenchement (Action/source de déclenchement). Et ensuite tu peux donc récupérer cette ID et le concaténer dans une variable avec le texte souhaité puis faire une notification push en cochant la case "envoyer en corps d'email le contenu de la variable globale" et en spécifiant la variable.

    Espérant t'avoir aidé.

    Bon courage pour la suite

    RépondreSupprimer
  12. Merci pour ton partage.
    Par contre, si je comprends bien, si tu as une sonde oregon (qui émet toutes les 40s) et que ses piles sont faibles, tu vas recevoir une notification toutes les 40s entre 20h et 21h?

    RépondreSupprimer
  13. Salut Alexis,

    Ce n'est pas vraiment cela car le scénario se lance toute les 30s et peut etre déclenché par les autres sondes surveillées. En ce sens c'est un peu bidouille mais cela permet d'être alerté et pas 50 fois non plus. A l'usage ca fonctionne bien.

    RépondreSupprimer
  14. Si tu as 2 sondes qui émettent toutes les 45s (Oregon par exemple) qui n'ont plus de pile, tu ne reçois pas 120 notifications?
    Merci.

    RépondreSupprimer
  15. En fait c la première sonde qui émet (avec ou sans pile faible) qui va déclencher le scénario. Comme j'en ai 11 l'idée est que dans l'heure, au moins chaque sonde déclenche 1 fois le scénario puis ensuite 30 s se passe sans rien....a l'usage ca fonctionne bien et je reçois 2 -3 notifications dans l'heure...bref rien de gênant.

    RépondreSupprimer
  16. Merci pour ce tuto bien pratique

    RépondreSupprimer