Page 1 sur 1

Signaler la non réponse d'un capteur

Posté : 30 août 2019, 20:10
par marcus_54
Bonjour,
J'ai une domotique assez étoffée avec beaucoup de capteurs et des actionneurs.
Aujourd'hui j'ai constaté que le volet de ma véranda n'a pas fonctionné automatiquement (fermeture en cas de forte chaleur)
Le coupable était un second Raspberry pi avec un second Domoticz qui était planté et c'est lui qui gérait le capteur de température et donc ce capteur ne répondait plus de puis plusieurs jours...

J'aimerais savoir s’il y a un moyen simple ou pas trop compliqué qui permet d'indiquer qu'un capteur n'a pas répondu depuis xx secondes ou minutes.

Merci

Re: Signaler la non réponse d'un capteur

Posté : 30 août 2019, 22:10
par adv
Salut, voilà ce que j'utilise !

Je n'en suis pas l'auteur mais ça marche impec, à adapter selon ton besoin

C'est un script time évidemment

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..' #tonmail@gmail.com'
        end
 
 
end
 
return commandArray
A+

Re: Signaler la non réponse d'un capteur

Posté : 31 août 2019, 11:41
par marcus_54
Merci adv,

je vais l'essayer

Re: Signaler la non réponse d'un capteur

Posté : 31 août 2019, 17:55
par denis_brasseur
Script universel, qui permet, je pense, de répondre à tes attentes :

[DZVents] Script de notifications ultime (mais pas que)

Re: Signaler la non réponse d'un capteur

Posté : 01 sept. 2019, 08:43
par marcus_54
Merci
Intéressant le script universel.
Il va falloir que je l'expérimente prudemment.
Je l'ai essayé hier soir, ce matin Domoticz était hors service :?

Re: Signaler la non réponse d'un capteur

Posté : 09 sept. 2019, 09:08
par marcus_54
Bonjour,

Finalement j'ai adopté une solution encore plus simple.
L'essai du script précédent avait planté mon installation dans la nuit, sans doute que quelque chose m'a échappé.
Bref, je laisse tomber les scripts.
Finalement en essayant d'autres thèmes je me suis aperçu que nativement Domoticz affichait dans le dashboard pour certains thèmes seulement une couleur jaune quand la pile du capteur est faible et rouge quand il n'y a pas de réponse du capteur depuis un certain temps (j'utilise le thème Basic-Auth)
Finalement, c'est exactement ce que je voulais et c'est très bien ;)