Files
midea-meiju-codec/custom_components/midea_auto_cloud/device_mapping/T0xCE.py
2025-09-25 11:45:46 +08:00

186 lines
7.6 KiB
Python

from homeassistant.const import Platform, 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": [{}],
"centralized": [
"power", "mode_state", "fan_set", "room_temp_value", "humidity_set"
],
"entities": {
Platform.SWITCH: {
"lock_state": {
"device_class": SwitchDeviceClass.SWITCH,
},
"esp_state": {
"device_class": SwitchDeviceClass.SWITCH,
},
"passby_enable": {
"device_class": SwitchDeviceClass.SWITCH,
},
"preheat_enable": {
"device_class": SwitchDeviceClass.SWITCH,
},
"remain_able": {
"device_class": SwitchDeviceClass.SWITCH,
},
"hcho_check_enable": {
"device_class": SwitchDeviceClass.SWITCH,
},
"co2_check_enable": {
"device_class": SwitchDeviceClass.SWITCH,
},
"function_set_link": {
"device_class": SwitchDeviceClass.SWITCH,
},
"function_set_sleep": {
"device_class": SwitchDeviceClass.SWITCH,
},
"function_set_energy_save": {
"device_class": SwitchDeviceClass.SWITCH,
},
"function_set_prheat": {
"device_class": SwitchDeviceClass.SWITCH,
},
"function_set_ultimate": {
"device_class": SwitchDeviceClass.SWITCH,
},
"clean_net_clean_flg": {
"device_class": SwitchDeviceClass.SWITCH,
},
"change_net_change_flg": {
"device_class": SwitchDeviceClass.SWITCH,
},
"condensation_state": {
"device_class": SwitchDeviceClass.SWITCH,
},
"humidity_state": {
"device_class": SwitchDeviceClass.SWITCH,
},
"preheat_state": {
"device_class": SwitchDeviceClass.SWITCH,
},
"esp_enable": {
"device_class": SwitchDeviceClass.SWITCH,
},
"pm25_check_enable": {
"device_class": SwitchDeviceClass.SWITCH,
},
"timer_state": {
"device_class": SwitchDeviceClass.SWITCH,
},
"power": {
"device_class": SwitchDeviceClass.SWITCH,
},
"freeze_state": {
"device_class": SwitchDeviceClass.SWITCH,
},
"humidity_check_enable": {
"device_class": SwitchDeviceClass.SWITCH,
}
},
Platform.SELECT: {
"mode_state": {
"options": {
"passby": {"mode_state": "passby"},
"auto": {"mode_state": "auto"},
"manual": {"mode_state": "manual"},
"sleep": {"mode_state": "sleep"},
"energy_save": {"mode_state": "energy_save"},
"ultimate": {"mode_state": "ultimate"}
}
},
"fan_set": {
"options": {
"off": {"fan_set": "0"},
"low": {"fan_set": "1"},
"medium": {"fan_set": "2"},
"high": {"fan_set": "3"},
"auto": {"fan_set": "4"}
}
}
},
Platform.SENSOR: {
"room_temp_value": {
"device_class": SensorDeviceClass.TEMPERATURE,
"unit_of_measurement": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT
},
"clean_net_used_time": {
"device_class": SensorDeviceClass.DURATION,
"unit_of_measurement": UnitOfTime.HOURS,
"state_class": SensorStateClass.MEASUREMENT
},
"change_net_used_time": {
"device_class": SensorDeviceClass.DURATION,
"unit_of_measurement": UnitOfTime.HOURS,
"state_class": SensorStateClass.MEASUREMENT
},
"tvoc_value": {
"device_class": SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
"unit_of_measurement": "mg/m³",
"state_class": SensorStateClass.MEASUREMENT
},
"change_set_real_time": {
"device_class": SensorDeviceClass.DURATION,
"unit_of_measurement": UnitOfTime.HOURS,
"state_class": SensorStateClass.MEASUREMENT
},
"clean_set_real_time": {
"device_class": SensorDeviceClass.DURATION,
"unit_of_measurement": UnitOfTime.HOURS,
"state_class": SensorStateClass.MEASUREMENT
},
"error_code": {
"device_class": SensorDeviceClass.ENUM
},
"humidity_set": {
"device_class": SensorDeviceClass.HUMIDITY,
"unit_of_measurement": "%",
"state_class": SensorStateClass.MEASUREMENT
},
"room_aqi_value": {
"device_class": SensorDeviceClass.AQI,
"state_class": SensorStateClass.MEASUREMENT
},
"change_net_set_time": {
"device_class": SensorDeviceClass.DURATION,
"unit_of_measurement": UnitOfTime.HOURS,
"state_class": SensorStateClass.MEASUREMENT
},
"clean_net_set_time": {
"device_class": SensorDeviceClass.DURATION,
"unit_of_measurement": UnitOfTime.HOURS,
"state_class": SensorStateClass.MEASUREMENT
},
"humidity_value": {
"device_class": SensorDeviceClass.HUMIDITY,
"unit_of_measurement": "%",
"state_class": SensorStateClass.MEASUREMENT
},
"hcho_value": {
"device_class": SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
"unit_of_measurement": "mg/m³",
"state_class": SensorStateClass.MEASUREMENT
},
"pm25_value": {
"device_class": SensorDeviceClass.PM25,
"unit_of_measurement": "µg/m³",
"state_class": SensorStateClass.MEASUREMENT
},
"co2_value": {
"device_class": SensorDeviceClass.CO2,
"unit_of_measurement": "ppm",
"state_class": SensorStateClass.MEASUREMENT
},
"machine_type": {
"device_class": SensorDeviceClass.ENUM
}
}
}
}
}