J’ai créé un scénario qui se base sur SolCast (grand merci pour ce pluggin !)
Mais j’ai remarqué que le Bloc A ne s’exécute pas.
Explication :
Je tombe bien dans mon bloc A et je vois le log de génération d’une tâche.
Dans le cron, je vois bien ma tâche avec une programmation et un timeout de 60.
Pour mon cas, les prévisions météos me donnent un lancement à 12h50, la tâche est générée à 9h. Quelque minute plus tard (environ 10m), la tâche disparait du cron.
Je souhaitais vous remonter mon cas, savoir si je suis le seul et le comprendre.
Pour le contourner, je pense faire un SI between_time avec des variables.
Merci pour votre aide
Informations Jeedom Delta
Core : 4.4.19 (master)
DNS Jeedom Delta : non
Plugin : SolCast
Version : 2025-04-21 09:55:31 (stable)
Merci pour ton retour rapide
Oui effectivement, il se relance, mais j’ai mis des conditions pour qu’il ne recrée pas de tâche.
Mais je comprend bien ton retour, quand il se relance, il efface les tâches du cron !
C’est quoi la bonne pratique ?
Comment je peux bloquer le déclenchement si j’ai une tâche ? (ou une variable)
Ou alors je met un SI qui stop tout ?
Je n’ai jamais observé un tel comportement.
Je suis d’accord avec les remarques de @ngrataloup
Par contre précision vis à vis du timeout que tu as pu observer dans le programmateur de taches, c’est la durée max d’écution de la sous tache et en aucun cas un délai max entre la programmation de la tache et son exécution
Le remove_inat peut avoir son interet dans certains cas mais pas dans tous.
Il à son intérêt quand on va forcément reprogrammer les blocs A dans la suite du scénario.
Si la programmation du bloc A est soumise à condition, soit tu ne le mets pas du tout, soit tu le mets juste avant la reprogrammation du ou des blocs A (donc dans ton cas à l’intérieur du bloc SI et pas avant).
Par contre n’oublie pas que les logs c’est la vie Avec ça tu aurais vu que la tache avait été supprimée et pas reprogrammée.
Un remove_inat apparait sous cette forme :
[2025-07-01 13:09:03][SCENARIO] - Exécution du sous-élément de type [action] : action
[2025-07-01 13:09:03][SCENARIO] Suppression des blocs DANS et A programmés du scénario
[2025-07-01 13:09:03][SCENARIO] Fin correcte du scénario
Merci pour ton retour !
Effectivement, il ne faut pas le désactiver, il faut le remettre juste avant le A.
Je peux très bien avoir une nouvelle programmation plus tôt, il faut la prendre !
j’aurais dit l’inverse: il n’a pas d’intérêt quand on va les reprogrammer puisque justement ils seront déjà automatiquement annulés par la re-programmation.
le remove_inat a un intérêt lorsqu’on ne va pas forcément reprogrammer les blocs et que potentiellement on veut annuler ceux qui l’étaient car le contexte a changé
exemple:
si présence dans un couloir, j’allume et j’annule la programmation (remove_inat)
si absence, je programme l’extinction dans 2 min (qui sera annulé si on revient dans les 2min)
non c’est inutile dans le meilleur des cas et ca peut poser problème dans le pire des cas (en fonction des scénarios):
si bloc DANS/A, l’ancien est automatiquement annulé
alors qu’un remove_inat va annuler tous les blocs du scénario et pas que « celui qui suit ».
Tu as raison, en fait ma remarque était valable quand par exemple tu as plusieurs blocs SI conditionnés et que tu ne sais pas lesquels vont être reprogrammés en fonction des conditions : tu supprime tout et tu les recrées. Si tu n’en à qu’un effectivement il sera écrasé donc ce n’est pas utile.
Bref tout dépend du contexte, y a des moments où c’est utile et d’autres pas