diff --git a/mqtt2influx.py b/mqtt2influx.py index 7b698025f93a6ca459d2d8722238729a407d7750..d04d9acf8d1c217c6c2b17f9a42e6f93d5b3e4ea 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'])