djksage a écrit : 08 sept. 2019, 20:44
par contre la fonction que tu viens d'ajouter, est ce qu'il est possible configurer les jours de semaine? ma femme viens de me faire remarquer que le dimanche si elle est réveillé à 7:00 par les lumières, je risque de dormir sur le canapé les soirs suivant
On peux faire quelque chose comme cela
Code : Tout sélectionner
Example 18 : dim a light at define level(s) and time(s)
exemple 18 : moduler une lumière à niveau(x), jour(s) et heure(s) définis
{
"dimTo" :
{
"1":{"level" : 75, "day" : "mon-tue-wed-thu-fri-sat", "hour" : "06:00"},
"2":{"level" : 0, "day" : "mon-tue-wed-thu-fri-sat", "hour" : "06:12"}
}
}
On recupere le jour de la semaine
Et on modifie le code de cette façon
Code : Tout sélectionner
--dimTo
--dimTo
if device.level ~= nil and settings.dimTo ~= nil then
if type(settings.dimTo) == "table" then
for h,u in pairs(settings.dimTo) do
local dimToLevel
local dimToHour
local dimDayWeek = true
for i,v in pairs(u) do
if i == "hour" then
dimToHour = v
domoticz.log(device.name .. ' a une heure de variation fixée à : ' .. dimToHour, domoticz.LOG_INFO)
elseif i == "level" then
dimToLevel = v
domoticz.log(device.name .. ' a une niveau de variation fixée à : ' .. dimToLevel, domoticz.LOG_INFO)
elseif i == "day" then --"day" : "sun-mon-tue-wed-thu-fri-sat"
--teste si le jour de la semaine correspond au valeur du tableau défini par les jours
testDayWeek = string.find(v, DayWeek)
if testDayWeek == nil then dimDayWeek = false end
domoticz.log(device.name .. ' a des jours de variation fixés à : ' .. v, domoticz.LOG_INFO)
end
end
if Time == dimToHour and dimDayWeek == true and dimToLevel ~= nil then device.dimTo(dimToLevel) return end
end
else
domoticz.log(device.name .. ' impossible de traiter la fonction dimTo, manque un élément', domoticz.LOG_DEBUG)
end
end