[LUA] Gestion cumulus PAC air/eau avec installation photovoltaïque autoconsommation

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
marsflow
Messages : 83
Inscription : 25 mai 2017, 20:42
Localisation : Landes

[LUA] Gestion cumulus PAC air/eau avec installation photovoltaïque autoconsommation

Message par marsflow »

Bonjour,

je partage mon script pour la gestion d'une pac avec installation photovoltaïque autoconsommation

Code : Tout sélectionner

--[[
mon script permet le démarrage d'une pac air/eau, avec PV, si mes panneaux produisent alors le cumulus PAC
se lance, malgré que la température ne soit pas au minimum (thermostat) donc thermostat intégré mis au max,
et installation d'un thermcouple pour récupérer la temperature de l'eau, si j'aurai gardé le thermostat de base
mon cumulus se serait lancé qu'au minimum thermostat que avec le thermocouple je le lance même si la temperature
n'est pas au minimum.

--]]
-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')

 --------------------------------
 ------ Start of edit section ------
 -------------------------------- 
 
 local PPMT = tonumber(otherdevices_svalues['PMAISON'])  -- puissance utilisation maison 
 local PPAC = 1200 --puissance de ma pompe à chaleur approx
 local PPST = tonumber(otherdevices_svalues['solaredgeP']) --puissance production solaire
 local sonde = 'CUMULUStemp' --Nom de la sonde de température
 local OnOff = 'regulationsol' --inter gestion soleil
 local cumulus = 'CUMULUS' --Nom du contacte à allumer/éteindre
 local debug = false -- false ou true
 local PMax = 200 --non utilisé
 local tempmaxsol = tonumber(otherdevices_svalues['thermostat cumulus mode normal'])-3 --thermostat mode normal
 local tempmaxssol = tonumber(otherdevices_svalues['thermostat chauffe eau mode eco'])-2 --thermostat mode eco
 local RAZ = 1 
 local temperature2 = 25 -- utilisation test
 local hysteresisas = 3 -- hysteresis mode normal
 local hysteresisss = 2 -- hysteresis mode eco

 --------------------------------
 -- End of edit section --
 --------------------------------

commandArray = {}



if (devicechanged[sonde]) and (otherdevices[OnOff]=='On') then -- 3 variables à mettre
   MONTETEMPvar = (uservariables['MONTETEMP']) + 1 - 1
   MANQUESOLvar = (uservariables['MANQUESOL']) + 1 - 1
   FORCAGEvar = (uservariables['FORCAGE']) + 1 - 1
   
   local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée
     
 
    if (otherdevices[OnOff]=='On') then -- si mon interrupteur est en on tout est ok pour démarrer cumulus
            print ('-- régulation cumulus --')
		if debug then
			print ('Puissance Maison : ' .. PPMT)
		    print ('Puissance soleil : ' .. PPST)
		    print ('température : ' .. temperature)
		    print ('Puissance cumulus : ' .. PPAC)
			print ('Puissance limite : ' .. PMax)
			print ('variable manque soleil : ' ..uservariables['MANQUESOL'])
		    print ('Puissance limite : ' .. PMax) --non utilisé
			print ('mode normal : ' .. tempmaxsol)
			print ('mode eco : ' .. tempmaxssol)			
		    print  ('valeur sortie mode eco : ' .. MONTETEMPvar)--variable pour atteindre temperature normal
		    end
            print ('-- régulation chauffage actif --')
       
			if (otherdevices[cumulus]=='Off') then
                
				
				if (temperature < (tempmaxsol - hysteresisas)  and   (PPMT + PPAC) < PPST) then
		--démarrage si soleil puissance panneau
				   print('Allumage du cumulus mode normal')
                
				 commandArray[cumulus]='On'
				 commandArray['Variable:MANQUESOL']= tostring(RAZ)
			      commandArray['Variable:MONTETEMP']= tostring(RAZ)
			  
   		        elseif  (temperature < (tempmaxssol - hysteresisss) and (PPMT + PPAC) > PPST) then
				--démarrage si eau température trop basse
				print('Allumage du cumulus mode eco')
				 commandArray[cumulus]='On'
				 
				end
			
				
	    elseif (temperature >  (tempmaxsol + hysteresisas) and otherdevices[cumulus]=='On') then
                 --temperature mode normal atteinte
                    print('température atteine')
					print('Extinction cumulus')
                  commandArray['Variable:FORCAGE']= tostring(RAZ)
				  commandArray['Variable:MANQUESOL']= tostring(RAZ)
				  commandArray['Variable:MONTETEMP']= tostring(RAZ)
				  commandArray[cumulus]='Off'
				  
         elseif (temperature >  (tempmaxsol + hysteresisas) and otherdevices[cumulus]=='Off') then
              --ne ser pas vraiment
                    print('température atteine')

		elseif (PPMT > PPST) and (otherdevices[cumulus]=='On') and (MANQUESOLvar > 20) and (FORCAGEvar > 2) and  (temperature > (tempmaxssol + hysteresisss)) then

