mirror of
https://github.com/XiaoMi/ha_xiaomi_home.git
synced 2025-05-30 06:04:37 +08:00
feat: modify MIoT-Spec-V2 property format (#1111)
This commit is contained in:
parent
6a2534934c
commit
1bd338639b
@ -646,7 +646,8 @@ class MIoTClient:
|
|||||||
result = await self._miot_lan.set_prop_async(
|
result = await self._miot_lan.set_prop_async(
|
||||||
did=did, siid=siid, piid=piid, value=value)
|
did=did, siid=siid, piid=piid, value=value)
|
||||||
_LOGGER.debug(
|
_LOGGER.debug(
|
||||||
'lan set prop, %s, %s, %s -> %s', did, siid, piid, result)
|
'lan set prop, %s.%d.%d, %s -> %s',
|
||||||
|
did, siid, piid, value, result)
|
||||||
rc = (result or {}).get(
|
rc = (result or {}).get(
|
||||||
'code', MIoTErrorCode.CODE_MIPS_INVALID_RESULT.value)
|
'code', MIoTErrorCode.CODE_MIPS_INVALID_RESULT.value)
|
||||||
if rc in [0, 1]:
|
if rc in [0, 1]:
|
||||||
|
@ -1195,6 +1195,9 @@ class _SpecModify:
|
|||||||
def get_prop_unit(self, siid: int, piid: int) -> Optional[str]:
|
def get_prop_unit(self, siid: int, piid: int) -> Optional[str]:
|
||||||
return self.__get_prop_item(siid=siid, piid=piid, key='unit')
|
return self.__get_prop_item(siid=siid, piid=piid, key='unit')
|
||||||
|
|
||||||
|
def get_prop_format(self, siid: int, piid: int) -> Optional[str]:
|
||||||
|
return self.__get_prop_item(siid=siid, piid=piid, key='format')
|
||||||
|
|
||||||
def get_prop_expr(self, siid: int, piid: int) -> Optional[str]:
|
def get_prop_expr(self, siid: int, piid: int) -> Optional[str]:
|
||||||
return self.__get_prop_item(siid=siid, piid=piid, key='expr')
|
return self.__get_prop_item(siid=siid, piid=piid, key='expr')
|
||||||
|
|
||||||
@ -1518,6 +1521,10 @@ class MIoTSpecParser:
|
|||||||
siid=service['iid'], piid=property_['iid'])
|
siid=service['iid'], piid=property_['iid'])
|
||||||
if custom_access:
|
if custom_access:
|
||||||
spec_prop.access = custom_access
|
spec_prop.access = custom_access
|
||||||
|
custom_format = self._spec_modify.get_prop_format(
|
||||||
|
siid=service['iid'], piid=property_['iid'])
|
||||||
|
if custom_format:
|
||||||
|
spec_prop.format_ = custom_format
|
||||||
custom_range = self._spec_modify.get_prop_value_range(
|
custom_range = self._spec_modify.get_prop_value_range(
|
||||||
siid=service['iid'], piid=property_['iid'])
|
siid=service['iid'], piid=property_['iid'])
|
||||||
if custom_range:
|
if custom_range:
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
urn:miot-spec-v2:device:air-condition-outlet:0000A045:lumi-mcn04:1:
|
||||||
|
prop.3.4:
|
||||||
|
format: uint8
|
||||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:1: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6
|
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:1: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6
|
||||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6
|
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6
|
||||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:3: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6
|
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:3: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6
|
||||||
|
Loading…
x
Reference in New Issue
Block a user