From 2d5454916b9b83b758fc3cb5a0e2030169d86998 Mon Sep 17 00:00:00 2001
From: Dennis Eisold <de@itstall.de>
Date: Mon, 27 Jan 2020 19:25:34 +0100
Subject: [PATCH] Update mqtt2influx.py

---
 mqtt2influx.py | 38 ++++++++++++++++++++------------------
 1 file changed, 20 insertions(+), 18 deletions(-)

diff --git a/mqtt2influx.py b/mqtt2influx.py
index 7b69802..d04d9ac 100644
--- a/mqtt2influx.py
+++ b/mqtt2influx.py
@@ -36,25 +36,27 @@ def on_message(client, userdata, msg):
         for key in loaded_json.keys():
             if("Unit" not in key and "Time" not in key):
                 print("Key: " + key)
+                if("Temperature" in loaded_json[key] or "Humidity" in loaded_json[key] or "Pressure" in loaded_json[key]):
+                    fields = {}
+                    if ("Temperature" in loaded_json[key]):
+                        fields["temperature"] = loaded_json[key]["Temperature"]
+                    if ("Humidity" in loaded_json[key]):
+                        fields["humidity"] = loaded_json[key]["Humidity"]
+                    if ("Pressure" in loaded_json[key]):
+                        fields["pressure"] = loaded_json[key]["Pressure"]
+                    json_body = [{
+                        "measurement": "Sensors",
+                            "tags": {
+                                "client": client,
+                                "sensor": key
+                            },
+                            "fields": fields
+                    }]
 
-                fields = {}
-                if ("Temperature" in loaded_json[key]):
-                    fields["temperature"] = loaded_json[key]["Temperature"]
-                if ("Humidity" in loaded_json[key]):
-                    fields["humidity"] = loaded_json[key]["Humidity"]
-                if ("Pressure" in loaded_json[key]):
-                    fields["pressure"] = loaded_json[key]["Pressure"]
-                json_body = [{
-                    "measurement": "Sensors",
-                        "tags": {
-                            "client": client,
-                            "sensor": key
-                        },
-                        "fields": fields
-                }]
-
-                dbclient.write_points(json_body)
-                print(json.dumps(json_body))
+                    dbclient.write_points(json_body)
+                    print(json.dumps(json_body))
+                else:
+                    print("No sensor data delivered")
 
 # Set up a client for InfluxDB
 print("influx: connect to Server: "+ config[influx_server]['host'])
-- 
GitLab