DHT22 et script Alarme temperature Congélateur, inclure une pause
Publié : 22 juil. 2020, 22:43
Bonjour
Je surveille la température de mon frigo et congélateur à l'aide de sondes DHT22 reliées à une carte ESP32 NodeMcu qui envoie les info à Domoticz.
Pour surveiller si une porte n'est pas restée ouverte, j'ai écrit un petit script en DzVent qui m’envoie un sms si, par exemple la température du congélateur est supérieure à -8°C.
Globalement cela fonctionne bien.
Malheureusement les sondes DHT22 sont parfois capricieuse et renvoient des données farfelues. c'est souvent une mesure ponctuelle qui est erronée. Pour la lecture de la température dans Domoticz ce n'est pas un problème, c'est transparent.
Par contre si l'erreur arrive au moment ou le script vient lire la valeur de la température, je reçois un message d'alerte.
Je souhaiterais supprimer cet envoi de message erroné pour ne recevoir que les véritables message d'alerte quand mon congélateur est réellement trop chaud.
Mon idée serait de modifier mon script pour que quand il mesure une température >-8°C il n’envoie pas de message mais se met en pause quelques minutes (un sleep ou delay?) puis refait une nouvelle mesure qui si elle est toujours en erreur m’envoie le message d'alerte.
Mais je ne sais pas comment intégrer un sleep ou un delay dans un script DzVent.
Cela est t'il possible?
Voici mon script actuel (une seule mesure sans pause)
--
-- Alarme Temperature Congel
--
return
{
on =
{
timer = { 'Every 10 minutes' }
},
execute = function(domoticz, TempCongelateur)
if (domoticz.devices (67).temperature > -8) then
domoticz.log('Porte ouverte', domoticz.LOG_INFO)
domoticz.notify(Congel,'Température du Congélateur > -8°C', domoticz.PRIORITY_NORMAL)
end
end
}
Merci
Je surveille la température de mon frigo et congélateur à l'aide de sondes DHT22 reliées à une carte ESP32 NodeMcu qui envoie les info à Domoticz.
Pour surveiller si une porte n'est pas restée ouverte, j'ai écrit un petit script en DzVent qui m’envoie un sms si, par exemple la température du congélateur est supérieure à -8°C.
Globalement cela fonctionne bien.
Malheureusement les sondes DHT22 sont parfois capricieuse et renvoient des données farfelues. c'est souvent une mesure ponctuelle qui est erronée. Pour la lecture de la température dans Domoticz ce n'est pas un problème, c'est transparent.
Par contre si l'erreur arrive au moment ou le script vient lire la valeur de la température, je reçois un message d'alerte.
Je souhaiterais supprimer cet envoi de message erroné pour ne recevoir que les véritables message d'alerte quand mon congélateur est réellement trop chaud.
Mon idée serait de modifier mon script pour que quand il mesure une température >-8°C il n’envoie pas de message mais se met en pause quelques minutes (un sleep ou delay?) puis refait une nouvelle mesure qui si elle est toujours en erreur m’envoie le message d'alerte.
Mais je ne sais pas comment intégrer un sleep ou un delay dans un script DzVent.
Cela est t'il possible?
Voici mon script actuel (une seule mesure sans pause)
--
-- Alarme Temperature Congel
--
return
{
on =
{
timer = { 'Every 10 minutes' }
},
execute = function(domoticz, TempCongelateur)
if (domoticz.devices (67).temperature > -8) then
domoticz.log('Porte ouverte', domoticz.LOG_INFO)
domoticz.notify(Congel,'Température du Congélateur > -8°C', domoticz.PRIORITY_NORMAL)
end
end
}
Merci