From 3a97a7a05973acc501c14042eb4a6868a2971b33 Mon Sep 17 00:00:00 2001 From: coon Date: Fri, 26 Sep 2025 23:45:24 +0200 Subject: [PATCH] mqtt_client.py: move global vars into MqttClient class --- mqtt_client.py | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/mqtt_client.py b/mqtt_client.py index 9003a0f..6dbe75f 100644 --- a/mqtt_client.py +++ b/mqtt_client.py @@ -8,22 +8,20 @@ import mixer from mixer import Mixer -MQTT_SERVER_PORT = 1883 -MQTT_DISCOVERY_TOPIC = "homeassistant/button/mixer/config" -MQTT_COMMAND_TOPIC = "livingroom/voc/allen_heath_qu16_mixer" - -m: Mixer = None - - class MqttClient: - def __init__(self): + MQTT_SERVER_PORT = 1883 + MQTT_DISCOVERY_TOPIC = "homeassistant/button/mixer/config" + MQTT_COMMAND_TOPIC = "livingroom/voc/allen_heath_qu16_mixer" + + def __init__(self, mixer_ip): + self.m = mixer.Mixer(mixer_ip) self.client = mqtt.Client(callback_api_version=mqtt.CallbackAPIVersion.VERSION2) def mqtt_autodiscovery(self, client): j = json.dumps( { "name": "Reset Settings", - "command_topic": MQTT_COMMAND_TOPIC, + "command_topic": self.MQTT_COMMAND_TOPIC, "command_template": '{"command": "scene_recall", "args": {"scene_id": 0}}', "device": { "name": "Mischpult", @@ -36,12 +34,12 @@ class MqttClient: } ) - self, client.publish(MQTT_DISCOVERY_TOPIC, payload=j, qos=0, retain=False) + self, client.publish(self.MQTT_DISCOVERY_TOPIC, payload=j, qos=0, retain=False) def on_connect(self, client, userdata, flags, reason_code, properties): print(f"Connected: {reason_code}") - client.subscribe(MQTT_COMMAND_TOPIC) + client.subscribe(self.MQTT_COMMAND_TOPIC) self.mqtt_autodiscovery(client) def on_message(self, client, userdata, msg): @@ -53,15 +51,15 @@ class MqttClient: match j["command"]: case "scene_recall": - m.scene_recall(j["args"]["scene_id"]) + self.m.scene_recall(j["args"]["scene_id"]) case "shutdown": - m.shutdown() + self.m.shutdown() def run(self, hostname): self.client.on_connect = self.on_connect self.client.on_message = self.on_message - self.client.connect(hostname, MQTT_SERVER_PORT, 60) + self.client.connect(hostname, self.MQTT_SERVER_PORT, 60) self.client.loop_forever() @@ -85,10 +83,7 @@ def main(): print(f"Mixer IP: {args.mixer_ip}, MQTT broker hostname: {args.mqtt_hostname}") - global m - m = mixer.Mixer(args.mixer_ip) - - client = MqttClient() + client = MqttClient(args.mixer_ip) client.run(args.mqtt_hostname)