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
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)
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
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
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