Je n’arrive pas à comprendre l’info donnée par l’agenda avec la commande « matches »
Exemple:
Dans mon thermostat j’ai un mode « Confort » et un autre "Eco"
Dans mon Agenda dans un événement j’ai début de l’action « Confort » et fin de l’action "Eco"
Dans mon scénario j’utilise « les comparaisons dans les conditions » , pour moi se sera matches
A 8h00 Confort et 12h Eco
Si à 9h j’exécute un scénario matches"/Confort/"
J’ai dans le log : Evaluation de la condition : [« nom agenda » matches"/Confort/"] = 0
Je réécris mon scénario en mettant matches"/Eco/"
J’ai dans le log : Evaluation de la condition : [« nom agenda » matches"/Eco/"] = 1
On dirait que c’est inversé… Alors qu’ à cette heure là je suis en Confort…
Si à 15h j’exécute un scénario matches"/Confort/"
J’ai dans le log :Evaluation de la condition : [« Aucun » matches « /Confort/ » ] = 0
Je réécris mon scénario en mettant matches"/Eco/"
J’ai dans le log : Evaluation de la condition : [« Aucun » matches « /Eco/ » ] = 0
Je réécris mon scénario en mettant matches"/Aucun/"
J’ai dans le log :Evaluation de la condition : [« Aucun » matches « /Aucun/ » ] = 1
Bon je comprends que je ne suis dans aucun mode mais pourtant la fin de l’action dans l’agenda est bien « Eco »…
Bonjour,
Effectivement vous mélangez tout.
Scénario et thermostat sont 2 plugins avec leurs équipements propres. Le fait que le nom eco ou confort soit repris n’aura aucune influence.
Un événement d’agenda à un nom. La commande en cours du scénario retour la liste de tous les évènements en cours.
Matches n’est pas une commande mais un opérateur de comparaison, comme le =, mais il permet de savoir si une valeur, un mot par exemple, fait partie d’une chaîne de caractère, d’une liste.
Il sert ici car justement on reçoit une liste en retour.
Un événement peut aussi avoir des actions d’entrée et sortie, actions qui seront évidement exécutées au début et à la fin de l’événement.
Si en action vous mettez les commandes de votre thermostat, vous n’avez plus besoin d’un scénario pour faire la même chose.
Pouvez-vous faire une capture de votre scénario? cela sera plus simple.
typiquement dans un scénario vous aurez un BLOC SI avec cette condition:
#[Test][mon agenda de test][En cours]# matches "/eco/"
la commande #[Test][mon agenda de test][En cours]# renvoit potentiellement eco,nuit par exemple qui est la liste des événements pour l’instant (il peut y avoir plus qu’un événement en même temps à un moment donné) et donc on ne peut écrire
#[Test][mon agenda de test][En cours]# == "eco"
car on ne recoit pas une valeur unique mais une liste de valeurs, le matches sert uniquement à cela, il ne faut pas chercher plus loin.
Et oui, la commande [En cours] renvoit le nom des événements et pas le nom de l’action (qui n’a aucun intérêt)
[2020-04-26 03:26:54][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Exterieur][Sonde Sud][Temperature].
[2020-04-26 03:26:54][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 03:26:54][SCENARIO] Evaluation de la condition : [20 >= 20 ] = Vrai
[2020-04-26 03:26:54][SCENARIO] Non exécution des actions pour cause de répétition
[2020-04-26 03:26:54][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 03:26:54][SCENARIO] Evaluation de la condition : [20 < 20 ] = Faux
[2020-04-26 03:26:54][SCENARIO] Non exécution des actions pour cause de répétition
[2020-04-26 03:26:54][SCENARIO] Fin correcte du scénario
------------------------------------
[2020-04-26 04:09:41][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Exterieur][Sonde Sud][Temperature].
[2020-04-26 04:09:41][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 04:09:41][SCENARIO] Evaluation de la condition : [19.6 >= 20 ] = Faux
[2020-04-26 04:09:41][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-04-26 04:09:41][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 04:09:41][SCENARIO] Evaluation de la condition : [19.6 < 20 ] = Vrai
[2020-04-26 04:09:41][SCENARIO] Exécution du sous-élément de type [action] : then
[2020-04-26 04:09:41][SCENARIO] Log : On vient de vérifier que la T° balcon est en dessous des 20° : on est OK
[2020-04-26 04:09:41][SCENARIO] Exécution de la commande [Salon_Salle à manger][Thermostat SAM][unlock]
[2020-04-26 04:09:41][SCENARIO] Exécution de la commande [Chambre enfants][Thermostat Ch Enfants][unlock]
[2020-04-26 04:09:41][SCENARIO] Exécution de la commande [Chambre parents][Thermostat Ch Parents][unlock]
[2020-04-26 04:09:41][SCENARIO] Pause de 10 seconde(s)
[2020-04-26 04:09:51][SCENARIO] Log : Maintenant on vérifie le planning : Si on n'est pas dans le mode "Aucun" (eco) , on passe le thermostat en Confort
[2020-04-26 04:09:51][SCENARIO] Exécution d'un bloc élément : 277
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 04:09:51][SCENARIO] Evaluation de la condition : [not("Aucun" matches"/Aucun/")] = Faux
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-04-26 04:09:51][SCENARIO] Exécution d'un bloc élément : 286
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 04:09:51][SCENARIO] Evaluation de la condition : ["Eco" matches"/Off/" OU "Eco" matches"/Vacances/" OU "Eco" matches"/Confort/"] = Faux
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-04-26 04:09:51][SCENARIO] Exécution d'un bloc élément : 278
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 04:09:51][SCENARIO] Evaluation de la condition : [not("Aucun" matches"/Aucun/")] = Faux
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-04-26 04:09:51][SCENARIO] Exécution d'un bloc élément : 287
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 04:09:51][SCENARIO] Evaluation de la condition : ["Eco" matches"/Off/" OU "Eco" matches"/Vacances/" OU "Eco" matches"/Confort/"] = Faux
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-04-26 04:09:51][SCENARIO] Exécution d'un bloc élément : 279
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 04:09:51][SCENARIO] Evaluation de la condition : [not("Aucun" matches"/Aucun/")] = Faux
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-04-26 04:09:51][SCENARIO] Exécution d'un bloc élément : 288
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 04:09:51][SCENARIO] Evaluation de la condition : ["Eco" matches"/Off/" OU "Eco" matches"/Vacances/" OU "Eco" matches"/Confort/" ] = Faux
[2020-04-26 04:09:51][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-04-26 04:09:51][SCENARIO] Fin correcte du scénario
------------------------------------
[2020-04-26 04:17:08][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Exterieur][Sonde Sud][Temperature].
[2020-04-26 04:17:08][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 04:17:08][SCENARIO] Evaluation de la condition : [19.49 >= 20 ] = Faux
[2020-04-26 04:17:08][SCENARIO] Non exécution des actions pour cause de répétition
[2020-04-26 04:17:08][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-26 04:17:09][SCENARIO] Evaluation de la condition : [19.49 < 20 ] = Vrai
[2020-04-26 04:17:09][SCENARIO] Non exécution des actions pour cause de répétition
[2020-04-26 04:17:09][SCENARIO] Fin correcte du scénario