#!/usr/bin/lua
-require("json")
-require("socket")
+json = require("json")
+socket = require("socket")
function startswith(String,Start)
if String then
end
logging = cur.get(config,"logging","enabled")
+ touch_file = cur.get(config,"logging","touch_file")
serial_port = cur.get(config,"serial","port")
serial_baud = cur.get(config,"serial","baud")
end
+function touch()
+ if touch_file then
+ local file = io.open(touch_file, 'w')
+ file:close()
+ end
+end
+
function sleep(sec)
socket.select(nil, nil, sec)
end
function printLog(str)
if logging=="on" then
capture("logger -t weathermon "..str)
- else
+ print(str)
+ elseif logging=="syslog" then
+ capture("logger -t weathermon "..str)
+ elseif logging=="stdout" then
print(str)
end
end
result = capture(command)
+ touch()
+
end
function processJson(str)
end
end
+ if not sensor_id then
+ sensor_id = web_devid
+ end
+
if not (sensor_type==nil or sensor_id==nil or sensor_type=='' or sensor_id=='') then
if next(sensor)==nil then
sensor["command"]="alarm"
end
end
else
- printLog("Cannot parse sensor input: "..msg_body)
+ printLog("Cannot parse sensor input: "..str)
end
end
return
end
while 1 do
- line=serialin:read()
+ line=serialin:read("*l")
if line == nil then
break
end
if startswith(line,'{') then
processJson(line)
else
- processLine(line)
+ processLine(line)
end
end