Voilà je m'explique.
Lorsque je mets mon alarme, je veux savoir si malgré tout quelqu'un ouvre le portail. Evidemment comme on passe tous par le portail je mets un temps d'attente avant le declenchement.
Le seul soucis c'est que je decale le temps de declenchement de la variable mais si l'état d'une des deux variables change entre temps, il ne le prend pas en compte et procede quand meme au premier changement. Je vous met le script pour mieux comprendre :
Code : Tout sélectionner
commandArray = {}
Alarme=uservariables["Alarme"]
Portail=uservariables["Portail"]
debug=uservariables["debug"]
if (debug == "OUI") then
print("Variables de base :")
print("Alarme = "..Alarme)
print("Portail = "..Portail)
end
-- Si mon alarme est en route (1) et que le portail s'ouvre (1), je passe l'alarme en statut 2
if Alarme == 1 and Portail == 1 then
commandArray["Variable:Alarme"]='2 AFTER 20'
-- le probleme est ici dans le decalage de 20secondes. Si je change l'état de mon alarme après que alerme=1 et portail=1 (c'est a dire j'ai passé le portail pour entrer ma voiture et je vais desactiver l'alarme (0)), le script va quand meme continuer à compter les 20 secondes et la passer à 2 et donc m'envoyer les alertes.
end
---Si mon alarme passe au statut 2 : j'envoi les différentes alertes et la passe au statut 3 pour ne pas avoir des millions de notifications
if Alarme == 2 then
print ("Portail ouvert malgré l'alarme !!!")
commandArray["Variable:Alarme"]='3'
-- commandArray["OpenURL"]='******'
-- commandArray["SendEmail"]='****'
end
---Retour au statut initial si le portail se ferme entre temps
if Alarme == 3 and Portail == 0 then
commandArray["Variable:Alarme"]='1'
end
return commandArray