Compare commits

...

2 Commits

Author SHA1 Message Date
Erik Montnemery
f134cc76cd Merge branch 'dev' into fail_on_config_entry_unique_id_collision 2026-02-11 09:03:25 +01:00
Erik
0fec78ea75 Don't allow adding a config entry with colliding unique_id 2024-11-08 08:47:11 +01:00

View File

@@ -1899,9 +1899,12 @@ class ConfigEntryItems(UserDict[str, ConfigEntry]):
self.check_unique_id(entry)
self._domain_index.setdefault(entry.domain, []).append(entry)
if entry.unique_id is not None:
self._domain_unique_id_index.setdefault(entry.domain, {}).setdefault(
entry.unique_id, []
).append(entry)
domain_entries = self._domain_unique_id_index.setdefault(entry.domain, {})
if entry.unique_id in domain_entries:
raise ValueError(
f"{entry.domain} config entry with unique id {entry.unique_id} already exists"
)
domain_entries.setdefault(entry.unique_id, []).append(entry)
def _unindex_entry(self, entry_id: str) -> None:
"""Unindex an entry."""