projects
/
weathermon.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Больше не поддерживается вариант на python.
[weathermon.git]
/
weathermon.lua
diff --git
a/weathermon.lua
b/weathermon.lua
index 683d40697a1e2a068b868bb15a0d4f85d2c17717..3208e304e0d2643f07021edca2b9b9cd7f8c1e8f 100755
(executable)
--- a/
weathermon.lua
+++ b/
weathermon.lua
@@
-1,7
+1,7
@@
#!/usr/bin/lua
#!/usr/bin/lua
-require("json")
-require("socket")
+
json =
require("json")
+
socket =
require("socket")
function startswith(String,Start)
if String then
function startswith(String,Start)
if String then
@@
-83,6
+83,7
@@
function getConfig(configname)
end
logging = cur.get(config,"logging","enabled")
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")
serial_port = cur.get(config,"serial","port")
serial_baud = cur.get(config,"serial","baud")
@@
-125,6
+126,13
@@
function getConfig(configname)
end
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 sleep(sec)
socket.select(nil, nil, sec)
end
@@
-153,7
+161,10
@@
end
function printLog(str)
if logging=="on" then
capture("logger -t weathermon "..str)
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
print(str)
end
end
@@
-176,6
+187,8
@@
function submitValue(type,id,param,val)
result = capture(command)
result = capture(command)
+ touch()
+
end
function processJson(str)
end
function processJson(str)
@@
-198,6
+211,10
@@
function processJson(str)
end
end
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"
if not (sensor_type==nil or sensor_id==nil or sensor_type=='' or sensor_id=='') then
if next(sensor)==nil then
sensor["command"]="alarm"
@@
-224,7
+241,7
@@
function processJson(str)
end
end
else
end
end
else
- printLog("Cannot parse sensor input: "..
msg_body
)
+ printLog("Cannot parse sensor input: "..
str
)
end
end
end
end
@@
-358,7
+375,7
@@
else
return
end
while 1 do
return
end
while 1 do
- line=serialin:read()
+ line=serialin:read(
"*l"
)
if line == nil then
break
end
if line == nil then
break
end
@@
-366,6
+383,6
@@
while 1 do
if startswith(line,'{') then
processJson(line)
else
if startswith(line,'{') then
processJson(line)
else
-
processLine(line)
+ processLine(line)
end
end
end
end