Ensure mqtt subscriptions are in a set (#122201)
This commit is contained in:
parent
8da630f8c6
commit
87e377cf84
3 changed files with 6 additions and 6 deletions
|
@ -254,7 +254,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
mqtt_data.client.async_restore_tracked_subscriptions(
|
mqtt_data.client.async_restore_tracked_subscriptions(
|
||||||
mqtt_data.subscriptions_to_restore
|
mqtt_data.subscriptions_to_restore
|
||||||
)
|
)
|
||||||
mqtt_data.subscriptions_to_restore = []
|
mqtt_data.subscriptions_to_restore = set()
|
||||||
mqtt_data.reload_dispatchers.append(
|
mqtt_data.reload_dispatchers.append(
|
||||||
entry.add_update_listener(_async_config_entry_updated)
|
entry.add_update_listener(_async_config_entry_updated)
|
||||||
)
|
)
|
||||||
|
|
|
@ -427,12 +427,12 @@ class MQTT:
|
||||||
await self.async_init_client()
|
await self.async_init_client()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def subscriptions(self) -> list[Subscription]:
|
def subscriptions(self) -> set[Subscription]:
|
||||||
"""Return the tracked subscriptions."""
|
"""Return the tracked subscriptions."""
|
||||||
return [
|
return {
|
||||||
*chain.from_iterable(self._simple_subscriptions.values()),
|
*chain.from_iterable(self._simple_subscriptions.values()),
|
||||||
*self._wildcard_subscriptions,
|
*self._wildcard_subscriptions,
|
||||||
]
|
}
|
||||||
|
|
||||||
def cleanup(self) -> None:
|
def cleanup(self) -> None:
|
||||||
"""Clean up listeners."""
|
"""Clean up listeners."""
|
||||||
|
@ -735,7 +735,7 @@ class MQTT:
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def async_restore_tracked_subscriptions(
|
def async_restore_tracked_subscriptions(
|
||||||
self, subscriptions: list[Subscription]
|
self, subscriptions: set[Subscription]
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Restore tracked subscriptions after reload."""
|
"""Restore tracked subscriptions after reload."""
|
||||||
for subscription in subscriptions:
|
for subscription in subscriptions:
|
||||||
|
|
|
@ -423,7 +423,7 @@ class MqttData:
|
||||||
reload_handlers: dict[str, CALLBACK_TYPE] = field(default_factory=dict)
|
reload_handlers: dict[str, CALLBACK_TYPE] = field(default_factory=dict)
|
||||||
reload_schema: dict[str, VolSchemaType] = field(default_factory=dict)
|
reload_schema: dict[str, VolSchemaType] = field(default_factory=dict)
|
||||||
state_write_requests: EntityTopicState = field(default_factory=EntityTopicState)
|
state_write_requests: EntityTopicState = field(default_factory=EntityTopicState)
|
||||||
subscriptions_to_restore: list[Subscription] = field(default_factory=list)
|
subscriptions_to_restore: set[Subscription] = field(default_factory=set)
|
||||||
tags: dict[str, dict[str, MQTTTagScanner]] = field(default_factory=dict)
|
tags: dict[str, dict[str, MQTTTagScanner]] = field(default_factory=dict)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue