mirror of
https://github.com/sususweet/midea-meiju-codec.git
synced 2026-02-19 18:28:10 +00:00
149 lines
6.2 KiB
Python
149 lines
6.2 KiB
Python
from homeassistant.const import Platform, UnitOfElectricPotential, UnitOfTemperature, UnitOfTime
|
|
from homeassistant.components.sensor import SensorStateClass, SensorDeviceClass
|
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass
|
|
from homeassistant.components.switch import SwitchDeviceClass
|
|
|
|
DEVICE_MAPPING = {
|
|
"default": {
|
|
"rationale": ["off", "on"],
|
|
"queries": [{"query_type": "db"}],
|
|
"calculate": {
|
|
"get": [
|
|
{
|
|
"lvalue": "[remaining_time]",
|
|
"rvalue": "[db_remain_time]"
|
|
}
|
|
],
|
|
"set": {
|
|
}
|
|
},
|
|
"entities": {
|
|
Platform.BINARY_SENSOR: {
|
|
"db_power": {
|
|
"device_class": BinarySensorDeviceClass.RUNNING,
|
|
},
|
|
"door_opened": {
|
|
"device_class": BinarySensorDeviceClass.OPENING,
|
|
},
|
|
"bucket_water_overheating": {
|
|
"device_class": BinarySensorDeviceClass.PROBLEM,
|
|
},
|
|
"drying_tunnel_overheating": {
|
|
"device_class": BinarySensorDeviceClass.PROBLEM,
|
|
}
|
|
},
|
|
Platform.SWITCH: {
|
|
"db_power": {
|
|
"device_class": SwitchDeviceClass.SWITCH,
|
|
},
|
|
"db_control_status": {
|
|
"device_class": SwitchDeviceClass.SWITCH,
|
|
"rationale": ["pause", "start"],
|
|
"translation_key": "control_status",
|
|
},
|
|
"db_baby_lock": {
|
|
"device_class": SwitchDeviceClass.SWITCH,
|
|
"rationale": [0, 1],
|
|
"translation_key": "child_lock",
|
|
}
|
|
},
|
|
Platform.SELECT: {
|
|
"db_location_selection": {
|
|
"options": {
|
|
"left": {"db_location_selection": "left"},
|
|
"right": {"db_location_selection": "right"}
|
|
}
|
|
},
|
|
"db_program": {
|
|
"options": {
|
|
"baby_clothes": {"db_program": "baby_clothes"},
|
|
"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"},
|
|
"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"},
|
|
"standard": {"db_program": "standard"},
|
|
"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"}
|
|
},
|
|
"translation_key": "temperature"
|
|
},
|
|
"db_detergent": {
|
|
"options": {
|
|
"关闭": {"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"}
|
|
},
|
|
"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"}
|
|
},
|
|
"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"}
|
|
}
|
|
}
|
|
},
|
|
Platform.SENSOR: {
|
|
"db_remain_time": {
|
|
"device_class": SensorDeviceClass.DURATION,
|
|
"unit_of_measurement": UnitOfTime.MINUTES,
|
|
"state_class": SensorStateClass.MEASUREMENT
|
|
},
|
|
"db_progress": {
|
|
"device_class": SensorDeviceClass.BATTERY,
|
|
"unit_of_measurement": "%",
|
|
"state_class": SensorStateClass.MEASUREMENT
|
|
},
|
|
"db_running_status": {
|
|
"device_class": SensorDeviceClass.ENUM,
|
|
"translation_key": "running_status"
|
|
},
|
|
"db_error_code": {
|
|
"device_class": SensorDeviceClass.ENUM
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|