commandArray = {} --Fonction trouvée sur http://easydomoticz.com/forum/viewtopic.php?f=10&t=7147 function getDevNameByIdx(devIdx) for i, v in pairs(otherdevices_idx) do if v == devIdx then return i end end return 0 end function logMessage (TheMessage) year = tonumber(os.date("%Y")); month = tonumber(os.date("%m")); day = tonumber(os.date("%d")); hour = tonumber(os.date("%H")); minutes = tonumber(os.date("%M")); seconds = tonumber(os.date("%S")); if (string.len(month) == 1) then month = "0" .. month end if (string.len(day) == 1) then day = "0" .. day end if (string.len(hour) == 1) then hour = "0" .. hour end if (string.len(minutes) == 1) then minutes = "0" .. minutes end if (string.len(seconds) == 1) then seconds = "0" .. seconds end --logtime = year .. " " .. month .. " " .. day .. " " .. hour .. " " .. minutes .. " " .. seconds logtime = year .. month .. day .. " " .. hour .. minutes .. seconds file = io.open("mylog.txt", "a") file:write(logtime .. " " .. TheMessage.."\n") file:close() end --local temp = os.date("*t", 906000490) varMotionSensorGarage01 = getDevNameByIdx(186) varMotionSensorGarage02 = getDevNameByIdx(214) varLumiereGarage = getDevNameByIdx(219) if (uservariables['varzigbeeOnOffLightGarage'] == nil) then commandArray['Variable:varzigbeeOnOffLightGarage']= -1 end local varostime = 0 varostime = os.time() --print("varostime " .. varostime) local varprochainarret = 0 varprochainarret = (uservariables["varzigbeeOnOffLightGarage"]) if (devicechanged[varMotionSensorGarage01] == 'On') or (devicechanged[varMotionSensorGarage02] == 'On') then logMessage("Garage : Allumage de la lumière par un détecteur de présence") commandArray[varLumiereGarage]='On' --Si l'ajout de seconde qu'on s'apprete à faire est supérieur à ce qui existe déjà (genre l'appui sur un bouton n'a pas déjà mis plus) if (varostime + 20) > varprochainarret then varprochainarret = varostime + 20 logMessage("Garage : varprochainarret après ajout de quelques secondes " .. varprochainarret) commandArray['Variable:varzigbeeOnOffLightGarage']= tostring(varprochainarret) else logMessage("Garage : Pas d'ajout de secondes à varprochainarret car il avait déjà un total plus élevé (interrupteur manuel utilisé)") end logMessage("Garage : Light : " .. otherdevices[varLumiereGarage]) end if (devicechanged[varMotionSensorGarage01] == 'Off') or (devicechanged[varMotionSensorGarage02] == 'Off') then logMessage("Garage : Extinction d'un détecteur de présence") if varprochainarret < varostime then logMessage('Garage : Arret suite timer atteint') if otherdevices[varLumiereGarage] ~= 'Off' then commandArray[varLumiereGarage]='Off' else logMessage('Garage : Sauf qu il est déjà éteint (appui sur bouton off normalement') end end logMessage("Garage : Light : " .. (otherdevices[varLumiereGarage])) end return commandArray