diff --git a/service.py b/service.py index b8566d8..1efbc32 100644 --- a/service.py +++ b/service.py @@ -148,21 +148,19 @@ class MongoDriver(MeshArgsParse): if "payload" in v: try: - v["decoded_payload"] = v["payload"].decode() + if v.get("portnum", 0) == 1: #text + v["decoded_payload"] = v["payload"].decode() + elif v.get("portnum", 0) == 67: #telemetry + v["decoded_payload_object"] = pb.decode(v["payload"], TELEMETRY_SCHEME) + elif v.get("portnum", 0) == 3: #pos + v["decoded_payload_object"] = pb.decode(v["payload"], POSITION_SCHEME) + elif v.get("portnum", 0) == 5: #routing + v["decoded_payload_object"] = pb.decode(v["payload"], ROUTING_SCHEME) + + if "decoded_payload_object" in v: + print(v["decoded_payload_object"]) except: - try: - if v.get("portnum", 0) == 67: - v["decoded_payload_object"] = pb.decode(v["payload"], TELEMETRY_SCHEME) - elif v.get("portnum", 0) == 3: - v["decoded_payload_object"] = pb.decode(v["payload"], POSITION_SCHEME) - elif v.get("portnum", 0) == 5: - v["decoded_payload_object"] = pb.decode(v["payload"], ROUTING_SCHEME) - - if "decoded_payload_object" in v: - print(v["decoded_payload_object"]) - except: - traceback.print_exc() - pass + traceback.print_exc() if "user" in v: v.update(v["user"])