-- cumulus s'éteint en mode eco temperature mode sans soleil (tempmaxssol) valeur manque soleil dépasse les 20 et le forçage dépasse les 2
-- donc affiche le message plus bas mode eco actif  et la variable MONTETEMP permet de relancer si le soleil revient pour atteindre la température normal
--coupe aussi le cumulus à 2°C de moins que la chauffe normal (je vais mettre une marge plus importante plus tard)
                 commandArray['Variable:MONTETEMP']= tostring(3)
				 commandArray[cumulus]='Off'
                    print('température réduite atteine')
					print('Extinction cumulus')




			
        elseif  (MONTETEMPvar > 1) and (otherdevices[cumulus]=='Off' and  (PPMT + PPAC) < PPST) then
           -- remise en route si la température n'est pas atteinte la variable MONTETEMPvar sert à empécher cette commande de se lancer elle se remet à 0 
		   --à la temperature atteindre mode normal
                       print('remise en route')

                 commandArray['Variable:MONTETEMP']=tostring(RAZ)
                 commandArray[cumulus]='On'

        elseif  (PPMT < PPST) and (otherdevices[cumulus]=='On') then
                -- prévient que la pac marche et remet la variable manque soleil à 0
			     commandArray['Variable:MANQUESOL']= tostring(RAZ)

                      print('chauffe cumulus en route puissance en cours')     
                      print('Temp actuelle :' .. temperature) 
			          print ('Puissance Maison : ' .. PPMT )
		              print ('Puissance soleil : ' .. PPST)
                      print ('Puissance soleil : ' .. tempmaxsol) 
                      print ('Puissance soleil : ' .. hysteresisas)

		   --partie gestion manque soleil>>>>>>>>>>>>>>>>>>>>>>>>>>
		   
		   
           	elseif (PPMT > PPST) and  (otherdevices[cumulus]=='On') then
                      

                   if (MANQUESOLvar < 20) then	  

			  -- température max pendant 20 essaies
			   commandArray['Variable:MANQUESOL']= tostring(uservariables["MANQUESOL"] +1)
                    print('Manque Puissance Panneaux')
                    print('Valeur essaie sur 20 : ' ..uservariables['MANQUESOL'])
					print('Temp actuelle :' .. temperature)
					 print ('Puissance Maison : ' .. PPMT)
		          print ('Puissance soleil : ' .. PPST)
				  
				  elseif (MANQUESOLvar == 20) then
				       
           	    --température réduite  jusqu'a retour soleil
			   commandArray['Variable:FORCAGE']= tostring(3)
			   commandArray['Variable:MANQUESOL']= tostring(21)
                    print('activation mode mode eco')
                    print('Valeur essaie sur 20 dépassée : ' ..uservariables['MANQUESOL'])		
					print('Temp actuelle :' .. temperature)
					print ('Puissance Maison : ' .. PPMT)
		            print ('Puissance soleil : ' .. PPST)
					
			      elseif (MANQUESOLvar >= 21) and (FORCAGEvar > 2) then
           
                    print('Mode eco actif')
                    print('Valeur essaie sur 20 dépassée : ' ..uservariables['MANQUESOL'])		
					print('Temp actuelle :' .. temperature)
					print ('Puissance Maison : ' .. PPMT)
		            print ('Puissance soleil :  ' .. PPST)

                        end
				  end
			   end	  
          
	-- partie pour afficher chauffe pac coupé
 
 elseif (devicechanged[OnOff]=='Off') and (otherdevices[cumulus]=='On') then 
    commandArray[cumulus]='Off'
	print ('chauffe extinction')
 elseif (devicechanged[OnOff]=='Off') and (otherdevices[cumulus]=='Off') then
    print ('chauffe arrêté')
     

