NOTE: This won’t fix the year resetting to 2010 issue.
Due to a bug in uClibc the time is not updated to the summer time. This is an OpenWRT bug, and it’s not Vera specific.
This is a fix for the time issue, which is for both UI4 and UI5 firmwares.
UI4:
Go to MiOS Developers >> Test Luup code and run the script.
UI5:
Go to Apps >> Develop Apps >> Test Luup code and run the script.
local TIMEZONE_JSON_URL
local version = luup.version_branch * 100000 + luup.version_major * 10000 + luup.version_minor
if (version >= 111362) then
TIMEZONE_JSON_URL = "http://download.mios.com/fixes/timezone_UI5.json"
else
TIMEZONE_JSON_URL = "http://download.mios.com/fixes/timezone_UI4.json"
end
-- Replace the current timezone.json with a fixed one.
os.execute("rm /www/cmh/timezone.json")
os.execute("curl "..TIMEZONE_JSON_URL.." --output /www/cmh/timezone.json")
-- Replace the summertime string in /etc/TZ.
local file = io.open("/etc/TZ", "r+")
local line = file:read("*l")
line = line:gsub("3%.5%.0", "3.4.0")
local tz = line:gsub("10%.5%.0", "10.4.0")
file:seek("set")
file:write(tz)
file:close()
-- Replace the summertime string in /etc/TZ-full
local file = io.open("/etc/TZ-full", "r+")
local line = file:read("*l")
line = line:gsub("3%.5%.0", "3.4.0")
line = line:gsub("10%.5%.0", "10.4.0")
file:seek("set")
file:write(line)
file:close()
-- Update the timezone in /etc/config/system.
os.execute("uci set system.@system[0].timezone=" .. tz)
-- Reload Luup.
luup.call_action("urn:micasaverde-com:serviceId:HomeAutomationGateway1", "Reload", {}, 0)
Edit: Updated the code to fix the timezone parameter in /etc/config/system.