Bonjour à tous c’est Ludo. Bon suite à cet article sur la domotisation des Poubelles. Enfin domotisation, disons plutôt domotiser le fait d’être averti que c’est le moment de sortir les poubelles.  Et dans cette V2 nous allons donc voir l’utilisation des tags dans Jeedom.

Utilisation des tags dans Jeedom

Spéciale dédicace à mes Potos les Salegeek pour la blague (dans leur vidéo Netatmo)

Bon vous l’aurez compris il s’agit pas vraiment de ces tags là. Mais bien de tags dans Jeedom qui permettent de simplifier scénarios ou tout du moins les rendre plus générique et flexible. Donc le tuto sera donc pour vous faire découvrir l’utilisation des tags dans Jeedom au travers d’un cas concret qui sera les poubelles Vertes et Jaunes. Mais bien évidemment leur usage est bien plus vaste que ceci. L’idée est d’avoir un exemple à vous proposer.

Le contexte

Bon je reprends ici mon introduction de mon article V1.

Les poubelles verte et jaunes, un gros problème de société :

Utilisation des tags dans Jeedom

Qui n’a jamais eu ce gros moment de doutes concernant les poubelles, qui ressemble à :

  • Punaise c’était aujourd’hui les poubelles vertes ?
  • Ah non c’est demain ?
  • Euh, ça serait pas plutôt les poubelles jaunes

Et au final qu’est ce qu’on fait ? Ben on espionne son voisin pour voir si il sort les poubelles et lesquelles. Sauf que lui fait certainement la même chose.

Utilisation des tags dans Jeedom

Vous vous rappelez dans l’article V1, j’essayais de mettre à profit l’utilisation du maximum de choses présentes dans ma domotique. J’utilisais aussi les variables Jeedom . Tout cela me permettait de centraliser les scénarios sans forcément les multiplier. Ben avec l’utilisation des tags dans Jeedom on va pouvoir faire la même chose et encore plus simplement. Let’s go !!

Utilisation des Tags dans Jeedom

Tout d’abord une petite définition. Les tags c’est quoi !

Ce sont donc des sortes de paramètres volatiles qui vont être passé à un scénario et exclusivement pour cet usage unique à ce moment là.  En gros pour faire une similitude. Je vais vous inviter à replonger loin dans vos souvenirs du lycée ou du collège.

Utilisation des tags dans Jeedom

Rappelez vous les fonctions en mathématiques par exemple :

f(x,y) = x +y

Alors que vaut f(1,5) !!!! Oui 6. Car on pouvait appeler cette fonction avec n’importe quelle valeur pour x et y et il suffisait de remplacer x et y par leur valeur respective pour connaître le résultat.

Ben voilà les tags dans Jeedom c’est exactement la même chose. En les utilisant dans un scénario on le transforme en un scénario dynamique qui ne fera pas la même chose selon les valeurs des tags qui lui seront passées.

Cas d’application pour les Poubelles V2 avec rappels

Alors attention va falloir s’accrocher car là je vais vous exposer un usage poussif des scénarios paramétrés. Car on y verra ma gestion de notifications centralisées avec gestion de la vérification du net, de la notion d’urgent, de la gestion de notification sonore, sms, telegram ou les deux. Je vais donc tout exploser mais vous allez voir ça va faire des choses.

Scénario d’envoie de SMS

Utilisation des tags dans Jeedom

Alors voici un scénario relativement simple, mais si vous y regardez de plus près vous verrez des choses bizarre comme :

  • #qui#
  • #message#

Ben ce sont mes fameux tags (ou paramètres). Donc on voit que ce scénario attend donc des paramètres en entrée qui devront donc lui être passés lorsqu’il sera appelé. Et donc en fonction de la valeur du tag #qui#  :

  • le scénario enverra le contenu du tag  #message# par Sms à moi, ma conjointe ou les deux.
Scénario d’envoie de Telegram

Utilisation des tags dans Jeedom

Alors ce scénario est exactement le même que le précédent à l’exception du fait qu’il enverra :

  • le contenu du tag  #message# par Telegram a moi ou ma conjointe ou les deux selon la valeur du tag #qui#

Scénario d’envoie de notification SonoreUtilisation des tags dans Jeedom

