Fix update errors on hubs with unsupported children (#1344)

This commit is contained in:
Steven B. 2024-12-06 11:01:44 +00:00 committed by GitHub
parent 1c9ee4d537
commit be8b7139b8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 2 deletions

View File

@ -167,7 +167,14 @@ class SmartDevice(Device):
self._last_update, "get_child_device_list", {} self._last_update, "get_child_device_list", {}
): ):
for info in child_info["child_device_list"]: for info in child_info["child_device_list"]:
self._children[info["device_id"]]._update_internal_state(info) child_id = info["device_id"]
if child_id not in self._children:
_LOGGER.debug(
"Skipping child update for %s, probably unsupported device",
child_id,
)
continue
self._children[child_id]._update_internal_state(info)
def _update_internal_info(self, info_resp: dict) -> None: def _update_internal_info(self, info_resp: dict) -> None:
"""Update the internal device info.""" """Update the internal device info."""

View File

@ -68,7 +68,14 @@ class SmartCamDevice(SmartDevice):
self._last_update, "getChildDeviceList", {} self._last_update, "getChildDeviceList", {}
): ):
for info in child_info["child_device_list"]: for info in child_info["child_device_list"]:
self._children[info["device_id"]]._update_internal_state(info) child_id = info["device_id"]
if child_id not in self._children:
_LOGGER.debug(
"Skipping child update for %s, probably unsupported device",
child_id,
)
continue
self._children[child_id]._update_internal_state(info)
async def _initialize_smart_child( async def _initialize_smart_child(
self, info: dict, child_components: dict self, info: dict, child_components: dict