From 07716ec9a8d74ba55467202d6514f9aab93d3b41 Mon Sep 17 00:00:00 2001 From: DoraTiger Date: Thu, 26 Dec 2024 20:12:05 +0800 Subject: [PATCH] sytle: change logic to suit conversation --- custom_components/xiaomi_home/miot/miot_device.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/custom_components/xiaomi_home/miot/miot_device.py b/custom_components/xiaomi_home/miot/miot_device.py index 7af32f0..6356118 100644 --- a/custom_components/xiaomi_home/miot/miot_device.py +++ b/custom_components/xiaomi_home/miot/miot_device.py @@ -517,15 +517,12 @@ class MIoTDevice: 'device_class'] result = {'platform': platform, 'device_class': device_class} # optional: - optional = SPEC_PROP_TRANS_MAP['properties'][prop_name].get('optional') - if optional: - prop_optional_state_class = optional.get('state_class') - if prop_optional_state_class: - result['state_class'] = prop_optional_state_class - - prop_optional_unit = optional.get('unit_of_measurement') - if prop_optional_unit and not prop.unit: - result['unit_of_measurement'] = prop_optional_unit + if 'optional' in SPEC_PROP_TRANS_MAP['properties'][prop_name]: + optional = SPEC_PROP_TRANS_MAP['properties'][prop_name]['optional'] + if 'state_class' in optional: + result['state_class'] = optional['state_class'] + if not prop.unit and 'unit_of_measurement' in optional: + result['unit_of_measurement'] = optional['unit_of_measurement'] return result def spec_transform(self) -> None: