device refactored
This commit is contained in:
@@ -9,8 +9,9 @@ import struct
|
||||
|
||||
def mqttOnConnectCallback(client, userdata, flags, rc):
|
||||
logger.info("mqtt connected")
|
||||
client.subscribe(config['MQTT_IN_TOPIC'])
|
||||
logger.info(f"subscribed to {config['MQTT_IN_TOPIC']}")
|
||||
mqtt_in_topic = f"v3/{config['APPLICATION_TENANT']}/devices/+/up"
|
||||
client.subscribe(mqtt_in_topic)
|
||||
logger.info(f"subscribed to {mqtt_in_topic}")
|
||||
|
||||
def mqttOnMessageCallback(client, userdata, message):
|
||||
try:
|
||||
@@ -18,13 +19,14 @@ def mqttOnMessageCallback(client, userdata, message):
|
||||
payload = message.payload
|
||||
logger.debug(f"mqtt message received: {topic} -> {payload}")
|
||||
parse_payload = json.loads(payload)
|
||||
device_id = parse_payload['end_device_ids']['device_id']
|
||||
frame = base64.b64decode(parse_payload['uplink_message']['frm_payload'])
|
||||
logger.info(f"{frame=}")
|
||||
status = struct.unpack('<H', frame[0:2])[0]
|
||||
logger.info(f"{status=}")
|
||||
|
||||
if (status == 4):
|
||||
logger.info("Start up message received")
|
||||
logger.info(f"Start up message received from {device_id}")
|
||||
# send downlink message with labels
|
||||
sensor_addrs = []
|
||||
for i in range(0, 4):
|
||||
@@ -34,7 +36,7 @@ def mqttOnMessageCallback(client, userdata, message):
|
||||
logger.debug(f"sensor {i}: 0x{sensor_addrs[i]:016x}")
|
||||
|
||||
else:
|
||||
logger.info("Regular message received")
|
||||
logger.info(f"Regular message received from {device_id}")
|
||||
# continue to parse and process message
|
||||
sensor_addrs = []
|
||||
sensor_values = []
|
||||
@@ -63,7 +65,7 @@ REQUIRED_CONFIG_OPTIONS = [
|
||||
'MQTT_BROKER',
|
||||
'MQTT_PORT',
|
||||
'MQTT_CA',
|
||||
'MQTT_IN_TOPIC'
|
||||
'APPLICATION_TENANT'
|
||||
]
|
||||
|
||||
config = {}
|
||||
|
Reference in New Issue
Block a user