Scénario très simple ici il se charge juste de faire parler différentes sources sonores de la maison et prend en paramètre :

  • #volume#
  • #message#

Voilà on vient de voir trois scénarios pour les notifications qui sont complètement paramétrés. Chez moi pour tout scénario qui utilise des notifs je ne crée plus rien si ce n’est appeler ces scénarios en leur passant les bons paramètres.

Scénario de contrôle maître des notifications

J’ai donc un dernier scénario pour chapeauter les notifications que voici :

Utilisation des tags dans Jeedom

Alors lui est simple et fait plusieurs choses :

  • il appelle le scénario notification sons si il reçoit le paramètre #sonore# = 1
  • il vérifie par un ping google si j’ai du net (il vérifie deux fois de suites au cas où)
  • selon ce résultat il appelle soit le scénario telegram, soit le scénario sms
  • dans tous les cas si il reçoit le paramètre #urgent# = 1 il appelera le scénario Telegram ET le scénario SMS

Exemple il  me suffit d’appeler ce scénario comme ceci :

message=’toto’ qui=’ludo’ sonore=1 volume =80 urgent=1

Pour que le message toto me soit envoyé à moi par Telegram et SMS et en notification vocale dans la maison à un volume de 80. Par contre si je l’appelle comme ceci :

message=’toto’ qui=’tous’ sonore=0 urgent=0

Le message ne sera pas diffusé en notification vocale sera reçu par MOI et MADAME soit par telegram soit par sms selon l’état du Net chez moi.

Je pense que vous commencez à comprendre l’intérêt des tags et des scénarios “paramétrés”.

Utilisation des tags dans Jeedom pour les poubelles avec rappels

Alors venons en à la gestion des poubelles. Vous verrez je n’utilise pas ce que je vous ai montrer au dessus pour ne pas complexifier. Mais on y verra aussi les tags. Pour info ce que je vous ai présenté au dessus j’y tenais car cela représente TOUTE ma gestion de notification de ma domotique.

Alors pour mes poubelles je vous explique en quelques mots ce que je souhaitais réaliser :

  • être notifié la veille du ramassage des poubelles avec la bonne couleur de poubelles
  • que tout ce qui est RGB dans la maison clignote de la couleur de la poubelle au moment de la notification et du rappel et que ça reste allumé de cette couleur jusqu’à que moi ou madame nous confirmions que la poubelle est bien sortie
  • que ma domotique me demande si la poubelle est bien sortie et que selon ma réponse (ou oubli de réponse), elle refasse clignoter tout ce qui est RGB et me renotifie en me reposant la question au bout d’un certain temps
  • et cela jusqu’à que cela soit fait

Voilà pour ce que je souhaitais (et que j’ai réussi à faire). Donc commençons tout d’abord par le scénario de gestion des RGB (qui me sert aussi pour d’autres choses dans la maison : facteur, sonnerie, alertes etccc mais on verra cela dans un autre tuto)

Scénario de gestion des RGB

Utilisation des tags dans Jeedom

Utilisation des tags dans Jeedom

Pas d’inquiétude il est gros mais pas si compliqué

Alors on est toujours en présence d’un scénario paramétré qui fait donc ceci :

  • clignoter l’ensemble de mes devices RGB 15 fois de la couleur du paramètre #couleur# si et seulement si le paramètre #blink# est à 1
  • si le paramètre #garder# est à 1 à la fin du clignotement la couleur restera sinon elle s’éteindra (oui comme je vous ai dit le scénario me sert pour plein de choses, donc j’ai prévu le cas avec ce paramètre)
  • et enfin si #blink# est à 0 alors ça se contente d’allumer tout les RGB de la couleur voulue (idem j’ai prévu ça pour être le plus générique possible)
Exemples :

Si j’appelle ce scénario avec :

blink=1 couleur=’FF0000′ garder=1

Alors l’ensemble de mes RGB va clignoter 15 fois en rouge (FF0000) et à l’issu de ce clignotement tout restera en rouge.

PS : si vous cherchez un moyen de retrouver le code hexadécimal d’une couleur vous pouvez aller sur ce site en enlevant le # devant c’est le fameux code.

Si j’appelle ce scénario avec :

