X-Git-Url: https://git.rvb.name/weathermon.git/blobdiff_plain/3710dc777a1990a2868d3d187d9dd18efaa1f90a..bc7cbb4617f28ec33b6ff0e81e7d48a5b00310a6:/weathermon-mqtt?ds=sidebyside

diff --git a/weathermon-mqtt b/weathermon-mqtt
index 6c5fd37..f288f51 100755
--- a/weathermon-mqtt
+++ b/weathermon-mqtt
@@ -1,21 +1,30 @@
-#!/usr/bin/python
+#!/usr/bin/python -u
 
 import paho.mqtt.client as paho
 import sys
 from ConfigParser import ConfigParser
 import MySQLdb
 from pprint import pprint
+import json
+from dateutil.parser import parser
+tparser=parser()
 
 def on_message(mosq, obj, msg):
   topic=msg.topic
-  payload=msg.payload
-  try:
-    c = database.cursor()
-    c.execute('CALL meteo.submit_mqtt(%s,%s,NULL)', (topic,payload))
-    database.commit()
-    print topic,payload
-  except:
-    print "Failed to submit data"  
+  payload=json.loads(msg.payload)
+  timestamp=tparser.parse(payload['Time'])
+  for sensor_type in payload:
+    if sensor_type != 'Time':
+      sensor_data=payload[sensor_type]
+      for param in sensor_data:
+        try:
+          value=sensor_data[param]
+          c = database.cursor()
+          c.execute('CALL meteo.submit_mqtt(%s,%s,%s,%s,NULL)', (topic,sensor_type,param,value))
+          database.commit()
+          print topic,sensor_type,param,value
+        except:
+          print "Failed to submit data"  
 
 def Topics():