Code : Tout sélectionner
--------------------------------
------ Variables à éditer ------
--------------------------------
local M3 = 4
local M3H = 3
local duree_cycle = tonumber(M3)/tonumber(M3H)*60 --M3 piscine / débit M3 pompe *60
local C01=0.1*duree_cycle -- si <10°
local C02=0.5*duree_cycle -- si 10-14°
local C03=1*duree_cycle -- si 15-20°
local C04=2*duree_cycle -- si 20-28°
local C05=3*duree_cycle -- si >28°
local H_Raz = 10 -- Heure de remise à zéro du compteur.
local scriptName = 'Script_PISCINE_DZVENT'
local scriptVersion = '1.0'
local newValue = value
local counterDivider = 1 -- x is depending on the counter divider set for the device
---------------------------------------------------------------------------------------------------------------------------------------------
-----*****************EN TEST************ VARIABLE *****************EN TEST************---------------------------
---------------------------------------------------------------------------------------------------------------------------------------------
--local T_eau=domoticz.devices('Sortie_piscine').temperature()
return {
on = {
timer = {
'every 10 minutes at 10:30-22:00',
}
--devices = { 340 }
},
-- custom logging level for this script
logging = {
--level = domoticz.LOG_DEBUG,
level = domoticz.LOG_INFO, -- Seulement un niveau peut être actif; commenter les autres
-- level = domoticz.LOG_ERROR, -- Only one level can be active; comment others
-- level = domoticz.LOG_MODULE_EXEC_INFO,
marker = scriptName..' v'..scriptVersion
},
execute = function(domoticz, item)
---------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------calcul du temps de filtration en fonction de la temperature-------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
if (domoticz.devices('Sortie_piscine').temperature) < 10 then
domoticz.variables('Var_Piscine_bes').set(C01)
----------------------------------------------------------------------------------------------------------
elseif (domoticz.devices('Sortie_piscine').temperature) >= 10 and (domoticz.devices('Sortie_piscine').temperature) < 14 then
domoticz.variables('Var_Piscine_bes').set(C02)
----------------------------------------------------------------------------------------------------------
elseif (domoticz.devices('Sortie_piscine').temperature) >= 14 and (domoticz.devices('Sortie_piscine').temperature) < 20 then
domoticz.variables('Var_Piscine_bes').set(C03)
----------------------------------------------------------------------------------------------------------
elseif (domoticz.devices('Sortie_piscine').temperature) >= 20 and (domoticz.devices('Sortie_piscine').temperature) < 28 then
domoticz.variables('Var_Piscine_bes').set(C04)
----------------------------------------------------------------------------------------------------------
elseif (domoticz.devices('Sortie_piscine').temperature) >= 28 then
domoticz.variables('Var_Piscine_bes').set(C05)
----------------------------------------------------------------------------------------------------------
end
---------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------commande de la pompe-------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------
if domoticz.devices('Pompe mode manu').state == 'Off' then
domoticz.log ('************************************************************')
domoticz.log ('*********************Mode Manu désactivé********************')
domoticz.log ('************************************************************')
if (domoticz.variables('Var_Piscine_bes').value > domoticz.variables('Var_Piscine_tmp').value) then
domoticz.devices('Filtration piscine').switchOn().forMin(5)
domoticz.log ('************************************************************')
domoticz.log ('**************************POMPE_ON**************************')
domoticz.log ('************************************************************')
else
domoticz.devices('Filtration piscine').switchOff()
domoticz.log ('************************************************************')
domoticz.log ('***********************POMPE_OFF****************************')
domoticz.log ('************************************************************')
end
else
domoticz.log ('************************************************************')
domoticz.log ('*********************Mode Manu activé***********************')
domoticz.log ('************************************************************')
end
---------------------------------------------------------------------------------------------------------------------------------------------
-----*****************EN TEST************ Remise à zero du compteur quotidien *****************EN TEST************---------------------------
---------------------------------------------------------------------------------------------------------------------------------------------
if (os.date('%H',time) == (H_Raz)) then
domoticz.log ('RAZ Compteur', domoticz.LOG_INFO)
local valeur = 0
local variable = domoticz.variables('Var_Piscine_tmp')
variable.set(valeur);
end
---------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------Affichage de controle dans le LOG------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
domoticz.log ('************************************************************')
domoticz.log ('******** Valeur du scenario 1 -> '..C01..' si <10° ***************')
domoticz.log ('******** Valeur du scenario 2 -> '..C02..' si 10-14° ************')
domoticz.log ('******** Valeur du scenario 3 -> '..C03..' si 15-20° ************')
domoticz.log ('******** Valeur du scenario 4 -> '..C04..' si 20-28° ***********')
domoticz.log ('******** Valeur du scenario 5 -> '..C05..' si >28° *************')
domoticz.log ('************************************************************')
domoticz.log ('************************* ' ..os.date('%H'..'h'..'%M',time)..'*****************************')
domoticz.log ('************************************************************')
domoticz.log ('******** Besoin.: '..domoticz.variables('Var_Piscine_bes').value..' mn *********************************')
domoticz.log ('******** Réalisé: '..domoticz.variables('Var_Piscine_tmp').value..' mn *********************************')
domoticz.log ('******** Reste..: '..domoticz.variables('Var_Piscine_bes').value - domoticz.variables('Var_Piscine_tmp').value..' mn **********************************')
domoticz.log ('******** '..domoticz.devices('Sortie_piscine').temperature..' Sortie *****************************')
domoticz.log ('******** '..domoticz.devices('Entree_piscine').temperature..' Entrée *****************************')
domoticz.log ('************************************************************')
domoticz.log ('************************************************************')
end
}