import json import paho.mqtt.client as mqtt HOST = "192.168.7.3" PORT = 1883 TOPIC = "qingping/CCB5D131BA93/up" def on_connect(client, userdata, flags, reason_code, properties): print("Connected:", reason_code) client.subscribe(TOPIC) def on_message(client, userdata, message): try: payload = json.loads(message.payload.decode("utf-8")) except Exception: print("RAW:", message.payload) return message_type = str(payload.get("type")) message_id = payload.get("id") message_timestamp = payload.get("timestamp") sensor_timestamps = [] sensor_data = payload.get("sensorData") if isinstance(sensor_data, list): for sample in sensor_data: timestamp = sample.get("timestamp") if isinstance(timestamp, dict): timestamp = timestamp.get("value") sensor_timestamps.append(timestamp) print( f"id={message_id!s:<4} " f"type={message_type:<3} " f"msg_ts={message_timestamp!s:<12} " f"samples={sensor_timestamps}" ) client = mqtt.Client( callback_api_version=mqtt.CallbackAPIVersion.VERSION2, client_id="qingping-raw-debug", ) client.on_connect = on_connect client.on_message = on_message client.connect(HOST, PORT, keepalive=60) print(f"Listening: {TOPIC}") client.loop_forever()