diff --git a/mqtt2influx.py b/mqtt2influx.py index a536888a46693a0459bcf89d9eb7402fa4d68dc5..2a875d92b2abd35aede0446c0a04662bff6b35d8 100644 --- a/mqtt2influx.py +++ b/mqtt2influx.py @@ -8,7 +8,6 @@ import json import time import paho.mqtt.client as mqtt -from decimal import Decimal from influxdb import InfluxDBClient try: @@ -46,21 +45,24 @@ def on_message(client, userdata, msg): if("PressureUnit" not in key and "TempUnit" not in key and "Time" not in key): print("Key: " + key) - json_body = {} - json_body["measurement"] = "Sensor" - json_body["tags"] = {} - json_body["tags"]["client"] = msg.topic.split("/wetterstation/")[1].split("/SENSOR")[0] - json_body["tags"]["sensor"] = key - json_body["fields"] = {} + fields = {} if ("Temperature" in loaded_json[key]): - json_body["fields"]["temperature"] = loaded_json[key]["Temperature"] + fields["temperature"] = loaded_json[key]["Temperature"] if ("Humidity" in loaded_json[key]): - json_body["fields"]["humidity"] = loaded_json[key]["Humidity"] + fields["humidity"] = loaded_json[key]["Humidity"] if ("Pressure" in loaded_json[key]): - json_body["fields"]["pressure"] = loaded_json[key]["Pressure"] + fields["pressure"] = loaded_json[key]["Pressure"] + json_body = [{ + "measurement": "Sensors", + "tags": { + "client": msg.topic.split("/wetterstation/")[1].split("/SENSOR")[0], + "sensor": key + }, + "fields": fields + }] - print(json.dumps(json_body)) dbclient.write_points(json_body) + print(json.dumps(json_body)) # Set up a client for InfluxDB print("influx: connect to Server: "+ config[influx_server]['host'])