X-Git-Url: https://git.rvb.name/weathermon.git/blobdiff_plain/7580c60d80239c3a880e124c550c2353f8153d82..21260a74f42a65603317d1938fac675d5eef6635:/bin/weathermon?ds=sidebyside diff --git a/bin/weathermon b/bin/weathermon index 8da4696..dbffa82 100755 --- a/bin/weathermon +++ b/bin/weathermon @@ -105,13 +105,17 @@ function submitValue(type,id,param,val) if code ~= 200 and backlog_con then printLog("writing record to backlog...") + backlog_con:execute('BEGIN TRANSACTION') backlog_con:execute(string.format("INSERT INTO queue(time_stamp,sensor_id,sensor,param,value) VALUES (datetime('now','localtime'),'%s','%s','%s',%f)",id,type,param,val)) + backlog_con:execute('COMMIT') end end if logdb then + log_con:execute('BEGIN TRANSACTION') log_con:execute(string.format("INSERT INTO log(time_stamp,sensor_id,sensor,param,value) VALUES (datetime('now','localtime'),'%s','%s','%s',%f)",id,type,param,val)) + log_con:execute('COMMIT') end end @@ -157,9 +161,6 @@ function processJson(str) 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 local record = {} for k,v in pairs(sensor) do storeRecord(sensor_id,sensor_type,k,v) @@ -185,7 +186,7 @@ function processJson(str) if not mqtt_client:socket() then mqtt_client:reconnect() end - mqtt_client:publish(mqtt_path,v,0,0) + mqtt_client:publish(mqtt_path,v,0,false) mqtt_client:loop() end end @@ -248,7 +249,10 @@ function processLine(str) return '{'..name..'}' end end) - mqtt_client:publish(mqtt_path,v,0,0) + if not mqtt_client:socket() then + mqtt_client:reconnect() + end + mqtt_client:publish(mqtt_path,v,0,false) mqtt_client:loop() end end @@ -289,7 +293,10 @@ function processLine(str) return '{'..name..'}' end end) - mqtt_client:publish(mqtt_path,msg_body,0,0) + if not mqtt_client:socket() then + mqtt_client:reconnect() + end + mqtt_client:publish(mqtt_path,msg_body,0,false) mqtt_client:loop() end if alarm_exec then