Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Comment apprendre à débugguer un scénario

Réservé à la création de scénarios dans JEEDOM
Répondre
michael.e
Timide
Messages : 37
Inscription : 23 mai 2019, 09:50

Comment apprendre à débugguer un scénario

Message par michael.e » 03 juin 2019, 11:22

Bonjour,

Tout nouveau sur Jeedom, je suis encore en phase d'apprentissage :D
Je me suis amusé à créer des scénarios pour mes volets. Ceux-ci ont bien fonctionné samedi soir / dimanche matin et dimanche soir mais ce matin il ne s'est rien passé.

Aucun volet ne s'est ouvert. Comment je peux faire pour essayer de comprendre la ou les raisons ? Il n'y a pas un log quelque part ?
Comment voir si un scénario se lance bien ?

Volet cuisine
Image
Image

Volet salon
Image
Image

Merci d'avance pour votre retour.
Michael

Edit:
Je viens de voir les logs, j'ai pris celui de la cuisine.

Code : Tout sélectionner

[2019-06-03 06:00:03][SCENARIO] Start : Scenario execute automatiquement sur programmation.
[2019-06-03 06:00:03][SCENARIO] Exécution du sous-élément de type [condition] : if
[2019-06-03 06:00:03][SCENARIO] Evaluation de la condition : ["Lundi"==”Mercredi” OU "Lundi"==”Samedi” OU "Lundi"==”Dimanche”] = "Lundi"==”Mercredi” || "Lundi"==”Samedi” || "Lundi"==”Dimanche”
[2019-06-03 06:00:03][SCENARIO] Expression non valide : "Lundi"==”Mercredi” || "Lundi"==”Samedi” || "Lundi"==”Dimanche”
[2019-06-03 06:00:03][SCENARIO] Exécution du sous-élément de type [condition] : at
[2019-06-03 06:00:03][SCENARIO] Evaluation de la condition : [2212] = 2212
[2019-06-03 06:00:03][SCENARIO] Tâche : 23 programmée à : 2019-06-03 22:12:00
[2019-06-03 06:00:03][SCENARIO] Fin correcte du scénario
Ma condition étant fausse, il aurait dû ouvrir le volet à 7h non ?

Avatar de l’utilisateur
PrFalKeN
Actif
Messages : 936
Inscription : 27 nov. 2017, 18:51

Re: Comment apprendre à débugguer un scénario

Message par PrFalKeN » 03 juin 2019, 13:25

la condition n'est pas fausse, l'expression est non valide...

michael.e
Timide
Messages : 37
Inscription : 23 mai 2019, 09:50

Re: Comment apprendre à débugguer un scénario

Message par michael.e » 03 juin 2019, 13:29

Comment tu l'écrirais dans ce cas ?

Car pour moi dans ma logique (peut être pas la bonne)
Si on est Mercredi ou Samedi ou Dimanche alors on fait qq chose, sinon on fait l'autre.

C'est pas comme ça qu'on l'écris sous Jeedom ?

Avatar de l’utilisateur
PrFalKeN
Actif
Messages : 936
Inscription : 27 nov. 2017, 18:51

Re: Comment apprendre à débugguer un scénario

Message par PrFalKeN » 03 juin 2019, 14:11

le testeur d'expression peut être utile pour valider un test ;-)
moi quand je teste cela #sjour# == "Lundi" cela fonctionne bien j'ai des espaces avant et après ==

michael.e
Timide
Messages : 37
Inscription : 23 mai 2019, 09:50

Re: Comment apprendre à débugguer un scénario

Message par michael.e » 03 juin 2019, 14:22

Merci pour ton retour.
Je n'ai effectivement pas d'espace ni avant ni après les == mais je ne sais pas si ça a réellement une influence. Je viens de le corriger dans le doute car dans le testeur d'expression si je mets ou pas les espaces ça ne change pas grand chose où je n'ai pas compris

Code : Tout sélectionner

Attention : il doit y avoir un souci, car le résultat est le même que l'expression
Je vais évaluer : "Lundi" == ”Lundi”
Résultat : "Lundi" == ”Lundi”

Code : Tout sélectionner

Attention : il doit y avoir un souci, car le résultat est le même que l'expression
Je vais évaluer : "Lundi"==”Lundi”
Résultat : "Lundi"==”Lundi”

