Minor fixes and improvements (#97)

* fix: correct voltage device class to battery for T0xBC

* fix: support of wind_pressure sensor for T0xB6(730007H8)

* also update translation_key

* fix: add PM2.5 threshold settings support for T0xFC(571Z3081)

* fix: Use correct rationale values for T0xD9 child_lock switch

* fix: Correct return type from string to number for T0xD9

---------

Co-authored-by: Yingqi Tang <tyq9702@sina.com>
This commit is contained in:
Yingqi Tang
2026-01-19 11:45:48 +08:00
committed by GitHub
6 changed files with 82 additions and 38 deletions

View File

@@ -1,5 +1,5 @@
from homeassistant.components.sensor import SensorDeviceClass, SensorStateClass
from homeassistant.const import Platform, PERCENTAGE, UnitOfTime, UnitOfElectricPotential
from homeassistant.const import Platform, PERCENTAGE, UnitOfPressure, UnitOfTime, UnitOfElectricPotential
from homeassistant.components.switch import SwitchDeviceClass
DEVICE_MAPPING = {
@@ -137,6 +137,12 @@ DEVICE_MAPPING = {
"device_class": SensorDeviceClass.ENERGY,
"unit_of_measurement": "kWh",
"state_class": SensorStateClass.TOTAL_INCREASING,
"translation_key": "total_elec_value"
},
"wind_pressure": {
"device_class": SensorDeviceClass.PRESSURE,
"unit_of_measurement": UnitOfPressure.PA,
"state_class": SensorStateClass.MEASUREMENT
}
},
Platform.BUTTON: {

View File

@@ -47,9 +47,10 @@ DEVICE_MAPPING = {
"attribute": "pm25"
},
"voltage": {
"device_class": SensorDeviceClass.VOLTAGE,
"unit_of_measurement": UnitOfElectricPotential.VOLT,
"state_class": SensorStateClass.MEASUREMENT
"device_class": SensorDeviceClass.BATTERY,
"unit_of_measurement": "%",
"state_class": SensorStateClass.MEASUREMENT,
"translation_key": "battery_level"
},
}
}

View File

