Optimiser du DzVents, gestion de désembuage d'un miroir de salle de bains
Publié : 09 nov. 2022, 09:47
Bonjour,
J'ai un script qui permet de gérer un miroir chauffant dans une salle de bains, pour éviter l'embuage à la sortie de la douche (c'est top!!
).
Sur le principe, si la valeur du point de rosée de la pièce s'abaisse et devient inférieure à la température de la pièce voisine (qui sert de référence pour la température du mur) modulo un seuil donné, on démarre la dalle chauffante du miroir.
J'ai un script, mais je pense qu'il pourrait être amélioré en comparant la valeur du point de rosée à la moyenne de la température de la pièce durant les dernières X minutes ou si je suis capable de détecter une variation soudaine du point de rosée (par analyse de l'écart-type par exemple).
- Si le script vous intéresse, il est ci-dessous, servez-vous!
- Je n'ai jamais utilisé les fonctions statistiques de Domoticz, donc si quelqu'un peut aider, ce serait top!
Bonne journée!
J'ai un script qui permet de gérer un miroir chauffant dans une salle de bains, pour éviter l'embuage à la sortie de la douche (c'est top!!
Sur le principe, si la valeur du point de rosée de la pièce s'abaisse et devient inférieure à la température de la pièce voisine (qui sert de référence pour la température du mur) modulo un seuil donné, on démarre la dalle chauffante du miroir.
J'ai un script, mais je pense qu'il pourrait être amélioré en comparant la valeur du point de rosée à la moyenne de la température de la pièce durant les dernières X minutes ou si je suis capable de détecter une variation soudaine du point de rosée (par analyse de l'écart-type par exemple).
- Si le script vous intéresse, il est ci-dessous, servez-vous!
- Je n'ai jamais utilisé les fonctions statistiques de Domoticz, donc si quelqu'un peut aider, ce serait top!
Bonne journée!
Code : Tout sélectionner
return
{
on =
{
devices =
{
'SdB', -- change to name of Sensor
},
},
data =
{
lastValue =
{
initial = 0,
},
},
logging =
{
level = domoticz.LOG_ERROR, --LOG_DEBUG, -- change to domoticz.LOG_ERROR when script is tested and OK
marker = 'dewPoint-rise',
},
execute = function(dz, item)
local temp = dz.devices('Couloir').temperature
local dew = dz.devices('SdB').dewPoint
local seuil = temp - 3
dz.log('\nDevicename: ' .. item.name .. ', nValue: ' .. item.nValue .. ', sValue: ' .. item.sValue ..
'\nDevicetype: ' .. item.deviceType .. ', deviceSubType: ' .. item.deviceSubType ..
'\nlastValue: ' .. dz.data.lastValue ..', Current value : ' .. item.dewPoint .. '°', dz.LOG_DEBUG )
if item.dewPoint > dz.data.lastValue + 1 then
if (dew > seuil) then
dz.log('Allumage du miroir chauffant', dz.LOG_DEBUG)
local miroir = dz.devices('Miroir chauffant')
miroir.cancelQueuedCommands()
miroir.switchOn().checkFirst()
miroir.switchOff().afterMin(10)
dz.data.lastValue = item.dewPoint
-- on s'arrête là
return
end
end
if dz.data.lastValue ~= item.dewPoint then
dz.log('=========================dewPoint changé')
dz.data.lastValue = item.dewPoint
end
-- condition d'extinction
if (dew < seuil) then
dz.log('Arrêt du miroir chauffant', dz.LOG_DEBUG)
dz.devices('Miroir chauffant').switchOff().checkFirst()
end
end
}