mirror of
https://github.com/XiaoMi/ha_xiaomi_home.git
synced 2025-07-19 14:09:28 +08:00
fix: subscribe when connected to the central hub gateway (#1266)
Some checks failed
Some checks failed
This commit is contained in:
@ -996,7 +996,7 @@ class MIoTClient:
|
|||||||
and self._device_list_cloud[did].get('online', False)
|
and self._device_list_cloud[did].get('online', False)
|
||||||
):
|
):
|
||||||
from_new = 'cloud'
|
from_new = 'cloud'
|
||||||
if from_new == from_old:
|
if (from_new == from_old) and (from_new=='cloud' or from_new=='lan'):
|
||||||
# No need to update
|
# No need to update
|
||||||
return
|
return
|
||||||
# Unsub old
|
# Unsub old
|
||||||
@ -1492,8 +1492,6 @@ class MIoTClient:
|
|||||||
if did not in filter_dids:
|
if did not in filter_dids:
|
||||||
continue
|
continue
|
||||||
device_old = self._device_list_gateway.get(did, None)
|
device_old = self._device_list_gateway.get(did, None)
|
||||||
gw_state_old = device_old.get(
|
|
||||||
'online', False) if device_old else False
|
|
||||||
gw_state_new: bool = False
|
gw_state_new: bool = False
|
||||||
device_new = gw_list.pop(did, None)
|
device_new = gw_list.pop(did, None)
|
||||||
if device_new:
|
if device_new:
|
||||||
@ -1507,7 +1505,7 @@ class MIoTClient:
|
|||||||
device_old['online'] = False
|
device_old['online'] = False
|
||||||
# Update cache group_id
|
# Update cache group_id
|
||||||
info['group_id'] = group_id
|
info['group_id'] = group_id
|
||||||
if gw_state_old == gw_state_new:
|
if not gw_state_new:
|
||||||
continue
|
continue
|
||||||
self.__update_device_msg_sub(did=did)
|
self.__update_device_msg_sub(did=did)
|
||||||
state_old: Optional[bool] = info.get('online', None)
|
state_old: Optional[bool] = info.get('online', None)
|
||||||
|
Reference in New Issue
Block a user