end

 

 
return commandArray
marsflow
Messages : 83
Inscription : 25 mai 2017, 20:42
Localisation : Landes

Re: gestion cumulus PAC air/eau avec installation photovoltaïque autoconsommation

Message par marsflow »

modification en profondeur

Code : Tout sélectionner

--[[
mon script permet le démarrage d'une pac air/eau, avec PV, si mes panneaux produisent alors le cumulus PAC
se lance, malgré que la température ne soit pas au minimum (thermostat) donc thermostat intégré mis au max,
et installation d'un thermcouple pour récupérer la temperature de l'eau, si j'aurai gardé le thermostat de base
mon cumulus se serait lancé qu'au minimum thermostat que avec le thermocouple je le lance même si la temperature
n'est pas au minimum.

--]]
-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')

 --------------------------------
 ------ Start of edit section ------
 -------------------------------- 
 
 local PPMT = tonumber(otherdevices_svalues['PMAISON'])  -- puissance utilisation maison 
 local PPAC = 1200 --puissance de ma pompe à chaleur approx
 local PPST = tonumber(otherdevices_svalues['solaredgeP']) --puissance production solaire
 local sonde = 'CUMULUStemp' --Nom de la sonde de température
 local OnOff = 'regulationsol' --inter gestion soleil
 local cumulus = 'CUMULUS' --Nom du contacte à allumer/éteindre
 local debug = false -- false ou true
 local PMax = 200 --non utilisé
 local tempmaxsol = tonumber(otherdevices_svalues['thermostat cumulus mode normal'])--thermostat mode normal
 local tempmaxssol = tonumber(otherdevices_svalues['thermostat chauffe eau mode eco']) --thermostat mode eco
 local RAZ = 1 
 local temperature2 = 25 -- utilisation test
 local hysteresisas = 3 -- hysteresis mode normal
 local hysteresisss = 2 -- hysteresis mode eco

 --------------------------------
 -- End of edit section --
 --------------------------------

commandArray = {}



if (devicechanged[sonde]) and (otherdevices[OnOff]=='On') then -- 3 variables à mettre
   MONTETEMPvar = (uservariables['MONTETEMP']) + 1 - 1
   MANQUESOLvar = (uservariables['MANQUESOL']) + 1 - 1
   FORCAGEvar = (uservariables['FORCAGE']) + 1 - 1
   
   local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée
     
 
    if (otherdevices[OnOff]=='On') then -- si mon interrupteur est en on tout est ok pour démarrer cumulus
            print ('-- régulation cumulus actif --')
		if debug then
			print ('Puissance Maison : ' .. PPMT)
		    print ('Puissance soleil : ' .. PPST)
		    print ('température : ' .. temperature)
		    print ('Puissance cumulus : ' .. PPAC)
			print ('Puissance limite : ' .. PMax)
			print ('variable manque soleil : ' ..uservariables['MANQUESOL'])
		    print ('Puissance limite : ' .. PMax) --non utilisé
			print ('mode normal : ' .. tempmaxsol)
			print ('mode eco : ' .. tempmaxssol)			
		    print  ('valeur sortie mode eco : ' .. MONTETEMPvar)--variable pour atteindre temperature normal
		    print ('-- régulation cumulus actif --')
		   end
            
       
			if (otherdevices[cumulus]=='Off') then
                
				
				if (temperature < (tempmaxsol - hysteresisas)  and   (PPMT + PPAC) < PPST) then
		--démarrage si soleil puissance panneau
				   print('Allumage du cumulus mode normal')
                
				 commandArray[cumulus]='On'
				 commandArray['Variable:MANQUESOL']= tostring(RAZ)
			      commandArray['Variable:MONTETEMP']= tostring(RAZ)
			  
   		        elseif  (temperature < (tempmaxssol - hysteresisss) and (PPMT + PPAC) > PPST) then
				--démarrage si eau température trop basse
				print('Allumage du cumulus mode eco')
				 commandArray[cumulus]='On'
				 
				 

			    elseif  (MONTETEMPvar > 1 and (PPMT + PPAC) < PPST) then

                    print('remise en route')

                 commandArray['Variable:MONTETEMP']=tostring(RAZ)
                 commandArray[cumulus]='On'
				end

		 elseif (temperature >  (tempmaxsol + hysteresisas) and otherdevices[cumulus]=='On') then
                 --temperature mode normal atteinte
                    print('température atteine')
					print('Extinction cumulus')
                  commandArray['Variable:FORCAGE']= tostring(RAZ)
				  commandArray['Variable:MANQUESOL']= tostring(RAZ)
				  commandArray['Variable:MONTETEMP']= tostring(RAZ)
				  commandArray[cumulus]='Off'
		
		elseif  (PPMT < PPST) and (otherdevices[cumulus]=='On') then
                
			      commandArray['Variable:MANQUESOL']= tostring(RAZ)

                    print('chauffe cumulus en route puissance en cours')     
                    print('Temp actuelle :' .. temperature) 
			        print ('Puissance Maison : ' .. PPMT )
		            print ('Puissance soleil : ' .. PPST)
                    print ('temperature mode normal : ' .. tempmaxsol)
                    print ('hysteresis mode normal : ' .. hysteresisas)

		

				  
         elseif (temperature >  (tempmaxsol + hysteresisas) and otherdevices[cumulus]=='Off') then
              --ne ser pas vraiment
                    print('température atteine')

		elseif (PPMT > PPST) and (otherdevices[cumulus]=='On') and (MANQUESOLvar > 20) and (FORCAGEvar > 2) and  (temperature > (tempmaxssol + hysteresisss)) then

