better logging and black
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
3ba9e6fab4
commit
157371ff59
52
rhf1s001.py
52
rhf1s001.py
|
@ -16,71 +16,82 @@ DST_INFLUX_USER = os.getenv("DST_INFLUX_USER")
|
|||
DST_INFLUX_PASS = os.getenv("DST_INFLUX_PASS")
|
||||
DST_INFLUX_DB = os.getenv("DST_INFLUX_DB")
|
||||
|
||||
|
||||
def on_connect_ttn(client, userdata, flags, rc):
|
||||
logging.info("connected to ttn %s - %s", SRC_MQTT_HOST, str(rc))
|
||||
client.subscribe("v3/+/devices/+/up")
|
||||
|
||||
|
||||
def on_log(client, userdata, level, buf):
|
||||
logging_level = mqtt.LOGGING_LEVEL[level]
|
||||
logging.log(logging_level, buf)
|
||||
logging.info("got a log message level %s: %s", level, str(buf))
|
||||
|
||||
|
||||
# The callback for when a PUBLISH message is received from the server.
|
||||
def on_message_ttn(client, userdata, msg):
|
||||
data = json.loads(msg.payload)
|
||||
logging.info("new data received via gw %s", data["uplink_message"]["rx_metadata"][0]["gateway_ids"]["gateway_id"])
|
||||
logging.info(
|
||||
"new data received via gw %s",
|
||||
data["uplink_message"]["rx_metadata"][0]["gateway_ids"]["gateway_id"],
|
||||
)
|
||||
|
||||
# write to influxdb
|
||||
logging.info("writing data to influxdb")
|
||||
influxdb.write_points(
|
||||
[
|
||||
batt = data["uplink_message"]["decoded_payload"]["battery"]
|
||||
hum = data["uplink_message"]["decoded_payload"]["hum"]
|
||||
temp = data["uplink_message"]["decoded_payload"]["temp"]
|
||||
logging.info(f"writing data to influxdb: batt={batt}, hum={hum}, temp={temp}")
|
||||
point = [
|
||||
{
|
||||
"measurement": "risinghf",
|
||||
"tags": {
|
||||
"device": "rhf1s001",
|
||||
},
|
||||
"fields": {
|
||||
"battery": data["uplink_message"]["decoded_payload"]["battery"],
|
||||
"hum": data["uplink_message"]["decoded_payload"]["hum"],
|
||||
"temp": data["uplink_message"]["decoded_payload"]["temp"],
|
||||
"battery": batt,
|
||||
"hum": hum,
|
||||
"temp": temp,
|
||||
"counter": data["uplink_message"]["f_cnt"],
|
||||
"rssi": data["uplink_message"]["rx_metadata"][0]["rssi"],
|
||||
}
|
||||
},
|
||||
}
|
||||
]
|
||||
)
|
||||
influxdb.write_points(point)
|
||||
|
||||
logging.info("data processing done")
|
||||
|
||||
|
||||
def shutdown():
|
||||
logging.info("disconnecting from mqtt")
|
||||
client_ttn.disconnect()
|
||||
client_ttn.loop_stop()
|
||||
|
||||
|
||||
def handleSIGTERM(signalNumber, frame):
|
||||
logging.info("got SIGTERM")
|
||||
shutdown()
|
||||
return
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
signal.signal(signal.SIGTERM, handleSIGTERM)
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format='%(asctime)s - %(message)s',
|
||||
datefmt='%Y-%m-%d %H:%M:%S %Z'
|
||||
format="%(asctime)s - %(message)s",
|
||||
datefmt="%Y-%m-%d %H:%M:%S %Z",
|
||||
)
|
||||
|
||||
# Prepare InfluxDB
|
||||
influxdb = InfluxDBClient(
|
||||
host=DST_INFLUX_HOST,
|
||||
port=443,
|
||||
database=DST_INFLUX_DB,
|
||||
username=DST_INFLUX_USER,
|
||||
password=DST_INFLUX_PASS,
|
||||
ssl=True,
|
||||
verify_ssl=True,
|
||||
host=DST_INFLUX_HOST,
|
||||
port=443,
|
||||
database=DST_INFLUX_DB,
|
||||
username=DST_INFLUX_USER,
|
||||
password=DST_INFLUX_PASS,
|
||||
ssl=True,
|
||||
verify_ssl=True,
|
||||
)
|
||||
|
||||
# Prepare MQTT
|
||||
|
@ -89,7 +100,7 @@ if __name__ == '__main__':
|
|||
client_ttn.on_connect = on_connect_ttn
|
||||
client_ttn.on_message = on_message_ttn
|
||||
client_ttn.on_log = on_log
|
||||
client_ttn.username_pw_set(SRC_MQTT_USER,SRC_MQTT_PASS)
|
||||
client_ttn.username_pw_set(SRC_MQTT_USER, SRC_MQTT_PASS)
|
||||
client_ttn.tls_set()
|
||||
client_ttn.connect(SRC_MQTT_HOST, 8883, 60)
|
||||
|
||||
|
@ -100,4 +111,3 @@ if __name__ == '__main__':
|
|||
client_ttn.disconnect()
|
||||
client_ttn.loop_stop()
|
||||
logging.info("tschuess")
|
||||
|
||||
|
|
Loading…
Reference in New Issue