Files
midea-meiju-codec/custom_components/midea_auto_cloud/device_mapping/T0xE1.py
2025-10-04 23:34:27 +08:00

131 lines
6.1 KiB
Python

from homeassistant.components.binary_sensor import BinarySensorDeviceClass
from homeassistant.const import Platform, UnitOfTemperature, PRECISION_HALVES, UnitOfTime
from homeassistant.components.sensor import SensorStateClass, SensorDeviceClass
from homeassistant.components.switch import SwitchDeviceClass
DEVICE_MAPPING = {
"default": {
"rationale": [0, 1],
"queries": [{}],
"centralized": [],
"entities": {
Platform.SWITCH: {
"airswitch": {
"device_class": SwitchDeviceClass.SWITCH,
},
"waterswitch": {
"device_class": SwitchDeviceClass.SWITCH,
},
"uvswitch": {
"device_class": SwitchDeviceClass.SWITCH,
},
"doorswitch": {
"device_class": SwitchDeviceClass.SWITCH,
},
"dryswitch": {
"device_class": SwitchDeviceClass.SWITCH,
},
"dry_step_switch": {
"device_class": SwitchDeviceClass.SWITCH,
}
},
Platform.BINARY_SENSOR: {
"air_status": {
"device_class": BinarySensorDeviceClass.RUNNING,
},
"water_lack": {
"device_class": BinarySensorDeviceClass.PROBLEM,
},
"softwater_lack": {
"device_class": BinarySensorDeviceClass.PROBLEM,
},
"wash_stage":{
"device_class": BinarySensorDeviceClass.RUNNING,
},
"bright_lack": {
"device_class": BinarySensorDeviceClass.PROBLEM,
},
"diy_flag": {
"device_class": BinarySensorDeviceClass.RUNNING,
},
"diy_main_wash": {
"device_class": BinarySensorDeviceClass.RUNNING,
},
"diy_piao_wash": {
"device_class": BinarySensorDeviceClass.RUNNING,
},
"diy_times": {
"device_class": BinarySensorDeviceClass.RUNNING,
},
},
Platform.SELECT: {
"work_status": {
"options": {
"power_off": {"work_status": "power_off" },
"power_on": {"work_status": "power_on" },
"cancel": {"work_status": "cancel" },
"pause": {"operator":"pause"},
"resume": {"operator":"start"},
}
},
"wash_mode": {
"options": {
"neutral_gear": {"work_status": "work", "mode": "neutral_gear"},
"auto_wash": {"work_status": "work", "mode": "auto_wash"},
"strong_wash": {"work_status": "work", "mode": "strong_wash"},
"standard_wash": {"work_status": "work", "mode": "standard_wash"},
"eco_wash": {"work_status":"work","mode":"eco_wash","additional":0,"wash_region":3},
"glass_wash": {"work_status": "work", "mode": "glass_wash"},
"hour_wash": {"work_status": "work", "mode": "hour_wash"},
"fast_wash": {"work_status": "work", "mode": "fast_wash"},
"soak_wash": {"work_status": "work", "mode": "soak_wash"},
"90min_wash": {"work_status": "work", "mode": "90min_wash"},
"self_clean": {"work_status": "work", "mode": "self_clean"},
"fruit_wash": {"work_status": "work", "mode": "fruit_wash"},
"self_define": {"work_status": "work", "mode": "self_define"},
"germ": {"work_status": "work", "mode": "germ"},
"bowl_wash": {"work_status": "work", "mode": "bowl_wash"},
"kill_germ": {"work_status": "work", "mode": "kill_germ"},
"seafood_wash": {"work_status": "work", "mode": "seafood_wash"},
"hotpot_wash": {"work_status": "work", "mode": "hotpot_wash"},
"quietnight_wash": {"work_status": "work", "mode": "quietnight_wash"},
"less_wash": {"work_status": "work", "mode": "less_wash"},
"oilnet_wash": {"work_status": "work", "mode": "oilnet_wash"}
}
}
},
Platform.SENSOR: {
"bright": {
"device_class": SensorDeviceClass.ILLUMINANCE,
"unit_of_measurement": "lx",
"state_class": SensorStateClass.MEASUREMENT
},
"temperature": {
"device_class": SensorDeviceClass.TEMPERATURE,
"unit_of_measurement": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT
},
"softwater": {
"device_class": SensorDeviceClass.TEMPERATURE,
"unit_of_measurement": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT
},
"left_time": {
"device_class": SensorDeviceClass.DURATION,
"unit_of_measurement": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT
},
"air_set_hour": {
"device_class": SensorDeviceClass.DURATION,
"unit_of_measurement": UnitOfTime.HOURS,
"state_class": SensorStateClass.MEASUREMENT
},
"air_left_hour": {
"device_class": SensorDeviceClass.DURATION,
"unit_of_measurement": UnitOfTime.HOURS,
"state_class": SensorStateClass.MEASUREMENT
},
}
}
}
}