-- cumulus s'éteint en mode eco temperature mode sans soleil (tempmaxssol) valeur manque soleil dépasse les 20 et le forçage dépasse les 2
-- donc affiche le message plus bas mode eco actif  et la variable MONTETEMP permet de relancer si le soleil revient pour atteindre la température normal
--coupe aussi le cumulus à 2°C de moins que la chauffe normal (je vais mettre une marge plus importante plus tard)
                 commandArray['Variable:MONTETEMP']= tostring(3)
				 commandArray[cumulus]='Off'
                    print('température réduite atteine')
					print('Extinction cumulus')


	

		 
		 --partie gestion manque soleil>>>>>>>>>>>>>>>>>>>>>>>>>>
		   
	   
		   
           	elseif (PPMT > PPST) and  (otherdevices[cumulus]=='On') then
                      

                   if (MANQUESOLvar < 20) then	  

			  -- température max pendant 20 essaies
			   commandArray['Variable:MANQUESOL']= tostring(uservariables["MANQUESOL"] +1)
                    print('Manque Puissance Panneaux')
                    print('Valeur essaie sur 20 : ' ..uservariables['MANQUESOL'])
					print('Temp actuelle :' .. temperature)
					 print ('Puissance Maison : ' .. PPMT)
		          print ('Puissance soleil : ' .. PPST)
				  
				  elseif (MANQUESOLvar == 20) then
				       
           	    --température réduite  jusqu'a retour soleil
			   commandArray['Variable:FORCAGE']= tostring(3)
			   commandArray['Variable:MANQUESOL']= tostring(21)
                    print('activation mode mode eco')
                    print('Valeur essaie sur 20 dépassée : ' ..uservariables['MANQUESOL'])		
					print('Temp actuelle :' .. temperature)
					print ('Puissance Maison : ' .. PPMT)
		            print ('Puissance soleil : ' .. PPST)
					
			      
				  
				  elseif (MANQUESOLvar >= 21) and (FORCAGEvar > 2) then
           
                    print('Mode eco actif')
                    print('Valeur essaie sur 20 dépassée : ' ..uservariables['MANQUESOL'])		
					print('Temp actuelle :' .. temperature)
					print ('Puissance Maison : ' .. PPMT)
		            print ('Puissance soleil :  ' .. PPST)

                        end
				  end
			   end	  
          
	-- partie pour afficher chauffe pac coupé
 
 elseif (devicechanged[OnOff]=='Off') and (otherdevices[cumulus]=='On') then 
    commandArray[cumulus]='Off'
	print ('chauffe extinction')
 elseif (devicechanged[OnOff]=='Off') and (otherdevices[cumulus]=='Off') then
    print ('chauffe arrêté')



end

 

 
return commandArray
marsflow
Messages : 83
Inscription : 25 mai 2017, 20:42
Localisation : Landes

Re: gestion cumulus PAC air/eau avec installation photovoltaïque autoconsommation

Message par marsflow »

modification en profondeur

Code : Tout sélectionner

