always send to influxdb

This commit is contained in:
Tobias Brunner 2020-05-09 14:05:19 +02:00
parent fa22d42a7e
commit 70158edd55
1 changed files with 27 additions and 30 deletions

View File

@ -43,11 +43,10 @@ def on_message_ttn(client, userdata, msg):
logging.info("message from ttn received for %s - #%s", data["dev_id"], data["counter"]) logging.info("message from ttn received for %s - #%s", data["dev_id"], data["counter"])
logging.info("received via gw %s", data["metadata"]["gateways"][0]["gtw_id"]) logging.info("received via gw %s", data["metadata"]["gateways"][0]["gtw_id"])
if "latitude" in data["payload_fields"]:
# max is 4 volts, 3 volts is considered empty # max is 4 volts, 3 volts is considered empty
batpercent = round((data["payload_fields"]["batV"] - 3) * 100) batpercent = round((data["payload_fields"]["batV"] - 3) * 100)
if "latitude" in data["payload_fields"]:
# transform received data into OwnTracks format # transform received data into OwnTracks format
ot_data = json.dumps({ ot_data = json.dumps({
"_type": "location", "_type": "location",
@ -61,14 +60,15 @@ def on_message_ttn(client, userdata, msg):
}) })
# publish to owntracks # publish to owntracks
logging.info("publishing data to owntracks") logging.info("publishing data to owntracks topic on mqtt")
client_ot.publish(OT_TOPIC,ot_data) client_ot.publish(OT_TOPIC,ot_data)
else:
logging.info("no GPS data / latitude present")
# write to influxdb # write to influxdb
logging.info("writing data to influxdb") logging.info("writing data to influxdb")
influxdb.write_points( influxdb.write_points(
[ [{
{
"measurement": "dragino", "measurement": "dragino",
"tags": { "tags": {
"device": "lgt92", "device": "lgt92",
@ -84,11 +84,8 @@ def on_message_ttn(client, userdata, msg):
"airtime": data["metadata"]["airtime"], "airtime": data["metadata"]["airtime"],
"rssi": data["metadata"]["gateways"][0]["rssi"], "rssi": data["metadata"]["gateways"][0]["rssi"],
} }
} }]
]
) )
else:
logging.info("no GPS data present - skipping")
logging.info("data processing done") logging.info("data processing done")