fix: mqtt subscription format

- Updated subscribe calls to match gmqtt example
- Added qos=1 parameter to subscriptions
This commit is contained in:
Josh Finlay 2025-01-08 10:09:48 +10:00
parent 7a22813d8e
commit 925f612ede
1 changed files with 3 additions and 6 deletions

View File

@ -3,7 +3,6 @@ import json
import asyncio import asyncio
from typing import Optional, Callable, Union from typing import Optional, Callable, Union
from gmqtt import Client as MQTTClient from gmqtt import Client as MQTTClient
from gmqtt.mqtt.subscription import Subscription
import logging import logging
# Get logger # Get logger
@ -103,9 +102,8 @@ class HomeAssistantMQTT:
logger.info("Connected to MQTT broker") logger.info("Connected to MQTT broker")
self._connected = True self._connected = True
try: try:
# Subscribe to command topic using gmqtt's format # Subscribe to command topic
sub = Subscription(self.command_topic, qos=1) await self.client.subscribe(self.command_topic, qos=1)
await self.client.subscribe([sub])
logger.info(f"Subscribed to command topic: {self.command_topic}") logger.info(f"Subscribed to command topic: {self.command_topic}")
# Publish discovery config # Publish discovery config
@ -194,8 +192,7 @@ class HomeAssistantMQTT:
"""Subscribe to a topic""" """Subscribe to a topic"""
if self.client and self._connected: if self.client and self._connected:
try: try:
sub = Subscription(topic, qos=1) await self.client.subscribe(topic, qos=1)
await self.client.subscribe([sub])
except Exception as e: except Exception as e:
logger.error(f"Failed to subscribe to topic: {e}") logger.error(f"Failed to subscribe to topic: {e}")