j’ai écrit un scenario pour m’alerter lorsque j’ai laissé le portail ouvert pendant un certain temps.
J’ai mis deux déclencheurs, portail ouvert et portail fermé.
Dans l’esprit, ce scénario déclenche un sleep de 10 min (j’ai réduit le temps à 15 secondes pour le tester), au bout de ce temps, le scénario envoi un sms pour m’informer que le portail est ouvert, une minute plus tard (ici 15 secondes) il m’envoie un nouveau sms et ferme le portail.
Si le portail est fermé, à tout moment pendant le lancement du scenario, le scenario doit s’arrêter.
J’ai lu que l’option multi-lancement permet de lancer plusieurs fois le même scenario alors que sinon, le nouveau lancement du scenario stoppe le thread en cours.
J’ai essayé les deux possibilités mais dans le cas du multi-lancement, la fermeture du portail ne stoppe pas le thread du scenario déclenché par l’ouverture du portail, sans multi-lancement, le scenario ne se relance pas malgré l’activation du déclencheur portail fermé, comme si le scenario devait aller jusqu’au bout avant d’accepter un nouveau déclenchement.
N’y a-t-il pas moyen de demander à un scenario de se relancer en s’interrompant à chaque fois qu’un déclencheur est activé?
J’espère avoir été clair, je ne suis pas sûr de moi.
Désolé par avance de ne pas répondre à la question posée mais pour le coup je ne ferais pas ça comme ça mais utiliserait plutôt la configuration avancé de la commande info « Etat »
Dans l’idée, si égal à 1 durant plus de 10mn alors lancer un scénario :
et donc il ne faut pas mettre les deux déclencheurs sur le même scénario
d’ailleurs, dans votre exemple ca ne sert à rien de mettre 2 fois le déclencheur sur la même commande en testant les 2 états possible, autant simplement mettre #[objet][equipement][etat]# sans test derrière
mais la solution de @Bison est largement préférable (faisable aussi avec un seul scénario et un premier wait au lieu de l’action sur valeur, c’est exactement pareil).
et pour la suite:
je ferais un wait 60 plutot alors pour ne pas obligatoirement attendre les 60s si fermé avant
Pourrais-tu m’expliquer la différence entre wait 60s et sleep 60s.
J’ai lu que wait était bloquant alors que sleep ne l’est pas.
Pas sûr d’avoir bien compris ce que signifie bloquant
Merci en tout pour vos explications, je vais utiliser la fonction avancée de l’état ouverture du portail.
Le wait fait une pause de x secondes maximum
En effet, on configure le wait avec une condition. Si cette condition est vraie ou devient vraie durant la pause, le scénario se poursuit.
Mais dans ton cas je ne l’ai pas proposé parce que si ça fait 10mn que le portail est ouvert il y a peu de raison pour qu’il se ferme, finalement sans action, entre la 10eme et la 11eme minutes.
Il y a des cas de figure où le wait à un vrai intérêt… Mais ici je vois pas bien .
Le but du wait 60s était d’avoir un possibilité d’agir en arrêtant le scenario manuellement au cas où le portail était maintenu ouvert pour une bonne raison.
Merci pour votre aide!