Aide pour un newbie

Bonjour à tous,

J’ai une question très *** sur l’utilisation du bloc « A » dans un scénario.

Après une multitude de tests, j’ai réduit au plus simple appareil pour essayer de comprendre le fonctionnement.
J’aimerais recevoir les 2 alertes mais je ne reçois que la seconde.

Je me suis paluché toute la doc et j’avoue ne pas comprendre pourquoi un truc aussi simpliste ne fonctionne pas.
Merci d’avance pour votre aide.

Salut,

Le bloc A permet de programmer une action. Il faut donc que le scénario soit exécuté avant pour établir cette programmation.

Dans ton cas, il faut absolument que le scénario soit lancé avant 13h44 pour programmer une tache qui effectuera l’action demandée à 13h44.

remarque, la tâche du bloc A doit être programmée pour le lendemain à 13h44 ?!

Il faut que ton test dure plus de 24h pour être conclusif killawSpoupwize !
:grin:

La tâche est programmée en * * * * * donc systématique.

donc à 13h44 il reprogramme une nouvelle tache pour le lendemain… Et toute les minutes après 13h44… et toutes les minutes avant pour le jour même !

Si le scénario se charge de programmer des actions il ne doit pas être lancé toutes les minutes ça n’a plus d’intérêt d’effectuer une programmation sinon.

Comme dit, le bloc A ne s’exécute pas à l’heure mentionnée mais établit une programmation qui doit s’exécuter à l’heure demandée.

Si tu veux déclencher une action à 13H44 de manière inconditionnelle, il te faut passer par la config du déclenchement du scénario.

Dans ton cas, ta commande A sera exécutée uniquement si ton scénario a été déclenché d’une manière ou d’une autre dans les 24heures qui précèdent 13:44. Ça peut être utile si, par exemple, tu veux être notifié si une lampe a été allumée dans les 24 heures qui précèdent 13:44. Il te faudra alors déclenché ton scénario avec l’event « lampe allumée ».

Bonjour @KillawSoupwize,

De mon coté, j’ai toujours un peu de mal à saisir, sauf dans de rares situations … que je n’ai encore jamais rencontré, l’intérêt d’un A avec une heure en dur (1344).
Le bloc A permet effectivement de lancer une tâche à une heure définie, dès lors que ton scénario a déjà été lancé auparavant comme le fait remarquer @Salvialf. Le seul usage que je vois, c’est par exemple de lancer une tache au moment du coucher du soleil, auquel cas, tu utilises un A avec une heure « variable » #heure de coucher du soleil# par exemple.

Si tu veux lancer quelque chose à heure fixe, il me semble qu’un déclencheur de type programmé est plus pertinent.
Enfin, la boucle dans, est aussi toujours très utile pour déclencher quelque chose dans x min après l’execution d’une tache (exemple, une lumiere s’alume, tu l’eteins x min après

POur le foncitonnement du bloc A (c’est ta question) tu lance le scenario (programmé, provoqué, manuel, …) à 13h avec un « A 1344 » + Action, et ton action sera planifiée à 1344.
Ton scenario passe à l’action suivante SANS attendre l’exuecution de l’action de 1344.

Tu peux visualiser que ton action est bien planifiée à la bonne heure en allant dans Reglages >> System >> moteur de tache, classe « scenario », fonction « DoIn »
Si tu veux annuler au debut de ton scénario tous les A précédemment planifiés par des exécutions antérieures … action « remove_inat »

Norbert

Alors, j’ai volontairement réduit au plus simple pour éviter les questions autour du bien fondé de ma demande mais vous êtes perspicaces dans vos remarques donc je m’explique.
J’ai des scénarios d’ouverture/fermeture de volets, d’allumage/extinction de lampe sur des déclencheurs (coucher du soleil, déclenchement d’un capteur, etc.). Pour le cas du coucher du soleil, j’aimerais fermer certains volets selon l’heure du coucher du soleil MAIS avec une limite horaire à 20h (les ptits ! Hop ! au lit)
Du coup, j’ai déjà un bloc A #heureducoucher" à laquelle je voulais simplement ajouter un OU heure fixe. C’est tellement bête que ça parait ne poser aucun problème. Et bien, dans mon cas, oui.

Ce que je présente là est un condensé réduit au plus simple apparreil de ma problématique. Le bloc « si » fonctionne. Le bloc « A », non. Pourquoi ?

Du coup, il faut que tu fasses un SI avant ton A …
Si #heureducoucher" > 2000
Alors A 2000, fermer les volets
Sinon, A #heureducoucher", fermer le svolets
Et ca, tu le lances juste après le calcul de ton #heure de coucher# donc à 6h du mat’ par exemple

Mais du coup, avec les éléments que tu évoques là, je comprends bien mieux le fonctionnement du bloc A et je me dis que je fais nimp depuis le début :smiley:

ou alors avec un min/max ou autre calcul directement dans la condition du A ? (non testé!)

pour éviter un bloc SI, et les 2 bloc A identiques à la condition près => code plus lisible, et palie au manque de « factorisabilité » des scénario.

[EDIT] test :

log

------------------------------------
[2021-05-07 15:27:14][SCENARIO] Start : Scenario lance manuellement.
[2021-05-07 15:27:14][SCENARIO] Exécution du sous-élément de type [action] : action
[2021-05-07 15:27:14][SCENARIO] Mise à jour du tag #v1# => 25
[2021-05-07 15:27:14][SCENARIO] Mise à jour du tag #v2# => 256
[2021-05-07 15:27:14][SCENARIO] Exécution d'un bloc élément : 34
[2021-05-07 15:27:14][SCENARIO] Exécution du sous-élément de type [condition] : at
[2021-05-07 15:27:14][SCENARIO] Evaluation de la condition : [25] = 25
[2021-05-07 15:27:14][SCENARIO] Tâche : 34 programmée à : 2021-05-08 00:25:00
[2021-05-07 15:27:14][SCENARIO] Exécution d'un bloc élément : 35
[2021-05-07 15:27:14][SCENARIO] Exécution du sous-élément de type [condition] : at
[2021-05-07 15:27:14][SCENARIO] Evaluation de la condition : [" 256"] =  256
[2021-05-07 15:27:14][SCENARIO] Tâche : 35 programmée à : 2021-05-08 02:56:00
[2021-05-07 15:27:14][SCENARIO] Fin correcte du scénario
1 « J'aime »

Très sympa cette proposition avec min et max

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.