From 92df4023314f04e2ab212b83d8d3c8fd1485d7ca Mon Sep 17 00:00:00 2001 From: Jeff Culverhouse Date: Fri, 21 Feb 2025 21:28:56 -0500 Subject: [PATCH] simpler log, newer base image --- Dockerfile | 2 +- amcrest2mqtt.py | 29 ++++++----------------------- 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8be6e37..dadbb17 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-alpine +FROM python:3.14.0a5-alpine3.21 RUN python3 -m ensurepip diff --git a/amcrest2mqtt.py b/amcrest2mqtt.py index 11b76b0..f58be42 100644 --- a/amcrest2mqtt.py +++ b/amcrest2mqtt.py @@ -119,29 +119,12 @@ def mqtt_connect(): log(f"Could not connect to MQTT server: {error}", level="ERROR") sys.exit(1) -def on_mqtt_disconnect(client, userdata, rc): - match rc: - case 0: - return - case 1: - log(f"MQTT connection refused: protocol level not supported", level="ERROR") - exit_gracefully(rc, skip_mqtt=True) - case 2: - log(f"MQTT connection refused: client-id not allowed", level="ERROR") - exit_gracefully(rc, skip_mqtt=True) - case 3: - log(f"MQTT connection refused: MQTT service not available", level="ERROR") - case 4: - log(f"MQTT connection refused: user or password malformed", level="ERROR") - exit_gracefully(rc, skip_mqtt=True) - case 5: - log(f"MQTT connection refused: not authorized", level="ERROR") - exit_gracefully(rc, skip_mqtt=True) - case _: - log(f"Unexpected MQTT disconnection: {rc}", level="ERROR") - exit_gracefully(rc, skip_mqtt=True) - time.sleep(60) - mqtt_connect() +def on_mqtt_disconnect(mqtt_client, userdata, flags, rc, properties): + if rc != 0: + log(f"MQTT connection failed: {rc}", level="ERROR") + else: + log(f"MQTT connection closed successfully", level="INFO") + exit_gracefully(rc, skip_mqtt=True) def exit_gracefully(rc, skip_mqtt=False): global hosts, devices, mqtt_client