From 97a23248fd8877573c7c26c9695f0f6d7a8018d8 Mon Sep 17 00:00:00 2001
From: Dennis Eisold <de@itstall.de>
Date: Mon, 27 Jan 2020 13:49:17 +0100
Subject: [PATCH] Update mqtt2influx.py

---
 mqtt2influx.py | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/mqtt2influx.py b/mqtt2influx.py
index a536888..2a875d9 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'])
-- 
GitLab