blink=1 couleur=’FF0000′ garder=0

Alors l’ensemble de mes RGB va clignoter 15 fois en rouge (FF0000) et à l’issu de ce clignotement tout sera éteint.

Et enfin si j’appelle ce scénario avec

blink=0 couleur=’FF0000′

Alors l’ensemble de mes RGB va s’allumer en rouge sans clignotement.

Voilà vous voyez encore a quel point c’est puissant puisque maintenant je peux faire ce que je veux de n’importe où sans avoir à recréer quoique ce soit juste en appelant ce scénario et avec l’utilisation des tags dans Jeedom.

Le scénario Poubelles avec utilisation des tags dans Jeedom

Utilisation des tags dans Jeedom

Voilà le fameux scénario. Comme je le disais plus haut il est volontairement un peu plus gros, car j’ai limité l’appel aux autres scénarios pour que l’explication de ce qu’il fait soit plus aisée.

Donc commençons :

Afin de gérer le rappel sans avoir à utiliser un autre scénario j’utilise un paramètre #premier#. Celui-ci est à 1 lorsque j’appelle le scénario et il est à 0 lorsque le scénario est appelé par lui même dans le cas d’un rappel.

Donc que se passe-t-il :

Mes plannings de poubelles sont réglés dans le plugin Agenda et cet agenda appelle donc ce scénario exemple pour les poubelles jaunes :

poubelles=”jaunes” couleur=#ffff00 premier=1

Et pour les poubelles vertes :

poubelles=”vertes” couleur=#00ff00 premier=1

C’est aussi simple que ça ensuite c’est le scénario qui gère.

Décomposons le  :

Si #premier# == 1

Là on est donc dans le cas du premier appel au scénario. Je joue donc des notifications sonores, j’appelle mon scénario “Couleur RGB” que j’ai présenté au dessus, j’appelle ensuite le scénario Notifications Maitres que j’ai présenté au dessus et j’attends 40 secondes avant de faire le ask.

Le ask

Pour le ask je refais clignoter les RGBs (toujours avec le scénario RGB), j’appelle ensuite le scénario notifs sons que je vous ai présenté au dessus. Et enfin je pose la question :

Avez vous sortis les poubelles XXXX ?

Avec comme possibilité de réponses :

  • Oui
  • Non pas besoin
  • Pas encore

Le rappel

