Ensure platform setup for all AVM FRITZ!SmartHome devices (#105515)
This commit is contained in:
parent
dd5a48996a
commit
08ca3678da
7 changed files with 44 additions and 35 deletions
|
@ -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):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue