X-Git-Url: https://git.rvb.name/weathermon.git/blobdiff_plain/444842767097ad2061fa973e41c3568a90edadb4..414a39ee4b909dbd7c891ce7a3bff90b75db866c:/server/weathermon-mqtt?ds=sidebyside diff --git a/server/weathermon-mqtt b/server/weathermon-mqtt index 025deec..809b4e9 100755 --- a/server/weathermon-mqtt +++ b/server/weathermon-mqtt @@ -15,15 +15,25 @@ end function process_MSG(mid, topic, payload) print(topic, payload) pcall(function(topic,payload) + print(payload) payload = json.decode(payload) local time = os.date(payload['Time']) + if not time then time = os.date(payload['time']); end + local model = payload['model'] + local id = payload['id'] for sensor_type,sensor_data in pairs(payload) do - if sensor_type ~= "Time" and sensor_type ~= "TempUnit" then - for param,value in pairs(sensor_data) do - conn:execute(string.format("CALL meteo.submit_mqtt('%s','%s','%s','%s',NULL)", topic,sensor_type,param,value)) + if sensor_type ~= "Time" and sensor_type ~= "TempUnit" and sensor_type ~= "model" and sensor_type ~="id" and sensor_type ~= "time" then + if model then + conn:execute(string.format("CALL meteo.submit_mqtt('%s','%s','%s','%s',NULL)", topic,model,sensor_type,sensor_data)) conn:commit() - print(topic,sensor_type,param,value) - end + print(topic,model,sensor_type,sensor_data) + else + for param,value in pairs(sensor_data) do + conn:execute(string.format("CALL meteo.submit_mqtt('%s','%s','%s','%s',NULL)", topic,sensor_type,param,value)) + conn:commit() + print(topic,sensor_type,param,value) + end + end end end end, topic, payload)