mirror of
https://github.com/XiaoMi/ha_xiaomi_home.git
synced 2026-01-13 21:00:43 +08:00
Merge f614181755 into 7654e5e518
This commit is contained in:
commit
6535dda18c
@ -83,6 +83,9 @@ def randomize_int(value: int, ratio: float) -> int:
|
||||
"""Randomize an integer value."""
|
||||
return int(value * (1 - ratio + random.random()*2*ratio))
|
||||
|
||||
def randomize_float(value: float, ratio: float) -> float:
|
||||
"""Randomize a float value."""
|
||||
return value * (1 - ratio + random.random()*2*ratio)
|
||||
|
||||
class MIoTMatcher(MQTTMatcher):
|
||||
"""MIoT Pub/Sub topic matcher."""
|
||||
|
||||
@ -1069,7 +1069,7 @@ class MIoTClient:
|
||||
handler=self.__on_lan_device_state_changed)
|
||||
for did, info in (
|
||||
await self._miot_lan.get_dev_list_async()).items():
|
||||
self.__on_lan_device_state_changed(
|
||||
await self.__on_lan_device_state_changed(
|
||||
did=did, state=info, ctx=None)
|
||||
_LOGGER.info('lan device list, %s', self._device_list_lan)
|
||||
self._miot_lan.update_devices(devices={
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -50,7 +50,7 @@ import base64
|
||||
import binascii
|
||||
import copy
|
||||
from enum import Enum
|
||||
from typing import Callable, Optional
|
||||
from typing import Callable, Optional, Coroutine
|
||||
import logging
|
||||
|
||||
from zeroconf import (
|
||||
@ -151,7 +151,7 @@ class MipsService:
|
||||
_services: dict[str, dict]
|
||||
# key = (key, group_id)
|
||||
_sub_list: dict[(str, str), Callable[[
|
||||
str, MipsServiceState, dict], asyncio.Future]]
|
||||
str, MipsServiceState, dict], Coroutine]]
|
||||
|
||||
def __init__(
|
||||
self, aiozc: AsyncZeroconf,
|
||||
@ -207,7 +207,7 @@ class MipsService:
|
||||
|
||||
def sub_service_change(
|
||||
self, key: str, group_id: str,
|
||||
handler: Callable[[str, MipsServiceState, dict], asyncio.Future]
|
||||
handler: Callable[[str, MipsServiceState, dict], Coroutine]
|
||||
) -> None:
|
||||
if key is None or group_id is None or handler is None:
|
||||
raise MipsServiceError('invalid params')
|
||||
|
||||
@ -52,7 +52,7 @@ import socket
|
||||
from dataclasses import dataclass
|
||||
from enum import Enum, auto
|
||||
import subprocess
|
||||
from typing import Callable, Optional
|
||||
from typing import Callable, Optional, Coroutine
|
||||
import psutil
|
||||
import ipaddress
|
||||
|
||||
@ -97,7 +97,7 @@ class MIoTNetwork:
|
||||
|
||||
_sub_list_network_status: dict[str, Callable[[bool], asyncio.Future]]
|
||||
_sub_list_network_info: dict[str, Callable[[
|
||||
InterfaceStatus, NetworkInfo], asyncio.Future]]
|
||||
InterfaceStatus, NetworkInfo], Coroutine]]
|
||||
|
||||
_ping_address_priority: int
|
||||
|
||||
@ -155,7 +155,7 @@ class MIoTNetwork:
|
||||
|
||||
def sub_network_info(
|
||||
self, key: str,
|
||||
handler: Callable[[InterfaceStatus, NetworkInfo], asyncio.Future]
|
||||
handler: Callable[[InterfaceStatus, NetworkInfo], Coroutine]
|
||||
) -> None:
|
||||
self._sub_list_network_info[key] = handler
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user