@@ -43,6 +43,7 @@ DEVICE_MAPPING = {
},
"db_baby_lock": {
"device_class": SwitchDeviceClass.SWITCH,
"rationale": [0, 1],
"translation_key": "child_lock",
}
},
@@ -56,70 +57,70 @@ DEVICE_MAPPING = {
"db_program": {
"options": {
"baby_clothes": {"db_program": "baby_clothes"},
"baby_clothes_dry": {"db_program": "151"},
"baby_clothes_dry": {"db_program": 151},
"clean_stains": {"db_program": "clean_stains"},
"cold_wash": {"db_program": "cold_wash"},
"cook_wash": {"db_program": "cook_wash"},
"fast_wash": {"db_program": "137"},
"hot_wind_dry": {"db_program": "153"},
"fast_wash": {"db_program": 137},
"hot_wind_dry": {"db_program": 153},
"rinsing_dehydration": {"db_program": "rinsing_dehydration"},
"self_wash_5": {"db_program": "self_wash_5"},
"single_dehytration": {"db_program": "single_dehytration"},
"single_drying": {"db_program": "single_drying"},
"small_wash_dry": {"db_program": "138"},
"socks": {"db_program": "148"},
"small_wash_dry": {"db_program": 138},
"socks": {"db_program": 148},
"standard": {"db_program": "standard"},
"underpants": {"db_program": "156"},
"underpants": {"db_program": 156},
"underwear": {"db_program": "underwear"},
"water_ssp": {"db_program": "water_ssp"}
}
},
"db_temperature": {
"options": {
"冷水": {"db_temperature": "0"},
"30℃": {"db_temperature": "3"},
"40℃": {"db_temperature": "4"},
"60℃": {"db_temperature": "5"},
"95℃": {"db_temperature": "6"}
"冷水": {"db_temperature": 0},
"30℃": {"db_temperature": 3},
"40℃": {"db_temperature": 4},
"60℃": {"db_temperature": 5},
"95℃": {"db_temperature": 6}
},
"translation_key": "temperature"
},
"db_detergent": {
"options": {
"关闭": {"db_detergent": "0"},
"L1": {"db_detergent": "1"},
"L2": {"db_detergent": "2"},
"L3": {"db_detergent": "3"}
"关闭": {"db_detergent": 0},
"L1": {"db_detergent": 1},
"L2": {"db_detergent": 2},
"L3": {"db_detergent": 3}
},
"translation_key": "detergent"
},
"db_dehydration_speed": {
"options": {
"免脱水": {"db_dehydration_speed": "0"},
"800转": {"db_dehydration_speed": "3"},
"1000转": {"db_dehydration_speed": "4"}
"免脱水": {"db_dehydration_speed": 0},
"800转": {"db_dehydration_speed": 3},
"1000转": {"db_dehydration_speed": 4}
},
"translation_key": "dehydration_speed"
},
"db_rinse_count": {
"options": {
"1次": {"db_rinse_count": "1"},
"2次": {"db_rinse_count": "2"},
"3次": {"db_rinse_count": "3"},
"4次": {"db_rinse_count": "4"},
"5次": {"db_rinse_count": "5"}
"1次": {"db_rinse_count": 1},
"2次": {"db_rinse_count": 2},
"3次": {"db_rinse_count": 3},
"4次": {"db_rinse_count": 4},
"5次": {"db_rinse_count": 5}
},
"translation_key": "soak_count"
},
"db_dry": {
"options": {
"关闭": {"db_dry": "0"},
"智能": {"db_dry": "1"},
"定时240": {"db_dry": "12"},
"定时180": {"db_dry": "11"},
"定时120": {"db_dry": "7"},
"定时60": {"db_dry": "5"},
"定时30": {"db_dry": "4"}
"关闭": {"db_dry": 0},
"智能": {"db_dry": 1},
"定时240": {"db_dry": 12},
"定时180": {"db_dry": 11},
"定时120": {"db_dry": 7},
"定时60": {"db_dry": 5},
"定时30": {"db_dry": 4}
}
}
},

View File

@@ -105,6 +105,18 @@ DEVICE_MAPPING = {
"queries": [{}],
"centralized": [],
"entities": {
Platform.NUMBER: {
"hosting_upper": {
"min": 10,
"max": 75,
"step": 1
},
"hosting_lower": {
"min": 10,
"max": 75,
"step": 1
}
},
Platform.SWITCH: {
"power": {
"device_class": SwitchDeviceClass.SWITCH,

View File

@@ -1111,7 +1111,13 @@
}
},
"sensor": {
"new_wind_humidity": {
"total_working_time": {
"name": "Total Working Time"
},
"wind_pressure": {
"name": "Wind Pressure"
},
"new_wind_humidity": {
"name": "Fresh air humidity"
},
"new_wind_outdoor_temperature": {
@@ -2172,7 +2178,13 @@
}
},
"number": {
"fresh_air_fan_speed": {
"hosting_upper": {
"name": "PM2.5 Upper(Auto Purification)"
},
"hosting_lower": {
"name": "PM2.5 Lower(Stop Purification)"
},
"fresh_air_fan_speed": {
"name": "Fresh air fan speed"
},
"steam_quantity": {

View File

@@ -1347,7 +1347,13 @@
}
},
"sensor": {
"new_wind_humidity": {
"total_working_time": {
"name": "累计工作时间"
},
"wind_pressure": {
"name": "风压"
},
"new_wind_humidity": {
"name": "湿度"
},
"new_wind_outdoor_temperature": {
@@ -2466,7 +2472,13 @@
}
},
"number": {
"fresh_air_fan_speed": {
"hosting_upper": {
"name": "PM2.5上阈值(自动净化)"
},
"hosting_lower": {
"name": "PM2.5下阈值(停止净化)"
},
"fresh_air_fan_speed": {
"name": "风量"
},
"steam_quantity": {