mirror of
https://github.com/XiaoMi/ha_xiaomi_home.git
synced 2025-11-21 03:28:57 +08:00
fix: ignore mdns REMOVED package (#1296)
Some checks failed
Some checks failed
This commit is contained in:
@@ -1048,11 +1048,11 @@ class MIoTClient:
|
|||||||
|
|
||||||
mips = self._mips_local.get(group_id, None)
|
mips = self._mips_local.get(group_id, None)
|
||||||
if mips:
|
if mips:
|
||||||
if state == MipsServiceState.REMOVED:
|
# if state == MipsServiceState.REMOVED:
|
||||||
mips.disconnect()
|
# mips.disconnect()
|
||||||
self._mips_local.pop(group_id, None)
|
# self._mips_local.pop(group_id, None)
|
||||||
return
|
# return
|
||||||
if (
|
if ( # ADDED or UPDATED
|
||||||
mips.client_id == self._entry_data['virtual_did']
|
mips.client_id == self._entry_data['virtual_did']
|
||||||
and mips.host == data['addresses'][0]
|
and mips.host == data['addresses'][0]
|
||||||
and mips.port == data['port']
|
and mips.port == data['port']
|
||||||
|
|||||||
@@ -232,9 +232,10 @@ class MipsService:
|
|||||||
for item in list(self._services.values()):
|
for item in list(self._services.values()):
|
||||||
if item['name'] != name:
|
if item['name'] != name:
|
||||||
continue
|
continue
|
||||||
service_data = self._services.pop(item['group_id'], {})
|
# Ignore mdns REMOVED package. Let the connection close by itself.
|
||||||
self.__call_service_change(
|
# service_data = self._services.pop(item['group_id'], {})
|
||||||
state=MipsServiceState.REMOVED, data=service_data)
|
# self.__call_service_change(
|
||||||
|
# state=MipsServiceState.REMOVED, data=service_data)
|
||||||
return
|
return
|
||||||
self._main_loop.create_task(
|
self._main_loop.create_task(
|
||||||
self.__request_service_info_async(zeroconf, service_type, name))
|
self.__request_service_info_async(zeroconf, service_type, name))
|
||||||
|
|||||||
Reference in New Issue
Block a user