Selon la réponse je fais différentes choses :

  • Si oui alors j’éteins mes RGB qui étaient donc en mode garder allumer, j’envoie par télégram “Ok j’enlève le rappel” et je passe empty=1 comme option (c’est très utilise lors des asks telegram a plusieurs personnes ça a pour effet d’enlever les propositions de réponse chez tout le monde lorsqu’une personne à répondu
  • Si non pas besoin je refais la même chose qu’au dessus
  • Par contre si je ne réponds pas ou si je réponds pas encore alors je rappelle le scénario dans un bloc DANS 30 minutes (oui lui même : dans jeedom un scénario peu s’appeler lui même), mais avec le paramètre #premier# à 0 pour éviter de refaire la première partie et je réponds selon le cas : D’accord je te le redis dans 30 minutes ou Pas de réponse je redemande dans 30 minutes. Cela aura pour effet dans 30 minutes de refaire clignoter et me reposer la question

Voilà avec ce scénario le rappel se fera advitam eternam jusqu’à ce que vous lui disiez oui ou non pas besoin.

Conclusion

Pour conclure, j’espère que vous vous rendez compte de la puissance de l’utilisation des tags dans Jeedom. En effet l’utilisation des tags dans Jeedom permet de paramétrer ses scénarios de manière intelligente. On peut donc penser une bonne fois pour toutes certaines actions courantes et redondantes à un seul endroit et pouvoir l’appeler de n’importe où dans Jeedom. Un agenda, un autre scénario, un mode etc….



Partager sur :

Infos de l'auteur

Je m’appelle Ludovic Sarakha j’ai 32 ans et je suis habitant de Clermont-Ferrand. Concernant les études il faut savoir que bien que j’ai travaillé dans l’informatique (SSII internationale) et maintenant dans la domotique, j’ai un doctorat de Chimie des matériaux. Je suis un autodidacte passioné d'informatique, de domotique et de tout ce qui tourne autour des objets connectés

20 commentaires

  1. Mr Meunier Laurent le

    Je prends un Doliprane et je reviens, je pense qu’il va me servir ^^… ça me rappelle un scénario “la poste ça…” ;). maintenant, c’est plus clair en effet.

  2. C’est pour ça que j’adore ce mec et Jeedom.
    Milles merci pour ce genre de tuto. En effet c’est très clair et ça va pouvoir être mis en application rapidement.
    Heureusement qu’il y a ce genre de blog (avec son équipe et sa communauté Telegram) pour rendre accessible à tous l’univers de la programmation de sa maison connectée.
    Bravo, bravo, bravo.

  3. Excellent article, et par delà les tags d’autres notions très utiles comme les boucles, le scénario qui s’auto-appelle, les notifications telegram et l’option empty=1. Et tout est clairement expliqué avec exemples et copies d’écran.
    Bravo, bravo, bravo. (Non, je ne copie pas).

  4. Salut !
    Merci pour l’article. En ce qui me concerne, j’essaye de récupérer un tag pour régler une action “DANS x min” … mais impossible le faire fonctionner. Avez-vous déjà essayé avec cette fonction ?

    Merci

  5. Merci pour l’article, j’attendais avec impatience la possibilité de passer des paramètres à un scénario !
    Ces tags sont parfait !
    Il me reste une question, mon but étant de passer par ifttt et le google home … puis-je envoyer un tag par ifttt (et donc par url) ?
    Merci encore et bonne journée.

  6. Hello Sarakha63,

    merci pour ce tuto,

    2 choses embêtants dans les tags,
    1. chaque tags mentionnés doivent être initialisé dans l’appel du scénario. en gros, si tu exécutes ton scénario sans le tags #qui#, il va te retourner qu’il y a une erreur dans l’expression, dommage, ça aurait été bien que si le tag n’était pas présent, il équivaut à “” (vide).
    2. Autre chose, dans ton exemple, tu utilises #message# amuse toi d’ajouter ce message dans les message de Jeedom avec l’action “message” puis en param : date(“Y-m-d H:i:s”,#timestamp#) #message#
    Et amuse toi à sauvegarder ton scénario et regarde le résultat, tu vas comprendre 🙂

    Merci en tout cas

  7. Oui, créer une action message pour laisse un message dans jeedom
    Puis met date(“Y-m-d H:i:s”,#timestamp#) #message# dans le message à laisser puis sauvegarde. Si tu sauvegardes x fois de suite, tu vas avoir autant de fois date(“Y-m-d H:i:s”,#timestamp#) dans l’action de ton scénario, pas évident à expliquer mais essai, tu vas voir, c’est un bug

  8. Bonjour Sarakha63,

    Je commence sur Jeedom est ton blog est une mine d’or d’idées (exemple l’utilisation de “strtolower”) ;o).
    Ceci dit j’ai une remarque sur le contrôle de du TAG #qui# qui est contrôler avec un bloc “SI” dans les scénarios d’envoi. En effet le contrôle est “égale” et pour la gestion avec deux personnes cela va encore. Mais si tu désir gérer plus, par exemple 3 personnes et d’envoyer une notification à 2 personnes cela peut être problématique. Avec un “matches” sur le TAG #qui# cela peut simplifier la gestion et la taille du scénario. Exemple qui=”toto, titi”.

    Bref, Merci encore pour ces tutos qui nous permettent de comprendre le fonctionnement de Jeedom.

  9. Pingback: Bilan de la Semaine 46 - La Domotique de Sarakha63

  10. Pingback: Les DomoNews qu'il ne fallait pas manquer cette semaine (du 11/11 au 18/11) - Domotique 34

  11. sebastien thouvignon le

    Super article, en revanche j’ai mal au crane et j avoue ne pas tout comprendre dans les capture d ecran :/
    Peu etre car je ne suis pas aussi developper dans jeedom et que je n ais pas vraiment recours a des scenarios pour le moment.
    Je regarde pour mettre ce genre de chose en place plus ard mais on dirait que c est un monde a part et cela semble bien complexe a mettre en place pour un novice comme moi :/

Laisser un commentaire