Mips2648
Actif
Messages : 932
Inscription : 08 sept. 2018, 17:09

Re: Comment apprendre à débugguer un scénario

Message par Mips2648 » 03 juin 2019, 14:25

ce ne sont pas les espaces le problèmes mais les guillemets, ceux à droites de l'expression (dans les 3 cas) sont différents et non reconnu.
tu as du faire un copier coller de qlq part, retapes les à la main et ca devrait résoudre le problème.
"Lundi"==Mercredi

ps: j'ai reproduit le problème chez moi en faisant un copier/coller de ton code.
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!

Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648

Networks514
Actif
Messages : 578
Inscription : 02 sept. 2016, 22:22

Re: Comment apprendre à débugguer un scénario

Message par Networks514 » 03 juin 2019, 14:25

michael.e a écrit :
03 juin 2019, 13:29
Comment tu l'écrirais dans ce cas ?

Car pour moi dans ma logique (peut être pas la bonne)
Si on est Mercredi ou Samedi ou Dimanche alors on fait qq chose, sinon on fait l'autre.

C'est pas comme ça qu'on l'écris sous Jeedom ?
Attention , c’est " et pas ”
Networks514
Jeedom / Synology DS411j / Synology DS916+8G / Rpi3 / Zibase
Zwave / Enocean / Rflink / Xiaomi / Bluetooth

michael.e
Timide
Messages : 37
Inscription : 23 mai 2019, 09:50

Re: Comment apprendre à débugguer un scénario

Message par michael.e » 03 juin 2019, 14:36

Outchhhhh bien vu mes gens !!!!
Effectivement c'était ça l'erreur grgrgrgrgrgrrgrgrg

Merci vraiment beaucoup

michael.e
Timide
Messages : 37
Inscription : 23 mai 2019, 09:50

Re: Comment apprendre à débugguer un scénario

Message par michael.e » 08 juin 2019, 10:45

Bonjour,

Je suis désolé de revenir vers vous, mais ce matin mon scénario n'a pas fonctionné.
Je demande à ce que tous les jours m'ont volet se lève à 7h10 sauf mercredi, samedi et dimanche où là c'est 9h.

Ce matin bad trip levé à 7h10..... Ca pique :shock:

Pourtant mon scénario semble bon.
Dans le log je vois bien qu'il devait attendre 9h, mais au final se lance à 7h10 et à 9h :!: :!: .

Auriez-vous une explication ?

Merci d'avance pour votre coup de main.

Michael

Image

Code : Tout sélectionner

[2019-06-08 06:00:04][SCENARIO] Start : Scenario execute automatiquement sur programmation.
[2019-06-08 06:00:04][SCENARIO] Exécution du sous-élément de type [condition] : if
[2019-06-08 06:00:04][SCENARIO] Evaluation de la condition : ["Samedi"=="Mercredi" OU "Samedi"=="Samedi" OU "Samedi"=="Dimanche"] = Vrai
[2019-06-08 06:00:04][SCENARIO] Exécution du sous-élément de type [action] : then
[2019-06-08 06:00:04][SCENARIO] Exécution d'un bloc élément : 41
[2019-06-08 06:00:04][SCENARIO] Exécution du sous-élément de type [condition] : at
[2019-06-08 06:00:04][SCENARIO] Evaluation de la condition : [900] = 900
[2019-06-08 06:00:04][SCENARIO] Tâche : 41 programmée à : 2019-06-08 09:00:00
[2019-06-08 06:00:04][SCENARIO] Exécution du sous-élément de type [condition] : at
[2019-06-08 06:00:04][SCENARIO] Evaluation de la condition : [2216] = 2216
[2019-06-08 06:00:04][SCENARIO] Tâche : 43 programmée à : 2019-06-08 22:16:00
[2019-06-08 06:00:04][SCENARIO] Fin correcte du scénario
------------------------------------
[2019-06-08 07:10:03][SCENARIO] ************Lancement sous tâche**************
[2019-06-08 07:10:03][SCENARIO] Exécution du sous-élément de type [action] : do
[2019-06-08 07:10:03][SCENARIO] Exécution de la commande [Volets roulant Etage][Volet Chambre Parents][Monter]
[2019-06-08 07:10:03][SCENARIO] ************FIN sous tâche**************
------------------------------------
[2019-06-08 09:00:05][SCENARIO] ************Lancement sous tâche**************
[2019-06-08 09:00:05][SCENARIO] Exécution du sous-élément de type [action] : do
[2019-06-08 09:00:05][SCENARIO] Exécution de la commande [Volets roulant Etage][Volet Chambre Parents][Monter]
[2019-06-08 09:00:05][SCENARIO] ************FIN sous tâche**************

