From f4d591b4d3f40aa6b851aa10aa83e4e27741121d Mon Sep 17 00:00:00 2001 From: Li Shuzhen Date: Fri, 26 Dec 2025 08:42:23 +0800 Subject: [PATCH] perf: remove unused device info (#1574) --- .../xiaomi_home/miot/miot_client.py | 19 +++++++++++++++++-- .../xiaomi_home/miot/miot_cloud.py | 9 +-------- .../xiaomi_home/miot/miot_mips.py | 12 +----------- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/custom_components/xiaomi_home/miot/miot_client.py b/custom_components/xiaomi_home/miot/miot_client.py index 61cfdf9..cc6520c 100644 --- a/custom_components/xiaomi_home/miot/miot_client.py +++ b/custom_components/xiaomi_home/miot/miot_client.py @@ -1256,7 +1256,15 @@ class MIoTClient: ) -> None: _LOGGER.info( 'gateway devices list changed, %s, %s', mips.group_id, did_list) - payload: dict = {'filter': {'did': did_list}} + payload: dict = { + 'filter': { + 'did': did_list + }, + 'info': [ + 'name', 'model', 'urn', + 'online', 'specV2Access', 'pushAvailable' + ] + } gw_list = await mips.get_dev_list_async( payload=json.dumps(payload)) if gw_list is None: @@ -1590,7 +1598,14 @@ class MIoTClient: if not mips.mips_state: _LOGGER.debug('local mips disconnect, skip refresh, %s', group_id) return - gw_list: dict = await mips.get_dev_list_async() + payload: dict = { + 'info': [ + 'name', 'model', 'urn', + 'online', 'specV2Access', 'pushAvailable' + ] + } + gw_list: dict = await mips.get_dev_list_async( + payload=json.dumps(payload)) if gw_list is None: _LOGGER.error( 'refresh gw devices with group_id failed, %s, %s', diff --git a/custom_components/xiaomi_home/miot/miot_cloud.py b/custom_components/xiaomi_home/miot/miot_cloud.py index a961efb..ed672a0 100644 --- a/custom_components/xiaomi_home/miot/miot_cloud.py +++ b/custom_components/xiaomi_home/miot/miot_cloud.py @@ -601,15 +601,8 @@ class MIoTHttpClient: 'bssid': device.get('bssid', None), 'order_time': device.get('orderTime', 0), 'fw_version': device.get('extra', {}).get( - 'fw_version', 'unknown'), - } - if isinstance(device.get('extra', None), dict) and device['extra']: - device_infos[did]['fw_version'] = device['extra'].get( 'fw_version', None) - device_infos[did]['mcu_version'] = device['extra'].get( - 'mcu_version', None) - device_infos[did]['platform'] = device['extra'].get( - 'platform', None) + } next_start_did = res_obj.get('next_start_did', None) if res_obj.get('has_more', False) and next_start_did: diff --git a/custom_components/xiaomi_home/miot/miot_mips.py b/custom_components/xiaomi_home/miot/miot_mips.py index 3d66db4..f4305c7 100644 --- a/custom_components/xiaomi_home/miot/miot_mips.py +++ b/custom_components/xiaomi_home/miot/miot_mips.py @@ -1394,19 +1394,9 @@ class MipsLocalClient(_MipsClient): continue device_list[did] = { 'did': did, - 'name': name, - 'urn': urn, - 'model': model, 'online': info.get('online', False), - 'icon': info.get('icon', None), - 'fw_version': None, - 'home_id': '', - 'home_name': '', - 'room_id': info.get('roomId', ''), - 'room_name': info.get('roomName', ''), 'specv2_access': info.get('specV2Access', False), - 'push_available': info.get('pushAvailable', False), - 'manufacturer': model.split('.')[0], + 'push_available': info.get('pushAvailable', False) } return device_list