fix: mqtt subscription format
- Use gmqtt's Subscription class for MQTT subscriptions - Updated both _post_connect and subscribe methods
This commit is contained in:
parent
92daf9c8ad
commit
7a22813d8e
|
|
@ -3,6 +3,7 @@ import json
|
|||
import asyncio
|
||||
from typing import Optional, Callable, Union
|
||||
from gmqtt import Client as MQTTClient
|
||||
from gmqtt.mqtt.subscription import Subscription
|
||||
import logging
|
||||
|
||||
# Get logger
|
||||
|
|
@ -102,8 +103,9 @@ class HomeAssistantMQTT:
|
|||
logger.info("Connected to MQTT broker")
|
||||
self._connected = True
|
||||
try:
|
||||
# Subscribe to command topic using a dict
|
||||
await self.client.subscribe([{'topic': self.command_topic, 'qos': 1}])
|
||||
# Subscribe to command topic using gmqtt's format
|
||||
sub = Subscription(self.command_topic, qos=1)
|
||||
await self.client.subscribe([sub])
|
||||
logger.info(f"Subscribed to command topic: {self.command_topic}")
|
||||
|
||||
# Publish discovery config
|
||||
|
|
@ -192,7 +194,8 @@ class HomeAssistantMQTT:
|
|||
"""Subscribe to a topic"""
|
||||
if self.client and self._connected:
|
||||
try:
|
||||
await self.client.subscribe([{'topic': topic, 'qos': 1}])
|
||||
sub = Subscription(topic, qos=1)
|
||||
await self.client.subscribe([sub])
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to subscribe to topic: {e}")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue