Page 1 sur 1

declenchement intempestif alarme

Publié : 05 juil. 2021, 15:45
par fred.zum
J’ai tant bien que mal réussi à faire un script lua d’alarme intrusion.
Mes compétences de scripting sont très limitées.
Toutes les nuits à une heure définie je fais un reboot du raspberry et domoticz redémarre.
Le reboot quotidien me sert à relancer le service de notification par sms que j’utilise avec un dongle 3g branché sur le raspberry.
Cela active l’alarme et elle s’enclenche. Je ne trouve pas la solution au problème pour éviter ce déclenchement.
Je suis preneur de toute remarque pouvant me faire avancer.
En vous remerciant.

Code : Tout sélectionner

commandArray = {}



----------bascule pupitre on/ Off
---------- le pupitre est en z wave + clavier et rfid. il n'envoie qu'une commande on au switch ' armement'
---- testalarm est un bouton virtuel qui lance le pannel de sécurite de domoticz 'ala'


if (devicechanged['armement'] == 'On') and (otherdevices['testalarm'] == 'Off')  then
          commandArray['testalarm'] = 'On'
    
      end



  

if (devicechanged['armement'] == 'On') and (otherdevices['testalarm'] == 'On') then
          commandArray['testalarm'] = 'Off'
          
      end
 


--mise a jour clavier domoticz

if (devicechanged['testalarm'] == 'On') then 
              commandArray['ala'] = 'Arm Away'
            commandArray['diode'] = 'On'
      end
 

if (devicechanged['testalarm'] == 'Off') then 
              commandArray['ala'] = 'Disarm'
           commandArray['sirene'] = 'Off'
           
  --- 'timer-alarme' me sert de temporisation pour desactiver le mode alarme       
      commandArray['timer-alarme'] = "Off"
     commandArray['diode'] = "Off"
  end

--diode est une diode que j'ai ajouté pour m'indiquer si l'alarme est en route ou pas
   


		if (otherdevices['ala'] == 'Arm Away') and (devicechanged['detecteur-mouvcoul'] == 'On') then
	  
		commandArray['timer-alarme'] = "On AFTER 30"
			


end




---------------------------------------------
--detedtion cuisine


		if (otherdevices['ala'] == 'Arm Away') and (devicechanged['detecteur-mouvcuis'] == 'On') then
	   	
		commandArray['timer-alarme'] = "On AFTER 30"
			


end

--end

--------------------------------------
--declenchement sirene et notification

if (otherdevices['ala'] == 'Arm Away') and (devicechanged['timer-alarme'] == 'On') then
	   	
		    
		commandArray['sirene'] = "On"
		
	os.execute('/home/pi/domoticz/scripts/sms_moi.sh "intrusion chez Fred et Alex"')

end

--la notification se fait par un script externe a domoticsz avec gamu
--------------------------------------------------------------
--relance de la sirène en cas de remouvement apres déclenchement initial


if (otherdevices['ala'] == 'Arm Away') and (otherdevices['timer-alarme'] == 'On') and (devicechanged['detecteur-mouvcoul'] == 'On') then
		    
		commandArray['sirene'] = "On"
		
		os.execute('/home/pi/domoticz/scripts/sms_moi.sh "Cambriolage chez Fred et Alex"')

end




if (otherdevices['ala'] == 'Arm Away') and (otherdevices['timer-alarme'] == 'On') and (devicechanged['detecteur-mouvcuis'] == 'On') then
		    
		commandArray['sirene'] = "On"
		
			os.execute('/home/pi/domoticz/scripts/sms_moi.sh "Cambriolage chez Fred et Alex"')

end

return commandArray


Re: declenchement intempestif alarme

Publié : 05 juil. 2021, 19:16
par Keros
Bonjour fred.zum et bienvenue sur le forum ;)

Bravo pour ton script, c'est un bon début.

Il faudrait que tu fasses de débogage pour comprendre ce qui exécute ton script en pleine nuit. Rajoute des Prints dans ton code.

Pour info, il est possible d'imbriquer des conditions. Ça peut alléger ton code.
Si A = On alors
sera exécuter si A est On
Si B = on alors
sera exécuter si A et B sont On
sinon
sera exécuter sur A est On et B est Off
sinon
sera exécuter si est Off

Re: declenchement intempestif alarme

Publié : 05 juil. 2021, 21:29
par fred.zum
Je te remercie Keros, je vais tenter tout cela.

Re: declenchement intempestif alarme

Publié : 05 juil. 2021, 21:45
par Keros
Si besoin, tu peux regarder le lien Aide au débogage dans ma signature. Tu y trouveras peut-être des infos utiles.