Avatar de l’utilisateur
Poumi
Actif
Messages : 660
Inscription : 21 mars 2019, 22:41

Re: Comment apprendre à débugguer un scénario

Message par Poumi » 08 juin 2019, 10:53

Tu as quoi en déclencheur?

Toujours comme en haut?

Parceque du coup au coucher du soleil( weather met a jour la date a ce moment là) on était encore vendredi et tu as donc programmé pour 7h non?

michael.e
Timide
Messages : 37
Inscription : 23 mai 2019, 09:50

Re: Comment apprendre à débugguer un scénario

Message par michael.e » 08 juin 2019, 12:21

Bonjour,

Merci pour ton retour.

Je n'ai pas compris.
J'ai 2 déclencheurs:
- Le matin à 6h
- Le soir en fonction du couché du soleil.

Le déclencheur du soir étant fini la veille il a pris celui du matin, c'est ce que je comprends en tout cas dans le log vu que mon scénario se lance à 6h. Puis normalement en fonction de la condition devait attendre normalement 9h mais finalement a pris celui de 7h10.

A part si de ce que je peux comprendre de ce que tu me dis.
Le vendredi soir au couché il a lancé le scénario et est resté "bloqué" sur la condition qu'il attendait le fait de pouvoir ouvrir les volets à 7h10.
C'est ce que tu penses ?

Dans ce cas comment le contourner ?
Je fais un scénario lever et un scénario coucher ?
Ou je rajoute des conditions du style si il est après 12h je ne regarde pas mes conditions de lever ?

Image

EDIT:

Effectivement c'est ce que semble confirmer le log...
Je ne pensais pas qu'il aurait gardé les conditions de la veille, et que vu que le matin je lui relance un scénario il l'aurait "écrasé" au dessus.

Code : Tout sélectionner

[2019-06-07 21:56:03][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Terrain][Meteo Lille][Coucher du soleil].
[2019-06-07 21:56:03][SCENARIO] Exécution du sous-élément de type [condition] : if
[2019-06-07 21:56:03][SCENARIO] Evaluation de la condition : ["Vendredi"=="Mercredi" OU "Vendredi"=="Samedi" OU "Vendredi"=="Dimanche"] = Faux
[2019-06-07 21:56:03][SCENARIO] Exécution du sous-élément de type [action] : else
[2019-06-07 21:56:03][SCENARIO] Exécution d'un bloc élément : 42
[2019-06-07 21:56:03][SCENARIO] Exécution du sous-élément de type [condition] : at
[2019-06-07 21:56:03][SCENARIO] Evaluation de la condition : [710] = 710
[2019-06-07 21:56:03][SCENARIO] Tâche : 42 programmée à : 2019-06-08 07:10:00
[2019-06-07 21:56:03][SCENARIO] Exécution du sous-élément de type [condition] : at
[2019-06-07 21:56:03][SCENARIO] Evaluation de la condition : [2216] = 2216
[2019-06-07 21:56:03][SCENARIO] Tâche : 43 programmée à : 2019-06-07 22:16:00
[2019-06-07 21:56:03][SCENARIO] Fin correcte du scénario
------------------------------------
[2019-06-07 22:16:03][SCENARIO] ************Lancement sous tâche**************
[2019-06-07 22:16:03][SCENARIO] Exécution du sous-élément de type [action] : do
[2019-06-07 22:16:03][SCENARIO] Exécution de la commande [Volets roulant Etage][Volet Chambre Parents][Descendre]
[2019-06-07 22:16:04][SCENARIO] ************FIN sous tâche**************
------------------------------------
[2019-06-08 06:00:04][SCENARIO] Start : Scenario execute automatiquement sur programmation.
[2019-06-08 06:00:04][SCENARIO] Exécution du sous-élément de type [condition] : if
[2019-06-08 06:00:04][SCENARIO] Evaluation de la condition : ["Samedi"=="Mercredi" OU "Samedi"=="Samedi" OU "Samedi"=="Dimanche"] = Vrai
[2019-06-08 06:00:04][SCENARIO] Exécution du sous-élément de type [action] : then
[2019-06-08 06:00:04][SCENARIO] Exécution d'un bloc élément : 41
[2019-06-08 06:00:04][SCENARIO] Exécution du sous-élément de type [condition] : at
[2019-06-08 06:00:04][SCENARIO] Evaluation de la condition : [900] = 900
[2019-06-08 06:00:04][SCENARIO] Tâche : 41 programmée à : 2019-06-08 09:00:00
[2019-06-08 06:00:04][SCENARIO] Exécution du sous-élément de type [condition] : at
[2019-06-08 06:00:04][SCENARIO] Evaluation de la condition : [2216] = 2216
[2019-06-08 06:00:04][SCENARIO] Tâche : 43 programmée à : 2019-06-08 22:16:00
[2019-06-08 06:00:04][SCENARIO] Fin correcte du scénario

