projects
/
weathermon.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Добавлен touch-файл для мониторинга степени живости, добавлены опции для протоколиров...
[weathermon.git]
/
weathermon.lua
diff --git
a/weathermon.lua
b/weathermon.lua
index b43b72ca358912c38b6a913cd285d477bff78708..72e48952e83bb12a392df46dd5ff75ff3ff23d83 100755
(executable)
--- a/
weathermon.lua
+++ b/
weathermon.lua
@@
-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
@@
-172,10
+183,12
@@
function submitValue(type,id,param,val)
command = command.." -u "..web_user..":"..web_pass
end
command = command.." -u "..web_user..":"..web_pass
end
- command = command.." \""..url.."\""
+ command = command.." \""..url.."\"
2>&1
"
result = capture(command)
result = capture(command)
+ touch()
+
end
function processJson(str)
end
function processJson(str)
@@
-203,7
+216,7
@@
function processJson(str)
sensor["command"]="alarm"
end
for k,v in pairs(sensor) do
sensor["command"]="alarm"
end
for k,v in pairs(sensor) do
- printLog("Type = "..sensor_type..", ID = "..sensor_id..", Param = "..k..", Value =
"..v
)
+ printLog("Type = "..sensor_type..", ID = "..sensor_id..", Param = "..k..", Value =
\""..v.."\""
)
submitValue(sensor_type,sensor_id,k,v)
if mqtt_client then
mqtt_path=string.gsub(mqtt_topic,"{(.-)}",
submitValue(sensor_type,sensor_id,k,v)
if mqtt_client then
mqtt_path=string.gsub(mqtt_topic,"{(.-)}",
@@
-337,12
+350,12
@@
end
getConfig(arg[1])
if mqtt_host then
getConfig(arg[1])
if mqtt_host then
- MQTT = require "
paho.mqtt
"
- mqtt_client = MQTT.
client.create(mqtt_host, mqtt_port
)
+ MQTT = require "
mosquitto
"
+ mqtt_client = MQTT.
new(mqtt_id
)
if mqtt_user then
if mqtt_user then
- mqtt_client:
auth
(mqtt_user, mqtt_passwd)
+ mqtt_client:
login_set
(mqtt_user, mqtt_passwd)
end
end
- mqtt_client:connect(mqtt_
id
)
+ mqtt_client:connect(mqtt_
host,mqtt_port
)
end
if serial_port then
end
if serial_port then