La fonction Trigger dans les scénarios Jeedom ? Alors oui aujourd’hui un type d’article particulier. J’en ferai d’autres comme cela. On pourrait voir cela comme « Chaque jour apprend un mot ».
Alors ça ne sera pas tous les jours. Mais régulièrement je ferais ce type d’articles. L’idée est un article plutôt court qui se focalise sur une fonction, une possibilité, un usage etcc, et de le décrire, l’expliquer et donner un exemple d’usages. L’idée est simple, pouvoir facilement alimenter le blog sans forcément vouloir traiter « LE GROS SUJET » qui prend des heures à écrire. Et surtout vous faire découvrir au fur et à mesure de nombreuses facettes.
Pour commencer on va parler de la fonction Trigger dans les scénarios Jeedom.
Contexte
Le contexte ici est simple. Vous avez un équipement avec plusieurs commandes et vous voulez pouvoir exécuter des actions différentes selon la commande qui a changée de valeur. (exemple : température humidité, mouvement luminosité etccc). Pour cela il y a différentes manières de faire :
- Créer autant de scénario que vous avez de commandes
Mais on peut très vite se retrouver avec des tonnes de scénarios
C’est justement là qu’intervient cet article !
La fonction Trigger dans les scénarios Jeedom
Définition
Commençons par une définition. « Trigger » en anglais signifie de nombreuses choses. Ça peut être la gâchette d’un revolver, mais dans notre cas ce n’est pas cette traduction qui nous intéresse.
Bon d’accord j’arrête
La traduction qui nous concerne est celle qui veut dire « Déclencheur ». En effet un Trigger est donc le déclencheur d’une action.
Donc dans un scénario, ce sera donc le déclencheur de ce dit scénario. Vous commencez à me voir venir avec mes grands sabots :
Comment utiliser la fonction Trigger dans les scénarios Jeedom
Alors pour utiliser la fonction Trigger dans un scénario Jeedom, c’est plutôt simple :
trigger(#COMMANDE#)==1
La du coup si la commande #COMMANDE# est bien celle qui a lancée le scénario la condition sera vraie et on peut donc filtrer l’élément déclencheur.
Cas d’usages
Alors un cas d’usage pour lequel on me pose souvent la question est : « Comment fais tu avec ta balance Miscale pour déclencher ton scénario matinal en fonction de qui se pèse » .
Donc voici les éléments déclencheurs du scénario en question :
On retrouve donc l’ensemble des personnes qui composent mon foyer (bon oui je sais il manque Léo mais bon)
Il me suffit donc de faire des blocs « Si » pour vérifier quel élément déclencheur a réellement déclenché le scénario pour ensuite réaliser les bonnes actions en fonction
Un autre cas d’usage les télécommandes ou interrupteurs avec une commande pour chaque bouton
Dans mon cas j’utilise plusieurs choses dans ma voiture pour ouvrir mon futur portail (oui je l’ai pas encore), le garage, allumer les lumières extérieures etc… J’utilise donc soit un module « appel de phares », des télécommandes multi-boutons etc… Dans le cas des télécommandes ou des interrupteurs on est souvent confronté au cas du multi-déclencheur.
Voilà une des télécommandes que j’utilise (protocole Edisio) je vous ferai un article concernant les protocoles prochainement et surtout comment choisir en fonction du besoin :
Et voilà un bout du scénario :
On retrouve donc la même philosophie :
- Plusieurs éléments déclencheurs
- Des blocs « Si » qui vérifient l’élément déclencheur
Conclusion
Voilà c’est la fin de ce « Un jour un Mot » et donc j’espère qu’après lecture de cet article vous saurez ce qu’est un Trigger, et surtout comment la fonction trigger des scénarios Jeedom peut rendre de grands services.
Maintenant à vous de jouer et on se dit à la prochaine pour un nouveau MOT 😉
93 commentaires
Perso je m’en suis sorti en ecrivant ca : #trigger# matches « /variable.ActivationWifi/ » …
Merci sarakha pour ce tuto fort utile. Je cherchais désespérément une solution pour exploiter les changements d’états d’un interrupteur bistable (commande volet roulant). Me voilà comblé par ton explication de cette fonction. Nouveau venu sur Jeedom, je découvre chaque jour sa puissance.
Hop, je cherche et où je trouve, ici comme d’hab’ 🙂
Merci !
J’ai ajouté des détecteurs d’inondation, et je ne voulais pas dupliquer mes scénarios d’avertissement.
Avec ce « trigger » j’ai un seul scénario qui m’indique exactement quel détecteur est en alerte !
Il faut juste que je ne change plus le nom de mes équipements (ou que je pense à venir mettre à jour mon scénario).
Merci pour cet article. Ideal quand on débute. Est ce qu’on peut mettre 2 declencheurs 1 programmé (toutes les heures) et 1 provoque (mouvement detecté)?
oui, c’est possible
bonsoir
je désire connaitre l’utilisateur qui a déclenché le scénario si je mets comme événement #user_connect#
merci
Pierre
bonjour
j’ai créé un scénario qui se déclenche avec l’événement #user_connect#
dans le scénario je désire connaitre l’utilisateur qui est connecté pour faire une action gotodesign et ouvrir un design en fonction de l’utilisateur
comment faire pour récupérer le login de l’utilisateur
j’ai essayé avec user::getLogin() en vain
Pierre
bonjour
j’ai envoyé par 2 fois un commentaire
je ne vois pas dans la liste
Pierre
bonjour
j’ai créé un scénario qui se déclenche avec l’événement #user_connect#
dans le scénario je désire connaitre l’utilisateur qui est connecté pour faire une action gotodesign et ouvrir un design en fonction de l’utilisateur
comment faire pour récupérer le login de l’utilisateur
j’ai essayé avec user::getLogin() en vain
Pierre
Hello !
Je ne comprends pas la différence avec un bloc si/alors/sinon ??!
Car tu peux très bien faire un « Si #commande##machin# == 1, ça revient au même car il sera aussi à 1 non ?
Et en désactivant la répétition, pas trop de problème non plus.
Ai-je mal compris ?
Merci
encore un super tuto, Merci pour ton travail !