'ON FOR' ne vas pas fort !
Publié : 15 févr. 2020, 21:13
Bonjour,
j'ai un deux scripts qui lancent mon poele à bois via un relais sous tasmota. J'ai un soucis sur la durée de fonctionnement.
Que ce soit le lancement automatique via contrôle de la température, ou le lancement manuel via le déclenchement d'un pushbutton, le poele se lance, mais ne s'arrête jamais.
Pourtant, la fonction ON FOR devrait fonctionner.
Qu'est-ce que je rate ?
Merci de votre aide.
j'ai un deux scripts qui lancent mon poele à bois via un relais sous tasmota. J'ai un soucis sur la durée de fonctionnement.
Que ce soit le lancement automatique via contrôle de la température, ou le lancement manuel via le déclenchement d'un pushbutton, le poele se lance, mais ne s'arrête jamais.
Pourtant, la fonction ON FOR devrait fonctionner.
Qu'est-ce que je rate ?
Code : Tout sélectionner
-- Declenchement manuel poele RIKA
local dureetimer = 30
local Rikadeclencheur = 'Tasmota 3 Rika'
local Rikaswitch = 'Tasmota 1a Rika'
local log = '*-*-* RIKA *-*-* '
local cmd = "tail -n 1000 /tmp/domoticz.txt |grep \'RIKA\'|sed 's/$/<BR>/'"
tc=next(devicechanged)
device=tostring(tc)
commandArray = {}
-- déclenchement manuel
if (device == Rikadeclencheur) then
print (log..'Poele Rika lancé manuellement pour une durée de '..dureetimer)
commandArray[Rikaswitch]='On FOR ' ..dureetimer
-- Envoi log par mail
local f = assert(io.popen(cmd,'r'))
local retourf = assert(f:read('*a'))
commandArray ['SendEmail'] = log..'#RIKA <BR>'..retourf..'#xxx@xxx'
end
return commandArray
Code : Tout sélectionner
-- Declenchement automatique poele RIKA
local log = 'oo Presence oo -> '
local presence = 'Niveau_Presence_counter'
local time = os.time()
local tminutes=tonumber(os.date('%M',time))
local dureetimer = 90
local Rikaswitch = 'Tasmota 1a Rika'
local log = '*-*-* RIKA *-*-* '
local cmd = "tail -n 1000 /tmp/domoticz.txt |grep \'RIKA\'|sed 's/$/<BR>/'"
local temp = 'Moyenne Sejour'
local templevel = 21 -- temperature demandée
commandArray = {}
-- déclenchement toutes les 10mn
if (string.sub(tminutes,2,2) == "2" ) then
-- verif si poele On ou Off
if otherdevices[Rikaswitch] == "Off" then
-- verif jour et présence
if (timeofday['Daytime']) and (uservariables[presence] == 1) then
print (log..'il fait jour et il y a du monde')
-- il fait jour ET il y a du monde : on teste la temperature
if tonumber(otherdevices[temp]) > templevel then
print (log..'temperature chaude : '..tonumber(otherdevices[temp]))
else
print (log..'temperature froide : '..tonumber(otherdevices[temp]))
print (log..'Poele lancé de '..dureetimer..' mn')
commandArray[Rikaswitch]='On FOR ' ..dureetimer
-- Envoi log par mail
local f = assert(io.popen(cmd,'r'))
local retourf = assert(f:read('*a'))
commandArray ['SendEmail'] = log..'#RIKA <BR>'..retourf..'#xxx@xxx'
end
else
-- il n'y a personne OU c'est la nuit, on eteint le poele
print (log..'il n\'y a personne ou c\'est la nuit')
print (log..'compteur Rika ramené à 0')
print (log..'Rika basculé à Off')
commandArray[Rikaswitch]='Off'
end
else
end
end
return commandArray