Je souhaiterai créer un scénario pour allumer la lumière suite à une détection de mouvement et l’éteindre après X minutes si aucun autre mouvement n’a été détecté.
Là où je coince c’est pour réarmer le Timer de X minutes si on rebouge.
Quelle est la méthode à suivre ?
Actuellement je jongle entre deux scénario
Allume, set une variable avec l’heure actuelle + X minutes puis appel du scénario d’extinction
Le script d’extinction test si la date calculée et mise dans la variable est échue
Désolé j’ai pas fait la bonne recherche, je vais lire le tuto et l’adapter à mon besoin.
Le vrai scénario est de laisser la lumière dans l’allée en veilleuse au coucher du soleil (aléatoire) et que si qqu passe devant un détecteur ça s’allume plus fort puis redevienne en veilleuse quand plus personne n’est dehors.
Je ferai:
Déclencheur: coucher du soleil et lever du soleil (ou en fonction de l’heure avec un time between) et détection présence
Dans le scénario:
si présence == 1
lumière 100% pdt x secondes
avec une pause après les 100%
lumière x% pour veilleuse
Sinon → lumière x% pour veilleuse
Bonjour,
Il faut faire beaucoup plus simple, pas de variable, un seul scénario:
en déclencheur ton détecteur (sans condition)
un premier bloc: remove_inat
un deuxième bloc
SI détecteur == 1 => allume
SINON, bloc DANS x min => éteindre
c’est tout, si le mouvement se répète, soit ton détecteur ne passera pas (encore) à 0, soit il sera déjà passé à 0 (et sera donc à 1) et donc le bloc DANS aura été programmé mais le remove_inat l’annulera et cela prolonge le délai.
Merci pour les explications. J’ai essayé de faire mon scénario sans le matos en simulant la détection de présence avec une variable de trigger… C’était là mon erreur mais en tt cas le remove_inat est super malin.
Cela sert à annuler les blocs « dans » (=« in ») et « A » (=« at ») du scénario.
Subtilité : si un bloc dans/à est reprogrammé par une deuxième exécution du scénario le précédent est automatiquement supprimé/annulé. Mais si le bloc dans/à était créé dans un SI par exemple et qu’à la deuxième exécution le si n’est pas valide alors le bloc ne sera pas reprogrammé et donc le précédent ne sera pas annulé.
Ici on veut systématiquement annuler le précédent et prolonger le délai d’extinction de autant si plus de détection.