J’ai ce scénario qui bug depuis des années et j’ai envie de résoudre le souci.
Le but est d’activer la ventilation du sèche serviette pendant 800s et si appui de nouveau sur la commande arrêt de ce dernier.
Les déclencheurs:
Le 1ier , un bouton physique qui passe sur un IPX puis via un push met à jour le virtuel etat bouton:
Très souvent lorsque je déclenche la commande avant les 800s cela n’éteint pas le SS, parfois cela le rallume. La commande physique du SS se fait via un double relay qui simule les boutons sur le SS et qui revient toujours a sa position initiale.
Dans les logs je ne comprends pas que la chronologie ne soit pas triée correctement également.
Bonjour,
Si dans la conf du scénario tu n’es pas en log temps réel (ca permet de moins user le support de stockage) alors le log est ecris quand le scénario s’arrête d’ou ce que tu vois.
Hum je vois plusieurs choses qui ne me plaisent pas :
Déja le sleep dans le scénario. Je ne sais pas si tu as coché la case multi exécution dans ton scénario ? En l’état tant qu’il attend ces 800 secondes via un sleep, il ne se redéclenchera pas pour prendre en charge ton ordre de fin. Je te mettrais plus bas ce que je ferais plutot.
Pourquoi tu pousses un event pour mettre la soufflerie à Off ? tu n’a pas une commande off pour ça ?
Pourquoi tu as coché l’exécution en parallèle sur certaines actions ? (les deux cases d’une même ligne cochée). Autant dans certains cas ça peut avoir un sens, autant la si le même équipement se mange 2 commandes pile en même temps je ne sais pas comment il va réagir et si il va bien prendre en compte les deux.
Le scénario programme un « sous scénario » dans 14 minutes pour programmer l’arret
A ce stade, il rend la main : le scénario n’est plus « en cours » et il est donc pret à être relancé par exemple si tu appuie sur le bouton pour lui demander de s’arrêter
Si tu ne fais rien (pas d’appui sur le bouton d’arret) :
Au bout de 14 minutes, le sous bloc se lance et arrete le chauffage
Si tu appuie sur le bouton stop par exemple à 10 minutes :
Ton chauffage s’arrête
Avec l’action « remove_inat » il va supprimer le sous scénario qui reste en attente d’exécution.
Le sleep c’est bien quand tu as besoin d’attendre une durée pas trop longue et inconditionnelle. Si tu veux pouvoir interrompre par exemple cette durée ou la prolonger il faut utiliser DANS et pas SLEEP.
L’event pour mettre la soufflerie à Off est la pour avoir l’état du SS car je ne peux pas l’avoir depuis le SS.
les deux cases d’une même ligne cochée car cela doit s’exécuter en même temps pour simuler l’appui sur les 2 boutons du SS pour activer la ventilation.
Je ne connaissait pas le inat. @Aurel
Par contre quand tu parles de sous scénario, c’est faire fonctionner avec deux scénarios différents?
Un scénario pour la mise en marche et un scénario pour l’arrêt ?
Avec cette méthode, le scénario se lance, programme la sous tache à l’heure prévue, puis s’arrête. Et à 18h01, la sous tache se lance.
C’est en opposition avec les tempos faites avec sleep qui ne se comportent pas de la même façon : le scénario se lance, attend (en restant actif) la durée du sleep puis se termine une fois que tout est exécuté.