always send to influxdb
This commit is contained in:
parent
fa22d42a7e
commit
70158edd55
57
lgt92.py
57
lgt92.py
|
@ -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"])
|
||||||
|
|
||||||
|
# max is 4 volts, 3 volts is considered empty
|
||||||
|
batpercent = round((data["payload_fields"]["batV"] - 3) * 100)
|
||||||
|
|
||||||
if "latitude" in data["payload_fields"]:
|
if "latitude" in data["payload_fields"]:
|
||||||
|
|
||||||
# max is 4 volts, 3 volts is considered empty
|
|
||||||
batpercent = round((data["payload_fields"]["batV"] - 3) * 100)
|
|
||||||
|
|
||||||
# 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,34 +60,32 @@ 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)
|
||||||
|
|
||||||
# write to influxdb
|
|
||||||
logging.info("writing data to influxdb")
|
|
||||||
influxdb.write_points(
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"measurement": "dragino",
|
|
||||||
"tags": {
|
|
||||||
"device": "lgt92",
|
|
||||||
},
|
|
||||||
"fields": {
|
|
||||||
"bat": data["payload_fields"]["batV"],
|
|
||||||
"pitch": data["payload_fields"]["pitch"],
|
|
||||||
"roll": data["payload_fields"]["roll"],
|
|
||||||
"lat": data["payload_fields"]["latitude"],
|
|
||||||
"lon": data["payload_fields"]["longitude"],
|
|
||||||
"alarm": int(data["payload_fields"]["alarm"]),
|
|
||||||
"counter": data["counter"],
|
|
||||||
"airtime": data["metadata"]["airtime"],
|
|
||||||
"rssi": data["metadata"]["gateways"][0]["rssi"],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
logging.info("no GPS data present - skipping")
|
logging.info("no GPS data / latitude present")
|
||||||
|
|
||||||
|
# write to influxdb
|
||||||
|
logging.info("writing data to influxdb")
|
||||||
|
influxdb.write_points(
|
||||||
|
[{
|
||||||
|
"measurement": "dragino",
|
||||||
|
"tags": {
|
||||||
|
"device": "lgt92",
|
||||||
|
},
|
||||||
|
"fields": {
|
||||||
|
"bat": data["payload_fields"]["batV"],
|
||||||
|
"pitch": data["payload_fields"]["pitch"],
|
||||||
|
"roll": data["payload_fields"]["roll"],
|
||||||
|
"lat": data["payload_fields"]["latitude"],
|
||||||
|
"lon": data["payload_fields"]["longitude"],
|
||||||
|
"alarm": int(data["payload_fields"]["alarm"]),
|
||||||
|
"counter": data["counter"],
|
||||||
|
"airtime": data["metadata"]["airtime"],
|
||||||
|
"rssi": data["metadata"]["gateways"][0]["rssi"],
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
)
|
||||||
|
|
||||||
logging.info("data processing done")
|
logging.info("data processing done")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue