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.subscriptions_to_restore
|
||||
)
|
||||
mqtt_data.subscriptions_to_restore = []
|
||||
mqtt_data.subscriptions_to_restore = set()
|
||||
mqtt_data.reload_dispatchers.append(
|
||||
entry.add_update_listener(_async_config_entry_updated)
|
||||
)
|
||||
|
|
|
@ -427,12 +427,12 @@ class MQTT:
|
|||
await self.async_init_client()
|
||||
|
||||
@property
|
||||
def subscriptions(self) -> list[Subscription]:
|
||||
def subscriptions(self) -> set[Subscription]:
|
||||
"""Return the tracked subscriptions."""
|
||||
return [
|
||||
return {
|
||||
*chain.from_iterable(self._simple_subscriptions.values()),
|
||||
*self._wildcard_subscriptions,
|
||||
]
|
||||
}
|
||||
|
||||
def cleanup(self) -> None:
|
||||
"""Clean up listeners."""
|
||||
|
@ -735,7 +735,7 @@ class MQTT:
|
|||
|
||||
@callback
|
||||
def async_restore_tracked_subscriptions(
|
||||
self, subscriptions: list[Subscription]
|
||||
self, subscriptions: set[Subscription]
|
||||
) -> None:
|
||||
"""Restore tracked subscriptions after reload."""
|
||||
for subscription in subscriptions:
|
||||
|
|
|
@ -423,7 +423,7 @@ class MqttData:
|
|||
reload_handlers: dict[str, CALLBACK_TYPE] = field(default_factory=dict)
|
||||
reload_schema: dict[str, VolSchemaType] = field(default_factory=dict)
|
||||
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)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue