Skip to content

Commit c8980d8

Browse files
committed
fix: update paho-mqtt dependency version range
Expand paho-mqtt version constraint to allow minor version updates up to version 3. This should make libdeye compatible with homeassistant 2025.3
1 parent b65ef11 commit c8980d8

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ python_requires = >=3.10
5151
install_requires =
5252
aiohttp>=3.8,<4.0
5353
PyJWT>=2.0,<3.0
54-
paho-mqtt>=1.6,<2
54+
paho-mqtt>=1.6,<3
5555

5656
[options.package_data]
5757
libdeye = py.typed

src/libdeye/mqtt_client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def __init__(
4040
self._mqtt.on_connect = self._mqtt_on_connect
4141
self._mqtt.on_message = self._mqtt_on_message
4242
self._mqtt.on_disconnect = self._mqtt_on_disconnect
43-
self._subscribers: dict[str, set[Callable[[mqtt.MQTTMessage], None]]] = {}
43+
self._subscribers: dict[str, set[Callable[[Any], None]]] = {}
4444
self._pending_commands: list[tuple[str, bytes]] = []
4545

4646
@abstractmethod
@@ -64,8 +64,8 @@ def _mqtt_on_connect(
6464
_mqtt: mqtt.Client,
6565
_userdata: None,
6666
_flags: dict[str, int],
67-
_result_code: int,
68-
_properties: mqtt.Properties | None = None,
67+
_result_code: Any,
68+
_properties: Any,
6969
) -> None:
7070
for topic, callbacks in self._subscribers.items():
7171
if len(callbacks) > 0:
@@ -110,7 +110,7 @@ def _mqtt_on_message(
110110
def _subscribe_topic(
111111
self,
112112
topic: str,
113-
callback: Callable[[mqtt.MQTTMessage], None],
113+
callback: Callable[[Any], None],
114114
) -> Callable[[], None]:
115115
if topic not in self._subscribers:
116116
self._subscribers[topic] = set()

tests/test_mqtt_client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ def test_mqtt_on_connect(self, base_client: MockBaseDeyeMqttClient) -> None:
134134
# Call _mqtt_on_connect
135135
with patch.object(base_client._mqtt, "subscribe") as mock_subscribe:
136136
with patch.object(base_client._mqtt, "publish") as mock_publish:
137-
base_client._mqtt_on_connect(base_client._mqtt, None, {}, 0)
137+
base_client._mqtt_on_connect(base_client._mqtt, None, {}, 0, {})
138138
mock_subscribe.assert_called_once_with(topic1)
139139
mock_publish.assert_called_once_with(pending_topic, pending_command)
140140
assert len(base_client._pending_commands) == 0
@@ -278,7 +278,7 @@ async def test_set_mqtt_info(self, classic_client: DeyeClassicMqttClient) -> Non
278278
assert classic_client._mqtt_host == "test.mqtt.host"
279279
assert classic_client._mqtt_ssl_port == 8883
280280
assert classic_client._endpoint == "test_endpoint"
281-
classic_client._mqtt.username_pw_set.assert_called_once_with(
281+
cast(MagicMock, classic_client._mqtt).username_pw_set.assert_called_once_with(
282282
"test_user", "test_password"
283283
)
284284

@@ -458,7 +458,7 @@ async def test_set_mqtt_info(self, fog_client: DeyeFogMqttClient) -> None:
458458
assert fog_client._mqtt_host == "test.mqtt.host"
459459
assert fog_client._mqtt_ssl_port == 8883
460460
assert fog_client._topic == "fogcloud/app/test_user/sub"
461-
fog_client._mqtt.username_pw_set.assert_called_once_with(
461+
cast(MagicMock, fog_client._mqtt).username_pw_set.assert_called_once_with(
462462
"test_user", "test_password"
463463
)
464464

0 commit comments

Comments
 (0)