Page 1 sur 1
Automatisation ventilateur en fonction de la température, du moment de la journée et de la géolocalisation du téléphone
Publié : 26 mai 2020, 12:17
par ttoni0
Bonjour,
Je souhaite automatiser mon ventilateur en fonction de 3 choses :
- S’il fait jour
- Si l’interrupteur commandé par géolocalisation de mon téléphone est “on”
- S’il fait plus de 25 degrés
J’ai fait une tentative… sans succès…
Je vous mets mon code bancal :
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone' },
},
execute = function(domoticz, item)
if item.active then
if domoticz.time.isDayTime then
domoticz.devices('Ventilo').switchOn().checkFirst()
end
local Sensor = domoticz.devices('TempInt')
if Sensor.temperature >= 25 then
domoticz.devices('Ventilo').switchOn().checkFirst()
end
else domoticz.devices('Ventilo').switchOff().checkFirst()
end
end
}
Si vous avez des suggestions, je suis preneur !
Ciao
Re: Automatisation ventilateur en fonction de la température, du moment de la journée et de la géolocalisation du téléph
Publié : 26 mai 2020, 13:21
par ttoni0
J'ai aussi tenté ça :
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone' },
},
execute = function(domoticz, item)
if item.active then
if domoticz.time.isDayTime then
local Sensor = domoticz.devices('TempInt')
if Sensor.temperature > 25 then
domoticz.devices('Ventilo').switchOn().checkFirst()
else domoticz.devices('Ventilo').switchOff().checkFirst()
end
end
end
end
}
Ça ne fonctionne pas plus !
Merci de me donner un petit coup de main...
Re: Automatisation ventilateur en fonction de la température, du moment de la journée et de la géolocalisation du téléph
Publié : 26 mai 2020, 16:59
par boum
Je ferais qq chose comme ça :
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone', 'TempInt', },
},
execute = function(domoticz, item)
if domoticz.time.isDayTime then
local iPhone = domoticz.devices('iPhone')
local tempSensor = domoticz.devices('TempInt')
if iPhone.active and tempSensor.temperature > 25 then
domoticz.devices('Ventilo').switchOn().checkFirst()
else
domoticz.devices('Ventilo').switchOff().checkFirst()
end
else
-- peut-être remplacer ce cas avec un trigger timer sur "at sunset"
domoticz.devices('Ventilo').switchOff().checkFirst()
end
end
}
Re: Automatisation ventilateur en fonction de la température, du moment de la journée et de la géolocalisation du téléph
Publié : 26 mai 2020, 17:17
par ttoni0
boum a écrit : 26 mai 2020, 16:59
Je ferais qq chose comme ça :
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone', 'TempInt', },
},
execute = function(domoticz, item)
if domoticz.time.isDayTime then
local iPhone = domoticz.devices('iPhone')
local tempSensor = domoticz.devices('TempInt')
if iPhone.active and tempSensor.temperature > 25 then
domoticz.devices('Ventilo').switchOn().checkFirst()
else
domoticz.devices('Ventilo').switchOff().checkFirst()
end
else
-- peut-être remplacer ce cas avec un trigger timer sur "at sunset"
domoticz.devices('Ventilo').switchOff().checkFirst()
end
end
}
Merci pour la réponse rapide !
Ton code est limpide et devrait faire le taf d'après ce que je vois...
Je teste ça immédiatement.
Encore merci !
Re: Automatisation ventilateur en fonction de la température, du moment de la journée et de la géolocalisation du téléph
Publié : 26 mai 2020, 17:51
par ttoni0
Ça fonctionne impec !
Reste à voir comment ça se passe au coucher du soleil...
Re: Automatisation ventilateur en fonction de la température, du moment de la journée et de la géolocalisation du téléph
Publié : 26 mai 2020, 20:29
par boum
Au coucher du soleil, il ne se passera rien jusqu'à ce que la température change.
Comme noté dans le commentaire, il y a moyen de rajouter un déclencheur :
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone', 'TempInt', },
timer = { 'at sunrise', 'at sunset', },
},
execute = function(domoticz, item)
if domoticz.time.isDayTime or (item.trigger ~= 'at sunset') then
local iPhone = domoticz.devices('iPhone')
local tempSensor = domoticz.devices('TempInt')
if iPhone.active and tempSensor.temperature > 25 then
domoticz.devices('Ventilo').switchOn().checkFirst()
else
domoticz.devices('Ventilo').switchOff().checkFirst()
end
else
domoticz.devices('Ventilo').switchOff().checkFirst()
end
end
}