--[[
mon script permet le démarrage d'une pac air/eau, avec PV, si mes panneaux produisent alors le cumulus PAC
se lance, malgré que la température ne soit pas au minimum (thermostat) donc thermostat intégré mis au max,
et installation d'un thermcouple pour récupérer la temperature de l'eau, si j'aurai gardé le thermostat de base
mon cumulus se serait lancé qu'au minimum thermostat que avec le thermocouple je le lance même si la temperature
n'est pas au minimum.

--]]
-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')

 --------------------------------
 ------ Start of edit section ------
 -------------------------------- 
 
 local PPMT = tonumber(otherdevices_svalues['PMAISON'])  -- puissance utilisation maison 
 local PPAC = 1200 --puissance de ma pompe à chaleur approx
 local PPST = tonumber(otherdevices_svalues['solaredgeP']) --puissance production solaire
 local sonde = 'CUMULUStemp' --Nom de la sonde de température
 local OnOff = 'regulationsol' --inter gestion soleil
 local cumulus = 'CUMULUS' --Nom du contacte à allumer/éteindre
 local debug = false -- false ou true
 local PMax = 200 --non utilisé
 local tempmaxsol = tonumber(otherdevices_svalues['thermostat cumulus mode normal'])--thermostat mode normal
 local tempmaxssol = tonumber(otherdevices_svalues['thermostat chauffe eau mode eco']) --thermostat mode eco
 local RAZ = 1 
 local temperature2 = 25 -- utilisation test
 local hysteresisas = 3 -- hysteresis mode normal
 local hysteresisss = 2 -- hysteresis mode eco

 --------------------------------
 -- End of edit section --
 --------------------------------

commandArray = {}



if (devicechanged[sonde]) and (otherdevices[OnOff]=='On') then -- 3 variables à mettre
   MONTETEMPvar = (uservariables['MONTETEMP']) + 1 - 1
   MANQUESOLvar = (uservariables['MANQUESOL']) + 1 - 1
   FORCAGEvar = (uservariables['FORCAGE']) + 1 - 1
   
   local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée
     
 
    if (otherdevices[OnOff]=='On') then -- si mon interrupteur est en on tout est ok pour démarrer cumulus
            print ('-- régulation cumulus actif --')
		if debug then
			print ('Puissance Maison : ' .. PPMT)
		    print ('Puissance soleil : ' .. PPST)
		    print ('température : ' .. temperature)
		    print ('Puissance cumulus : ' .. PPAC)
			print ('Puissance limite : ' .. PMax)
			print ('variable manque soleil : ' ..uservariables['MANQUESOL'])
		    print ('Puissance limite : ' .. PMax) --non utilisé
			print ('mode normal : ' .. tempmaxsol)
			print ('mode eco : ' .. tempmaxssol)			
		    print  ('valeur sortie mode eco : ' .. MONTETEMPvar)--variable pour atteindre temperature normal
		    print ('-- régulation cumulus actif --')
		   end
            
       
			if (otherdevices[cumulus]=='Off') then
                
				
				if (temperature < (tempmaxsol - hysteresisas)  and   (PPMT + PPAC) < PPST) then
		--démarrage si soleil puissance panneau
				   print('Allumage du cumulus mode normal')
                
				 commandArray[cumulus]='On'
				 commandArray['Variable:MANQUESOL']= tostring(RAZ)
			      commandArray['Variable:MONTETEMP']= tostring(RAZ)
			  
   		        elseif  (temperature < (tempmaxssol - hysteresisss) and (PPMT + PPAC) > PPST) then
				--démarrage si eau température trop basse
				print('Allumage du cumulus mode eco')
				 commandArray[cumulus]='On'
				 
				 

			    elseif  (MONTETEMPvar > 1 and (PPMT + PPAC) < PPST) then

                    print('remise en route')

                 commandArray['Variable:MONTETEMP']=tostring(RAZ)
                 commandArray[cumulus]='On'
				end

		 elseif (temperature >  (tempmaxsol + hysteresisas) and otherdevices[cumulus]=='On') then
                 --temperature mode normal atteinte
                    print('température atteine')
					print('Extinction cumulus')
                  commandArray['Variable:FORCAGE']= tostring(RAZ)
				  commandArray['Variable:MANQUESOL']= tostring(RAZ)
				  commandArray['Variable:MONTETEMP']= tostring(RAZ)
				  commandArray[cumulus]='Off'
		
		elseif  (PPMT < PPST) and (otherdevices[cumulus]=='On') then
                
			      commandArray['Variable:MANQUESOL']= tostring(RAZ)

                    print('chauffe cumulus en route puissance en cours')     
                    print('Temp actuelle :' .. temperature) 
			        print ('Puissance Maison : ' .. PPMT )
		            print ('Puissance soleil : ' .. PPST)
                    print ('temperature mode normal : ' .. tempmaxsol)
                    print ('hysteresis mode normal : ' .. hysteresisas)

		

				  
         elseif (temperature >  (tempmaxsol + hysteresisas) and otherdevices[cumulus]=='Off') then
              --ne ser pas vraiment
                    print('température atteine')

		elseif (PPMT > PPST) and (otherdevices[cumulus]=='On') and (MANQUESOLvar > 20) and (FORCAGEvar > 2) and  (temperature > (tempmaxssol + hysteresisss)) then

