Improve snapshot payload debugging and handling

- Added a check for payload length and print debugging information.
- Print part of the payload to help diagnose issues with image data.
This commit is contained in:
2024-10-20 17:36:56 +11:00
parent e9e5ffb931
commit 17be02c9f7
+8 -5
View File
@@ -29,13 +29,11 @@ initial_snapshot_processed = False
def on_connect(client, userdata, flags, rc): def on_connect(client, userdata, flags, rc):
if rc == 0: if rc == 0:
print("Connected successfully to MQTT broker") print("Connected successfully to MQTT broker")
client.subscribe(MQTT_SNAPSHOT_TOPIC) client.subscribe(MQTT_SNAPSHOT_TOPIC, qos=1)
print(f"Subscribed to topic: {MQTT_SNAPSHOT_TOPIC}") print(f"Subscribed to topic: {MQTT_SNAPSHOT_TOPIC}")
publish_discovery_configurations() publish_discovery_configurations()
# Publish initial rating of 0 # Publish initial rating of 0
publish_rating(0) publish_rating(0)
# Request the retained snapshot to process the initial image
client.publish(MQTT_SNAPSHOT_TOPIC, "", qos=1)
else: else:
print(f"Failed to connect, return code {rc}") print(f"Failed to connect, return code {rc}")
@@ -59,8 +57,13 @@ def on_message(client, userdata, msg):
global initial_snapshot_processed global initial_snapshot_processed
if msg.topic == MQTT_SNAPSHOT_TOPIC: if msg.topic == MQTT_SNAPSHOT_TOPIC:
print("Snapshot received") print("Snapshot received")
process_snapshot(msg.payload) if len(msg.payload) == 0:
initial_snapshot_processed = True print("Received an empty payload, skipping processing.")
else:
print(f"Payload length: {len(msg.payload)} bytes")
print(f"Payload (first 100 bytes): {msg.payload[:100]}...")
process_snapshot(msg.payload)
initial_snapshot_processed = True
def process_snapshot(payload): def process_snapshot(payload):
if not payload: if not payload: