Petite question commande sur laquelle je m’interroge.
Si ca bouge pendant X secondes dans mon salon , je veux faire ça …
(#[salon][Détecteur salon][Mouvement]# == 1) ET (#[salon][Détecteur Mouvement salon2][Mouvement]# == 1 ) …> fait ça
je trouve bien wait, pause …comme commande mais pas pendant.
Désolé les supers experts…;ca doit être simple…;mais
je vois bien la commande : stateDuration(commande)…mais je ne vois pas comment la mettre en fonction
Merci d’avance
Bonjour
stateDuration est un nombre.
Donc si tu veux le mettre dans un test booléen (vrai / faux) il faux le comparer à un nombre.
stateDuration() >= 30
(par exemple)
Pour mieux comprendre les différents temps tu peux regarder ici :
Pour avoir un mouvement de plus de 30 secondes, ça sera :
SI : (#[salon][Détecteur salon][Mouvement]# == 1) ET stateDuration(#[salon][Détecteur salon][Mouvement]# ) >= 30) OU (#[salon][Détecteur Mouvement salon2][Mouvement]# == 1 ET stateDuration(#[salon][Détecteur Mouvement salon2][Mouvement]#) >= 30)
—Alors : Je fais tel action
—Sinon : Rien
Attention : Si tu veux avoir l’info si UN détecteur détecte 30 secondes, c’est un OU (pas un ET)…
Une alternative sans avoir besoin d’historique c’est de faire un wait sur l’inverse de ce qu’on veut; donc ici un wait avec condition mouvement à 0 et en timeout le temps voulu
Et après le wait testez la condition vrai, donc mouvement à 1.
Si mouvement à 1 c’est que le wait est arrivé au timeout et donc qu’il y a eu du mouvement pendant tout ce temps.
Autre option: action sur valeur dans la config avancée de la commande info mouvement où l’on peut directement choisir le délai et l’action déclenche le scénario (qui peut faire d’autres tests si besoin)
Pour info, quand vous voulez tester si une heure est entre 2 bornes, privilégier la fonction ci-apres (avec votre methode, si vos bornes sont autour de minuit, ça deviendra compliqué à tester)
time_between(time,start,end) : Permet de tester si un temps est entre deux valeurs avec time=temps (ex : 1530), start=temps, end=temps. Les valeurs start et end peuvent être à cheval sur minuit.