diff --git a/custom_components/xiaomi_home/miot/miot_client.py b/custom_components/xiaomi_home/miot/miot_client.py index e6fe6a8..31e80af 100644 --- a/custom_components/xiaomi_home/miot/miot_client.py +++ b/custom_components/xiaomi_home/miot/miot_client.py @@ -1048,11 +1048,11 @@ class MIoTClient: mips = self._mips_local.get(group_id, None) if mips: - if state == MipsServiceState.REMOVED: - mips.disconnect() - self._mips_local.pop(group_id, None) - return - if ( + # if state == MipsServiceState.REMOVED: + # mips.disconnect() + # self._mips_local.pop(group_id, None) + # return + if ( # ADDED or UPDATED mips.client_id == self._entry_data['virtual_did'] and mips.host == data['addresses'][0] and mips.port == data['port'] diff --git a/custom_components/xiaomi_home/miot/miot_mdns.py b/custom_components/xiaomi_home/miot/miot_mdns.py index 2380909..f306675 100644 --- a/custom_components/xiaomi_home/miot/miot_mdns.py +++ b/custom_components/xiaomi_home/miot/miot_mdns.py @@ -232,9 +232,10 @@ class MipsService: for item in list(self._services.values()): if item['name'] != name: continue - service_data = self._services.pop(item['group_id'], {}) - self.__call_service_change( - state=MipsServiceState.REMOVED, data=service_data) + # Ignore mdns REMOVED package. Let the connection close by itself. + # service_data = self._services.pop(item['group_id'], {}) + # self.__call_service_change( + # state=MipsServiceState.REMOVED, data=service_data) return self._main_loop.create_task( self.__request_service_info_async(zeroconf, service_type, name)) diff --git a/custom_components/xiaomi_home/miot/specs/spec_modify.yaml b/custom_components/xiaomi_home/miot/specs/spec_modify.yaml index 269d301..0ded1ec 100644 --- a/custom_components/xiaomi_home/miot/specs/spec_modify.yaml +++ b/custom_components/xiaomi_home/miot/specs/spec_modify.yaml @@ -138,6 +138,12 @@ urn:miot-spec-v2:device:bath-heater:0000A028:xiaomi-s1:1: urn:miot-spec-v2:device:curtain:0000A00C:bjkcz-kczble:1:0000D031: prop.2.2: name: status-a +urn:miot-spec-v2:device:dehumidifier:0000A02D:xiaomi-lite:1: + prop.3.2: + value-range: + - -30 + - 100 + - 0.1 urn:miot-spec-v2:device:electronic-valve:0000A0A7:sanmei-s1:1: prop.3.1: format: float