Bonjour à toutes et tous,
Je vous présente le tuto fait pas Masterfion sur les trigger. Merci à lui
Nous allons aborder dans ce tuto les triggers (ou déclencheurs), notion qui n'est pas évidente à comprendre pour tous à priori.
Lorsqu'un scénario est exécuté par un déclencheur alors le trigger est "[Nom du déclencheur]"
Lorsqu'un scénario est exécuté par une programmation alors le trigger est "#schedule#"
Lorsqu'un scénario est exécuté manuellement alors le trigger est "user"
Lorsqu'un scénario est exécuté par une interaction alors le trigger est "interact"
Lorsqu'un scénario est exécuté à partir d'un autre scénario, le trigger est "[Groupe][Nom du scenario]"
Lorsqu'un scénario est exécuté par lui même à partir d'un bloc A puis un time_op "+5mn" alors le trigger est "[Groupe][Nom du scenario]"
Lorsqu'un scénario est exécuté par lui même à partir d'un bloc DANS "5mn", il n'existe aucun trigger puisque DANS génère une sous-tâche
Vous trouverez ci-dessous des exemples de conditions pour un bloc SI/ALORS/SINON de vos scénarios
Vous verrez à chaque exemple 2 manières de faire. Alors pourquoi 2 manières et bien pour la raison suivante :
SI trigger([Déclencheur X])==1 renvoi VRAI
SI trigger()=="[Déclencheur X]" renvoi VRAI
SI #trigger# == "#[Jardin][Lettre][Etat]#" donnera [Jardin][Lettre][Etat] = 1
par contre
SI #trigger# == "[Jardin][Lettre][Etat]" donnera [Jardin][Lettre][Etat] = [Jardin][Lettre][Etat]
Voyons donc les différents cas :
Si je veux contrôler qu'un scénario A est lancé par un scénario B alors j'écris :
SI trigger() matches "/[Groupe Scénario][Scénario B]/"
SI #trigger# matches "/[Groupe Scénario][Scénario B]/"
Si je veux contrôler qu'un scénario A n'est pas lancé par un scénario B alors j'écris :
SI not(trigger() matches "/[Groupe Scénario][Scénario B]/")
SI not(#trigger# matches "/[Groupe Scénario][Scénario B]/")
Si je veux agir dans le cas d'un scénario lancé par une interaction alors j'écris :
SI trigger()=="interact"
SI #trigger#=="interact"
Si je veux agir dans le cas d'un scénario lancé manuellement alors j'écris :
SI trigger()=="user"
SI #trigger#=="user"
Si je veux agir en fonction du déclencheur d'un scénario (mode "provoqué") alors j'écris :
SI trigger(#[Salon][Oeil][Présence]#)==1
SI #trigger#=="[Salon][Oeil][Présence]"
Si je veux savoir si un scénario est actionné par une programmation (mode "programmé") alors j'écris :
SI trigger()=="#schedule#"
SI #trigger#=="#schedule#"
Si je veux savoir si un scénario est actionné par une variable(test) alors j'écris :
SI #trigger# matches "/(test)/"
Car si on test le trigger d'une autre manière la variable sera évaluée donc renvoie sa valeur
Pour aller un peu plus loin
Je vais reprendre cette fois un exemple de Zerat9w, merci à lui
Une petite astuce pour les personnes voulant créer un scénario unique avec plusieurs déclencheurs et faire un message en pushbullet (ou autre) personnalisé en fonction de la pièce.
Exemple:
Trigger == #[Cuisine][Fenêtre][Etat]#
strtolower(substr(#trigger#,1,strpos(#trigger#, ']')-1))
La fonction permettra d'extraire le mot "cuisine" uniquement.
L'avantage se retrouve dans le message pushbullet (ou autre) :
L'ouverture de la fenêtre de la strtolower(substr(#trigger#,1,strpos(#trigger#, ']')-1)) vient d'être détectée le sprintf("%02s",#jour#)/sprintf("%02s",#mois#)/#annee# à sprintf("%02s",#heure#):sprintf("%02s",#minute#).
Qui donnera : L'ouverture de la fenêtre de la cuisine vient d'être détectée le 02/09/20016 à 14:16.
[Tuto] Les déclencheurs de Scénarios : les triggers
Aller
- Informations
- ↳ Annonces officielles
- ↳ Présentation et Vitrine d'installations
- ↳ Discussions Générales
- ↳ Petites annonces
- ↳ Tutoriels
- Logiciel Jeedom [Core]
- ↳ Utilisation
- ↳ Backup/Restauration
- ↳ Interactions
- ↳ Scénarios
- ↳ Interfaces
- ↳ Portail web classique (Desktop)
- ↳ Portail web smartphone & tablettes
- ↳ [Plugin officiel] App mobile
- ↳ [Plugin tiers] Application mobile
- ↳ Market Jeedom
- ↳ Suggestions pour le Core
- Plugins Jeedom
- ↳ [Catégorie] Automatisation
- ↳ [Catégorie] Communication
- ↳ [Plugin Officiel] Assistant vocaux
- ↳ [Plugin Officiel] IFTTT
- ↳ [Plugin Officiel] Jeelink
- ↳ [Plugin Officiel] Mail
- ↳ [Plugin Officiel] Networks
- ↳ [Plugin Officiel] SMS
- ↳ [Plugin Tiers] Homebridge
- ↳ [Catégorie] Confort / Bien-être
- ↳ [Plugin Officiel] Green Momit
- ↳ [Plugin Officiel] Nest
- ↳ [Plugin officiel] Thermostat
- ↳ [Catégorie] Energie
- ↳ [Plugin officiel] Energie
- ↳ [Catégorie] Météo
- ↳ [Plugin Officiel] Météo
- ↳ [Plugin Officiel] Netatmo
- ↳ [Catégorie] Multimédia
- ↳ [Plugin Officiel] Denon AVR
- ↳ [Plugin Officiel] Kodi
- ↳ [Plugin Officiel] Sonos controller
- ↳ [Plugin Officiel] SqueezeBox Control
- ↳ [Catégorie] Nature
- ↳ [Catégorie] Monitoring
- ↳ [Plugin Tiers] Monitoring
- ↳ [Plugin Officiel] Onduleur (NUT)
- ↳ [Catégorie] Objets connectés
- ↳ [Plugin Officiel] Broadlink
- ↳ [Plugin Officiel] Karotz
- ↳ [Plugin Officiel] Philips Hue
- ↳ [Catégorie] Organisation
- ↳ [Plugin officiel] Agenda
- ↳ [Plugin Officiel] Géolococalisation
- ↳ [Plugin Officiel] Mode
- ↳ [Plugin Officiel] Waze in Time
- ↳ [Catégorie] Passerelle Domotique
- ↳ [Plugin Tiers] Imperihome
- ↳ [Plugin Tiers] Zibasedom
- ↳ [Catégorie] Programmation
- ↳ [Plugin Officiel] Click Link
- ↳ [Plugin officiel] Scripts
- ↳ [Plugin officiel] Virtuels
- ↳ [Plugin officiel] Widgets
- ↳ [Catégorie] Protocoles domotiques
- ↳ [Plugin Officiel] BLEA
- ↳ [Plugin Officiel] Edisio
- ↳ [Plugin Officiel] EnOcean
- ↳ [Plugin Officiel] IPX 800 v4
- ↳ [Plugin Tiers] KNX
- ↳ [Plugin Tiers] MQTT
- ↳ [Plugin Tiers] MySensors
- ↳ [Plugin Officiel] RFPlayer
- ↳ [Plugin Officiel] RFXcom
- ↳ [Plugin Officiel] Wifipower
- ↳ [Plugin Tiers] Xiaomi Home
- ↳ [Plugin Officiel] xPL
- ↳ [Plugin Officiel] Z-Wave
- ↳ Plugin Z-Wave
- ↳ Configurations OpenZwave Manquantes
- ↳ [Plugin Tiers] ESPEasy
- ↳ [Catégorie] Santé
- ↳ [Catégorie] Sécurité
- ↳ [Plugin officiel] Alarme
- ↳ [Plugin officiel] Caméra
- ↳ [Plugin Officiel] Netatmo Welcome
- ↳ Développements sur Jeedom
- ↳ Suggestions de Plugins
- Matériel Jeedom - Hardware
- ↳ La box JEEDOM SMART
- ↳ La box JEEDOM MINI+
- ↳ La box JEEDOM PRO
- ↳ Do-It-Yourself ("Faire-soi-même")
- ↳ Docker
- ↳ Machines Virtuelles
- ↳ Raspberry Pi
- ↳ Synology
- International JEEDOM
- ↳ [English] JEEDOM Project
- ↳ News
- ↳ Software & Plugins
- ↳ Box's and devices
- ↳ [Deutsch] JEEDOM Projekt
- ↳ Neuigkeiten
- ↳ Software & Plugins
- ↳ Jeedom Box und Geräte
- ↳ [Español] Proyecto JEEDOM
- ↳ Noticias
- ↳ Software & Plugins
- ↳ Los controladores Jeedom y los dispositivos
- ↳ Translation - Traduction
- Archives
- ↳ Ancien Wiki
- ↳ Installation de Jeedom
- ↳ Core de Jeedom
- ↳ Plugins
- ↳ Widgets
- ↳ Scénarios
- ↳ Résolution de problèmes
- ↳ Utilisation & Astuces
- ↳ Modules RFXcom
- ↳ Noeuds MySensors
- ↳ Application externe tierce & Jeedom
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 9 invités