|
@@ -12,9 +12,9 @@ import socket
|
|
|
import json
|
|
|
import signal
|
|
|
|
|
|
-MQTT_HOST = os.environ.get('MQTT_HOST', '127.0.0.1')
|
|
|
+MQTT_HOST = os.environ.get('MQTT_HOST', '192.168.0.4')
|
|
|
MQTT_PORT = int(os.environ.get('MQTT_PORT', 1883))
|
|
|
-CARBON_SERVER = os.environ.get('CARBON_SERVER', '127.0.0.1')
|
|
|
+CARBON_SERVER = os.environ.get('CARBON_SERVER', '192.168.0.4')
|
|
|
CARBON_PORT = int(os.environ.get('CARBON_PORT', 2003))
|
|
|
|
|
|
LOGFORMAT = '%(asctime)-15s %(message)s'
|
|
@@ -103,6 +103,20 @@ def on_message(mosq, userdata, msg):
|
|
|
logging.info("Topic %s contains non-JSON payload [%s]" %
|
|
|
(msg.topic, msg.payload))
|
|
|
return
|
|
|
+ elif type == 's':
|
|
|
+ '''JSON: try and load the JSON string from payload and use
|
|
|
+ subkeys to pass to Carbon'''
|
|
|
+ try:
|
|
|
+ st = json.loads(msg.payload)
|
|
|
+ print st['AM2301']
|
|
|
+ for k in st['AM2301']:
|
|
|
+ if is_number(st['AM2301'][k]):
|
|
|
+ lines.append("%s.%s %f %d" % (carbonkey, k, float(st['AM2301'][k]), now))
|
|
|
+ except:
|
|
|
+ logging.info("Topic %s contains non-JSON payload [%s]" %
|
|
|
+ (msg.topic, msg.payload))
|
|
|
+ return
|
|
|
+
|
|
|
|
|
|
else:
|
|
|
logging.info("Unknown mapping key [%s]", type)
|