Ensure platform setup for all AVM FRITZ!SmartHome devices (#105515)

This commit is contained in:
Michael 2023-12-13 18:07:29 +01:00 committed by GitHub
parent dd5a48996a
commit 08ca3678da
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 44 additions and 35 deletions

View file

@ -19,17 +19,17 @@ async def async_setup_entry(
coordinator = get_coordinator(hass, entry.entry_id)
@callback
def _add_entities() -> None:
def _add_entities(templates: set[str] | None = None) -> None:
"""Add templates."""
if not coordinator.new_templates:
if templates is None:
templates = coordinator.new_templates
if not templates:
return
async_add_entities(
FritzBoxTemplate(coordinator, ain) for ain in coordinator.new_templates
)
async_add_entities(FritzBoxTemplate(coordinator, ain) for ain in templates)
entry.async_on_unload(coordinator.async_add_listener(_add_entities))
_add_entities()
_add_entities(set(coordinator.data.templates.keys()))
class FritzBoxTemplate(FritzBoxEntity, ButtonEntity):