-- cumulus s'éteint en mode eco temperature mode sans soleil (tempmaxssol) valeur manque soleil dépasse les 20 et le forçage dépasse les 2
-- donc affiche le message plus bas mode eco actif  et la variable MONTETEMP permet de relancer si le soleil revient pour atteindre la température normal
--coupe aussi le cumulus à 2°C de moins que la chauffe normal (je vais mettre une marge plus importante plus tard)
                 commandArray['Variable:MONTETEMP']= tostring(3)
				 commandArray[cumulus]='Off'
                    print('température réduite atteine')
					print('Extinction cumulus')


	

		 
		 --partie gestion manque soleil>>>>>>>>>>>>>>>>>>>>>>>>>>
		   
	   
		   
           	elseif (PPMT > PPST) and  (otherdevices[cumulus]=='On') then
                      

                   if (MANQUESOLvar < 20) then	  

			  -- température max pendant 20 essaies
			   commandArray['Variable:MANQUESOL']= tostring(uservariables["MANQUESOL"] +1)
                    print('Manque Puissance Panneaux')
                    print('Valeur essaie sur 20 : ' ..uservariables['MANQUESOL'])
					print('Temp actuelle :' .. temperature)
					 print ('Puissance Maison : ' .. PPMT)
		          print ('Puissance soleil : ' .. PPST)
				  
				  elseif (MANQUESOLvar == 20) then
				       
           	    --température réduite  jusqu'a retour soleil
			   commandArray['Variable:FORCAGE']= tostring(3)
			   commandArray['Variable:MANQUESOL']= tostring(21)
                    print('activation mode mode eco')
                    print('Valeur essaie sur 20 dépassée : ' ..uservariables['MANQUESOL'])		
					print('Temp actuelle :' .. temperature)
					print ('Puissance Maison : ' .. PPMT)
		            print ('Puissance soleil : ' .. PPST)
					
			      
				  
				  elseif (MANQUESOLvar >= 21) and (FORCAGEvar > 2) then
           
                    print('Mode eco actif')
                    print('Valeur essaie sur 20 dépassée : ' ..uservariables['MANQUESOL'])		
					print('Temp actuelle :' .. temperature)
					print ('Puissance Maison : ' .. PPMT)
		            print ('Puissance soleil :  ' .. PPST)

                        end
				  end
			   end	  
          
	-- partie pour afficher chauffe pac coupé
 
 elseif (devicechanged[OnOff]=='Off') and (otherdevices[cumulus]=='On') then 
    commandArray[cumulus]='Off'
	print ('chauffe extinction')
 elseif (devicechanged[OnOff]=='Off') and (otherdevices[cumulus]=='Off') then
    print ('chauffe arrêté')



end

 

 
return commandArray
rajout aussi d'un second script device celui ci pour lancer le cumulus même si il n'est pas au minimum à une heure précise (12h)

Code : Tout sélectionner

-- Fonction planning time

 --------------------------------
 ------ Start of edit section ------
 -------------------------------- 

local cumulus = 'CUMULUS' --Nom du contacte à allumer/éteindre
local pacH = "12:00"

 --------------------------------
 -- End of edit section --
 --------------------------------




time=os.date("*t")


local heure = string.sub(os.date("%X"), 1, 5)
 
commandArray = {}

 if time.min%1==0 then

    if  heure == pacH then

print ("lancement cumulus")

commandArray[cumulus]='On'


        end
   end

return commandArray
Répondre