détection changement d'état

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
sphinxou
Messages : 231
Inscription : 03 déc. 2016, 13:37

détection changement d'état

Message par sphinxou »

bonsoir
comment savoir si un interrupteur ne change pas d'état pendant un temps donné ??

merci
Domoticz 4.9700/ rfxcom /sonde diy/raspberry pi3+HDD/cirusms/contact de porte diy
adv
Messages : 580
Inscription : 02 févr. 2016, 13:54
Contact :

Re: détection changement d'état

Message 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
Raspberry pi 3 - Domoticz 2024.4 | Piface v.2 + Téléinfo + RFXtrx433E
sondes Oregon | motorisations Somfy Yslo Flex 2 RTS
prises chacon, wifi | Sonoff easyESP, Tasmota, Espurna | ParadoxMG5050
sphinxou
Messages : 231
Inscription : 03 déc. 2016, 13:37

Re: détection changement d'état

Message par sphinxou »

merci beaucoup
Domoticz 4.9700/ rfxcom /sonde diy/raspberry pi3+HDD/cirusms/contact de porte diy
Répondre