Page 2 sur 2
Re: [Résolu] SonOff SNZB-02 / ZiGate
Publié : 01 déc. 2022, 23:10
par Keros
Un petit projet qui te permettrait de faire de grandes choses plus tard
N'hésite pas à continuer ce sujet si tu as d'autres difficultés.
Bonne continuation.
Re: [Résolu] SonOff SNZB-02 / ZiGate
Publié : 02 déc. 2022, 09:27
par pacofrancisco
Exactement, depuis que je me suis mis à utiliser dzVents, j'ai pu créer des fonctionnalités bien particulières, que l'interface graphique ne permet absolument pas !
Je vais avancer en essayant d'utiliser les fonctions data de dzvents pour avoir des valeurs moyennes d'humidité et/ou température sur des périodes données.
L'idée m'est venue en lisant le script disponible ici
https://github.com/msvds/dzVents_v2/blo ... midity.lua
Re: [Résolu] SonOff SNZB-02 / ZiGate
Publié : 06 déc. 2022, 19:33
par pacofrancisco
salut tout le monde.
J'ai mis en oeuvre le script permettant d'automatiser le fonctionnement de la ventilation en fonction de detecteurs de présence et également avec une mesure de taux d'humidité moyenne dans différentes pièces.
J'ai créé pour ce faire 2 scripts, l'un pour les detecteurs de mouvement de WC, l'autre pour l'humidité dans les pièces type salle de bains & autres.
Le premier :
Code : Tout sélectionner
return
{
logging = {marker = "script_WC_detector"},
on =
{
devices = {
'Detecteur WC 1',
'Detecteur WC 2'
,
}
},
execute = function(domoticz, switch)
local tempo_VMC = 20
local VMC = 'VMC Switch'
if (switch.state == 'On')
then
if (domoticz.devices(VMC)._state == 'On')
then
domoticz.devices(VMC).switchOff().afterMin(tempo_VMC)
else
domoticz.devices(VMC).switchOn().forMin(tempo_VMC)
end
end
end
}
Le second :
Code : Tout sélectionner
return {
active = true, -- set to false to disable this script
logging = {marker = "script_device_humidity"},
on = {
timer = {'every 1 minutes'}
},
data = {
PIECE1 = { history = true, maxItems = 5 },
PIECE2 = { history = true, maxItems = 5 },
PIECE3 = { history = true, maxItems = items }
},
execute = function(domoticz, device)
--#########
--VARIABLES
--#########
local items = 5
local tempo_VMC = 45
local VMC = 'VMC Switch'
local seuil_humidite = 65
-- add new data
domoticz.data.PIECE1.add(domoticz.devices('capteur1').humidity)
domoticz.data.PIECE2.add(domoticz.devices('capteur2').humidity)
domoticz.data.PIECE3.add(domoticz.devices('capteur3').humidity)
if ( (domoticz.data.PIECE1.avg() > seuil_humidite) or (domoticz.data.PIECE2.avg() > seuil_humidite) or (domoticz.data.PIECE3.avg() > seuil_humidite))
then
if (domoticz.devices(VMC).active)
then
domoticz.devices(VMC).switchOff().afterMin(tempo_VMC)
domoticz.log("PROLONGATION VMC : L'humidité de la PIECE1 sur les " .. items .. " dernières minutes est de " .. domoticz.data.sdb.avg() .. ".",domoticz.LOG_INFO)
domoticz.log("PROLONGATION VMC : L'humidité de la PIECE2 sur les " .. items .. " dernières minutes est de " .. domoticz.data.sdd.avg() .. ".",domoticz.LOG_INFO)
domoticz.log("PROLONGATION VMC : L'humidité de la PIECE3 sur les " .. items .. " dernières minutes est de " .. domoticz.data.sdd.avg() .. ".",domoticz.LOG_INFO)
else
domoticz.devices(VMC).switchOn().forMin(tempo_VMC)
domoticz.log("DEMARRAGE VMC : L'humidité de la PIECE1 sur les " .. items .. " dernières minutes est de " .. domoticz.data.PIECE1.avg() .. ".",domoticz.LOG_INFO)
domoticz.log("DEMARRAGE VMC : L'humidité de la PIECE2 sur les " .. items .. " dernières minutes est de " .. domoticz.data.PIECE2.avg() .. ".",domoticz.LOG_INFO)
domoticz.log("DEMARRAGE VMC : L'humidité de la PIECE3 sur les " .. items .. " dernières minutes est de " .. domoticz.data.PIECE3.avg() .. ".",domoticz.LOG_INFO)
end
else
domoticz.log("L'humidité de la PIECE1 sur les " .. items .. " dernières minutes est de " .. domoticz.data.PIECE1.avg() .. ".",domoticz.LOG_INFO)
domoticz.log("L'humidité de la PIECE2 sur les " .. items .. " dernières minutes est de " .. domoticz.data.PIECE2.avg() .. ".",domoticz.LOG_INFO)
--domoticz.log("L'humidité de la PIECE3 sur les" .. items .. " dernières minutes est de " .. domoticz.data.PIECE3.avg() .. ".",domoticz.LOG_INFO)
end
end
}