X-Git-Url: https://git.rvb.name/weathermon.git/blobdiff_plain/b0a690ee18f5c2f894edc7c30fd6204c262670fe..333cb703da2fbe639e6eb9d630e4f4221cc26d36:/weathermon.lua?ds=sidebyside diff --git a/weathermon.lua b/weathermon.lua index b43b72c..72e4895 100755 --- a/weathermon.lua +++ b/weathermon.lua @@ -83,6 +83,7 @@ function getConfig(configname) 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") @@ -125,6 +126,13 @@ function getConfig(configname) 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 @@ -153,7 +161,10 @@ 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 @@ -172,10 +183,12 @@ function submitValue(type,id,param,val) command = command.." -u "..web_user..":"..web_pass end - command = command.." \""..url.."\"" + command = command.." \""..url.."\" 2>&1" result = capture(command) + touch() + end function processJson(str) @@ -203,7 +216,7 @@ function processJson(str) 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,"{(.-)}", @@ -337,12 +350,12 @@ end 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 - mqtt_client:auth(mqtt_user, mqtt_passwd) + mqtt_client:login_set(mqtt_user, mqtt_passwd) end - mqtt_client:connect(mqtt_id) + mqtt_client:connect(mqtt_host,mqtt_port) end if serial_port then