first commit
This commit is contained in:
68
lua/script_time_Vacances.lua
Executable file
68
lua/script_time_Vacances.lua
Executable file
@@ -0,0 +1,68 @@
|
||||
require "scripts/lua/functions"
|
||||
|
||||
commandArray = {}
|
||||
|
||||
|
||||
-- School Holiday Status Request from Domogeek API
|
||||
-- http://api.domogeek.fr/static/doc/index.html#api-Domogeek-GetSchoolHoliday
|
||||
-- Prerequis: 3 switch On/Off: "Zone A", "Zone B", "Zone C"
|
||||
|
||||
--recupere les minutes
|
||||
time=os.time()
|
||||
minutes=tonumber(os.date('%M',time))
|
||||
heures=tonumber(os.date('%H',time))
|
||||
|
||||
-- Path to curl
|
||||
-- Windows: curl = 'C:\\bin\\curl.exe'
|
||||
curl = "curl"
|
||||
|
||||
-- Devices (Switch On/Off on virtual hardware)
|
||||
--switchA = "Zone A"
|
||||
switchB = "Zone B"
|
||||
--switchC = "Zone C"
|
||||
|
||||
-- Function to get result of HTTP request
|
||||
function os.capture(cmd, raw)
|
||||
local f = assert(io.popen(cmd, 'r'))
|
||||
local s = assert(f:read('*a'))
|
||||
f:close()
|
||||
if raw then return s end
|
||||
s = string.gsub(s, '^%s+', '')
|
||||
s = string.gsub(s, '%s+$', '')
|
||||
s = string.gsub(s, '[\n\r]+', ' ')
|
||||
return s
|
||||
end
|
||||
|
||||
-- Function to update a switch
|
||||
function updateZoneSwitch(zone, switch)
|
||||
local cmd = curl .. " -y 2 http://domogeek.entropialux.com/schoolholiday/" .. zone .. "/now"
|
||||
local vac = os.capture(cmd, true)
|
||||
print("School Holiday Status: " .. cmd .. ": " .. tostring(vac))
|
||||
|
||||
if (vac == "False") then
|
||||
--if (otherdevices[switch] == "On") then
|
||||
--commandArray[switch] = "Off";
|
||||
--end
|
||||
else
|
||||
if (vac ~= "") then
|
||||
--commandArray[switch] = "On";
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
-- Trigger at 0:02 every day
|
||||
if ((minutes == 5 and heures == 2)) then
|
||||
|
||||
-- Zone A
|
||||
-- updateZoneSwitch("A", switchA)
|
||||
|
||||
-- Zone B
|
||||
updateZoneSwitch("B", "Zone B")
|
||||
|
||||
-- Zone C
|
||||
-- updateZoneSwitch("C", switchC)
|
||||
end
|
||||
|
||||
return commandArray
|
||||
Reference in New Issue
Block a user