Fix sensor state class and units (#1595)
Some checks are pending
Tests / check-rule-format (push) Waiting to run
Validate / validate-hassfest (push) Waiting to run
Validate / validate-hacs (push) Waiting to run
Validate / validate-lint (push) Waiting to run
Validate / validate-setup (push) Waiting to run

This commit is contained in:
skyboooox
2026-01-28 15:31:27 +08:00
committed by GitHub
parent d4f31e8270
commit f290ff17d8
2 changed files with 31 additions and 0 deletions

View File

@@ -58,11 +58,14 @@ from homeassistant.const import (
CONCENTRATION_PARTS_PER_MILLION,
DEGREE,
LIGHT_LUX,
REVOLUTIONS_PER_MINUTE,
PERCENTAGE,
SIGNAL_STRENGTH_DECIBELS,
UnitOfBloodGlucoseConcentration,
UnitOfEnergy,
UnitOfElectricCurrent,
UnitOfElectricPotential,
UnitOfFrequency,
UnitOfInformation,
UnitOfLength,
UnitOfMass,
@@ -769,6 +772,9 @@ class MIoTDevice:
'L': UnitOfVolume.LITERS,
'liter': UnitOfVolume.LITERS,
'mL': UnitOfVolume.MILLILITERS,
'Hz': UnitOfFrequency.HERTZ,
'calorie': UnitOfEnergy.CALORIE,
'kCal': UnitOfEnergy.KILO_CALORIE,
'km/h': UnitOfSpeed.KILOMETERS_PER_HOUR,
'm/s': UnitOfSpeed.METERS_PER_SECOND,
'watt': UnitOfPower.WATT,
@@ -787,6 +793,9 @@ class MIoTDevice:
'meter': UnitOfLength.METERS,
'km': UnitOfLength.KILOMETERS,
'm3/h': UnitOfVolumeFlowRate.CUBIC_METERS_PER_HOUR,
'毫摩尔每升': UnitOfBloodGlucoseConcentration.MILLIMOLE_PER_LITER,
'mmol/L': UnitOfBloodGlucoseConcentration.MILLIMOLE_PER_LITER,
'rpm': REVOLUTIONS_PER_MINUTE,
'gram': UnitOfMass.GRAMS,
'kilogram': UnitOfMass.KILOGRAMS,
'dB': SIGNAL_STRENGTH_DECIBELS,
@@ -798,6 +807,7 @@ class MIoTDevice:
'TB': UnitOfInformation.TERABYTES,
'B/s': UnitOfDataRate.BYTES_PER_SECOND,
'KB/s': UnitOfDataRate.KILOBYTES_PER_SECOND,
'KByte/s': UnitOfDataRate.KILOBYTES_PER_SECOND,
'MB/s': UnitOfDataRate.MEGABYTES_PER_SECOND,
'GB/s': UnitOfDataRate.GIGABYTES_PER_SECOND
}
@@ -870,6 +880,8 @@ class MIoTDevice:
return 'mdi:network'
if spec_unit in {'calorie', 'kCal'}:
return 'mdi:food'
if spec_unit in {'rpm'}:
return 'mdi:fan-clock'
return None
def __gen_sub_id(self) -> int:

View File

@@ -70,6 +70,25 @@ urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:1:
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:1
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:3: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:1
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:4: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:1
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m28:5:
prop.9.5:
unit: days
prop.10.6:
unit: none
prop.12.3:
unit: rpm
prop.12.11:
unit: Hz
prop.12.13:
unit: A
prop.12.14:
unit: V
prop.12.15:
unit: pascal
prop.12.17:
unit: rpm
prop.12.21:
unit: celsius
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:3: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6