mirror of
https://github.com/XiaoMi/ha_xiaomi_home.git
synced 2026-01-17 15:41:15 +08:00
Compare commits
16 Commits
f40e959433
...
6535dda18c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6535dda18c | ||
|
|
7654e5e518 | ||
|
|
0f5da18108 | ||
|
|
ea9aa082b7 | ||
|
|
f614181755 | ||
|
|
fb46bc6b19 | ||
|
|
d3c39f38e1 | ||
|
|
d13a6bfb11 | ||
|
|
463216d866 | ||
|
|
30e0433aee | ||
|
|
0872bf4f69 | ||
|
|
3f77738b90 | ||
|
|
f288a951b9 | ||
|
|
569e1512e3 | ||
|
|
794505f082 | ||
|
|
faa13c53e8 |
@ -32,7 +32,7 @@ git checkout v1.0.0
|
||||
|
||||
### Method 2: [HACS](https://hacs.xyz/)
|
||||
|
||||
HACS > Overflow Menu > Custom repositories > Repository: https://github.com/XiaoMi/ha_xiaomi_home.git & Category: Integration > ADD > Xiaomi Home in New or Available for download section of HACS > DOWNLOAD
|
||||
HACS > Overflow Menu > Custom repositories > Repository: https://github.com/XiaoMi/ha_xiaomi_home.git & Category or Type: Integration > ADD > Xiaomi Home in New or Available for download section of HACS > DOWNLOAD
|
||||
|
||||
> Xiaomi Home has not been added to the HACS store as a default yet. It's coming soon.
|
||||
|
||||
|
||||
@ -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={
|
||||
|
||||
@ -628,7 +628,7 @@ class MIoTDevice:
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from homeassistant.const import UnitOfConductivity
|
||||
unit_map['μS/cm'] = UnitOfConductivity.MICROSIEMENS_PER_CM
|
||||
except ImportError:
|
||||
except Exception: # pylint: disable=broad-except
|
||||
unit_map['μS/cm'] = 'μS/cm'
|
||||
|
||||
return unit_map.get(spec_unit, None)
|
||||
@ -1198,8 +1198,8 @@ class MIoTEventEntity(Entity):
|
||||
def __on_event_occurred(self, params: dict, ctx: Any) -> None:
|
||||
_LOGGER.debug('event occurred, %s', params)
|
||||
trans_arg = {}
|
||||
try:
|
||||
for item in params['arguments']:
|
||||
for item in params['arguments']:
|
||||
try:
|
||||
if 'value' not in item:
|
||||
continue
|
||||
if 'piid' in item:
|
||||
@ -1215,10 +1215,10 @@ class MIoTEventEntity(Entity):
|
||||
for index, prop in enumerate(self.spec.argument)
|
||||
}
|
||||
break
|
||||
except KeyError as error:
|
||||
_LOGGER.error(
|
||||
'on event msg, invalid args, %s, %s, %s',
|
||||
self.entity_id, params, error)
|
||||
except KeyError as error:
|
||||
_LOGGER.debug(
|
||||
'on event msg, invalid args, %s, %s, %s',
|
||||
self.entity_id, params, error)
|
||||
self.on_event_occurred(
|
||||
name=self.spec.description_trans, arguments=trans_arg)
|
||||
self.async_write_ha_state()
|
||||
|
||||
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
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ git checkout v1.0.0
|
||||
|
||||
### 方法 2: [HACS](https://hacs.xyz/)
|
||||
|
||||
HACS > 右上角三个点 > Custom repositories > Repository: https://github.com/XiaoMi/ha_xiaomi_home.git & Category: Integration > ADD > 点击 HACS 的 New 或 Available for download 分类下的 Xiaomi Home ,进入集成详情页 > DOWNLOAD
|
||||
HACS > 右上角三个点 > Custom repositories > Repository: https://github.com/XiaoMi/ha_xiaomi_home.git & Category or Type: Integration > ADD > 点击 HACS 的 New 或 Available for download 分类下的 Xiaomi Home ,进入集成详情页 > DOWNLOAD
|
||||
|
||||
> 米家集成暂未添加到 HACS 商店,敬请期待。
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user