Avatar de l’utilisateur
yogui
Actif
Messages : 797
Inscription : 11 févr. 2015, 21:52
Localisation : Alsace

Re: Comment apprendre à débugguer un scénario

Message par yogui » 08 juin 2019, 13:17

Par défaut jeedom ne reecrase pas tes bloc a
Fait une action avant tes bloc a et écrit remove_inat (syntaxe approximative regarde dans l'aide)

Envoyé de mon STF-L09 en utilisant Tapatalk


Raspberry PI 2 , Razberry Zwave +
Fibaro FGRM-222
Qubino ZMNHCA2
Fibaro FGS-222
Qubino ZMNHBA2
Everspring AN180-6
Everspring Z-WAVE SP-103
Raspberry Pi 2 + touch 3.5" en Squeezebox
Modules Mysensors

Dev. Librairie Arduino pour Somfy RTS

michael.e
Timide
Messages : 37
Inscription : 23 mai 2019, 09:50

Re: Comment apprendre à débugguer un scénario

Message par michael.e » 08 juin 2019, 14:11

Merci c'est gentil je vais regarder ça.

NyGL
Timide
Messages : 10
Inscription : 18 mai 2019, 11:49

Re: Comment apprendre à débugguer un scénario

Message par NyGL » 30 juin 2019, 17:55

Salut Michael.e,

Je me suis posé les mêmes questions que toi il n'y a pas si longtemps. (viewtopic.php?f=32&t=45417)
En résumé, ton déclencheur "Evénement" couché du soleil ne fait pas ce que tu penses.
En fait, cet évènement se déclenche quand la valeur de "couché du soleil" change, c'est à dire quand elle est recalculée (l'heure du cron de ton virtuel, j'imagine vers 3h du matin). De la, ton scénario se lance et programme A 9h00 ET A 7h10 l'ouverture des volets (les mercredis, samedis et dimanches) ET A "couché du soleil" la fermeture.
De plus, comme tu as également un déclenchement horaire à 6h00 qui relance le scénario et (re)programme les mêmes actions.

Pour résumer, un déclencheur sur évènement se déclenche quand la variable est modifiée (ex : un capteur de présence, la variable est modifiée quand une présence est détectée)
Dans un scénario le bloc A n'est pas une condition et programme une action qui sera lancée à l'heure indiquée. Si plusieurs blocs A sont utilisés, il y aura plusieurs actions programmées (même si dans ton ca il s'agissait de la même action).

J'ai fait les mêmes erreurs que toi et je me dis que peut-être la documentation devrait insister plus sur ces points.

J'espère avoir pu t'aider.
RPi3 / Jeedom 3.3.x pack Ultimate
RFXCom / Somfy / Edisio

michael.e
Timide
Messages : 37
Inscription : 23 mai 2019, 09:50

Re: Comment apprendre à débugguer un scénario

Message par michael.e » 08 juil. 2019, 17:18

Merci beaucoup pour ton retour c'est gentil

Répondre

Revenir vers « Scénarios »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité