Aller au contenu
speedoxx007

Enclenchement Alarme D'une Zone Avec Une Télécommande

Recommended Posts

Hello

 

J'aimerai enclencher et déclencher une zone d'alarme p.ex le Rez, quand on dort au 1er étage. J'ai une télécommande Nodon Octan et j'ai 2 doors Sensor et 1 Motion Sensore à  armer et désarmer. Comment je peu faire en LUA ou Scène Bloc?

 

Merci pour vos aides. :)

 

Salutations Speedoxx007

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut speedoxx007,

Pas en état de rentrer dans les détails mais regarde le code ci dessous correspondant a mon installation.

Un récepteur 4 canaux CAMES raccordé sur 2 FGS221 pour récupérer les actions des télécommandes.

--[[
%% autostart
%% properties
53 value
51 value
45 value
%% globals
--]]

--SETTING
local idA = 53	--Commande Portail G
local idB = 55	--Portail G
local idC = 51	--Commande Portail D
local idD = 49	--Portail D
local idE = 45	--Commande Alarme
local idF = 47	--Voyant Alarme
local idSms = 72
--Tempo
local t1 = 2500 --tempo mini pour appui long
--Alarme
local sensors_garage = {57,127};
local sensors_garage_maison = {57,127,62,30};

--SCRIPT
-- vérification que la scène n'est pas déjà  en cours
if (fibaro:countScenes() == 1) then
-->fin du script

--Commande Portail G
if (tonumber(fibaro:getValue(idA, "value")) > 0 ) then
	fibaro:debug("Appui court : Commande Portail G")
    if fibaro:getGlobalValue("Alarme") == "OFF" then
      fibaro:call(idB, "turnOn")
      fibaro:debug("Portail G")
    end
fibaro:sleep (1500)
fibaro:call(idA, "turnOff")    
fibaro:call(idB, "turnOff")    
fibaro:sleep (1500)
fibaro:abort()  
end  


--Commande Portail D
if (tonumber(fibaro:getValue(idC, "value")) > 0 ) then
	fibaro:debug("Appui court : Commande Portail D")
    if fibaro:getGlobalValue("Alarme") == "OFF" then
      fibaro:call(idD, "turnOn")
      fibaro:debug("Portail D")
    end
fibaro:sleep (1500)
fibaro:call(idD, "turnOff")    
fibaro:call(idC, "turnOff")    
fibaro:sleep (1500)
fibaro:abort()  
end  

  
--Commande Alarme
if (tonumber(fibaro:getValue(idE, "value")) > 0 ) then
    
    	fibaro:sleep (t1)

 		if (tonumber(fibaro:getValue(idE, "value")) > 0 ) then
		--Appui long Commande Alarme
			if (fibaro:getGlobal("Alarme") == "OFF") then

				--Vérification aucun détecteur en alarme
				for i, v in ipairs (sensors_garage) do
 					if ( tonumber(fibaro:getValue(tonumber(v), "value")) ~= 0 ) 
 					then
  					-- Armement impossible
            		--envoi sms
   					fibaro:setGlobal("Sms", "Armement%20impossible")
  					fibaro:call(idSms, "pressButton", "3") --envoi msg à  all
          			fibaro:debug("Armement impossible")
					fibaro:abort() 
  	 				end
				end
  
  				--Armer zone garage
  				for i, v in ipairs (sensors_garage) do
  				fibaro:call(tonumber(v), "setArmed", "1");
				end
 				
				fibaro:debug("Détecteur garage armé")
			else
				--Vérification aucun détecteur en alarme
				for i, v in ipairs (sensors_garage_maison) do -- sensors_garage_maison
 					if ( tonumber(fibaro:getValue(tonumber(v), "value")) ~= 0 ) 
 					then
  					-- Armement impossible
            		--envoi sms
   					fibaro:setGlobal("Sms", "Armement%20impossible")
  					fibaro:call(idSms, "pressButton", "3") --envoi msg à  all
          			fibaro:debug("Armement impossible")
					fibaro:abort() 
  	 				end
				end

      			--Armer zone garage + maison
  				for i, v in ipairs (sensors_garage_maison) do -- sensors_garage_maison
  				fibaro:call(tonumber(v), "setArmed", "1");
				end
 	
    			fibaro:debug("Détecteurs garage & maison armés")
			end
 	
		else
		--Appui court Commande Alarme
			--Désarmer les détecteurs
        	fibaro:debug("Appui court Commande Alarme")
			for i, v in ipairs (sensors_garage_maison) do
			fibaro:call(tonumber(v), "setArmed", "0");
			end

			fibaro:debug("Détecteurs désarmés")
		end

fibaro:call(idE, "turnOff")    
end
  
--> vérification que la scène n'est pas déjà  en cours
end  

 
Tu dois pouvoir récupérer ce qui t’intéresse.
Chez moi :
appui court : désarme tous les détecteurs
appui long : arme le garage
appui long : arme garage + maison si garage déjà  armé

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour le code, mais je suis encore un débutant dans les Codes LUA...

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok,

Moi aussi j'ai débuté il y a un an.

Tu récupère des exemples de code et il faut les adapter a tes besoins.

 

Ci-dessous le code que tu as peut être besoin en plus concernant les télécommandes nodon.

Par contre, il faut rajouter les lignes concernant l'armement, dé-armement des 2 doors Sensor.... je ne les connais pas.

Mon code fonctionne pour les motions sensors.

 

Il faut également mettre le paramètre 3 (scène activation) à  1 de la télécommande nodon

--[[
%% properties
137 sceneActivation
%% globals
--]]

-- 137 correspond a l'id de ma télécommande

--SETTING
local sensors_rdc = {57,127}; --id des motion sensor
 
--SCRIPT
-- vérification que la scène n'est pas déjà  en cours
if (fibaro:countScenes() == 1) then
-->fin du script
 
local actions = {
-- O
  	[10] = function() fibaro:debug("appui simple B1")
		--Vérification aucun détecteur en alarme
		for i, v in ipairs (sensors_garage) do
 			if ( tonumber(fibaro:getValue(tonumber(v), "value")) ~= 0 ) 
 			then
  			-- Armement impossible
           		fibaro:debug("Armement impossible")
			fibaro:abort() 
  	 		end
		end
 		
		--Armer zone rdc
  		for i, v in ipairs (sensors_rdc) do
  		fibaro:call(tonumber(v), "setArmed", "1");
		end
		
		--Rajouter ici le code pour armer les 2 doors Sensor
 
		fibaro:debug("Détecteur rdc armé")
     	end, 
	[11] = function() fibaro:debug("appui long relaché B1") end,
	[12] = function() fibaro:debug("appui long B1") end,
	[13] = function() fibaro:debug("double click B1")end,

-- + 
	[20] = function() fibaro:debug("appui simple B2") end,
    	[21] = function() fibaro:debug("appui long relaché B2") end,
	[22] = function() fibaro:debug("appui long B2") end,
  	[23] = function() fibaro:debug("double click B2") end,

  -- 0
  	[30] = function() fibaro:debug("appui simple B3")
		--Désarmer les détecteurs
		for i, v in ipairs (sensors_rdc) do
		fibaro:call(tonumber(v), "setArmed", "0");
		end
 		
		--Rajouter ici le code pour armer les 2 doors Sensor

		fibaro:debug("Détecteurs rdc désarmés")
	end, 
  	[31] = function() fibaro:debug("appui long relaché B3") end,
	[32] = function() fibaro:debug("appui long B3") end,
	[33] = function() fibaro:debug("double click B3") end,

-- -  
	[40] = function() fibaro:debug("appui simple B4") end,
    	[41] = function() fibaro:debug("appui long relaché B4") end,
	[42] = function() fibaro:debug("appui long B4") end,
	[43] = function() fibaro:debug("double click B4") end,
}
 
local action = tonumber(fibaro:getValue(137, "sceneActivation"))
actions[action]()


Partager ce message


Lien à poster
Partager sur d’autres sites

×