Page 1 sur 1
détection changement d'état
Publié : 19 déc. 2019, 21:40
par sphinxou
bonsoir
comment savoir si un interrupteur ne change pas d'état pendant un temps donné ??
merci
Re: détection changement d'état
Publié : 19 déc. 2019, 23:32
par adv
Salut, ba tu peux te servir de la date/heure dernière mise à jour, et si la durée entre cette date et le moment présent dépasse un certain seuil tu peux lancer une action...
Voici par exemple un script qui me notifie si je ne reçois de pas de mise à jour sur différent devices, à toi d'adapter...
C'est un scrit time:
Code : Tout sélectionner
commandArray = {}
--recupere les minutes
time=os.time()
minutes=tonumber(os.date('%M',time))
hours=tonumber(os.date('%H',time))
--print('Lancement du check a '..hours..'h'..minutes) --commenté pour limiter les logs
if( (minutes==30) or (minutes==0) ) then
local sonde={}
--temperatures
--sonde['0']='Congelateur'
sonde['1']='Exterieur'
sonde['2']='EDF'
sonde['3']='Salon'
sonde['4']='Uptime Sonoff Porte'
sonde['5']='Courant Clim'
--delai au dela duquel on alerte en secondes
local alerte=1800
local mail=' Alerte sur sonde '
local trigger=0
--Parcours le Tableau des sondes
for key, valeur in pairs(sonde) do
s = otherdevices_lastupdate[valeur]
-- returns a date time like 2013-07-11 17:23:12
t1 = os.time()
year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)
commandArray = {}
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = (os.difftime (t1, t2))
--print ('CHECK : '..valeur.. ' -> ' ..otherdevices[valeur].. ' age = '..difference..' secondes')
if(difference > alerte)then
mail=mail..'Age de '..valeur .. ' -> '..difference..' secondes.'
trigger=trigger+1
end
end
if(trigger>0)then
commandArray['SendEmail']='Domoticz - Alerte age sonde #<b>Attention aux sondes suivantes:</b>'
..mail..' #TON EMAIL@gmail.com'
end
end
return commandArray
Re: détection changement d'état
Publié : 19 déc. 2019, 23:35
par sphinxou
merci beaucoup