Files
midea-meiju-codec/custom_components/midea_auto_cloud/device_mapping/T0x13.py

131 lines
5.1 KiB
Python
Raw Normal View History

from homeassistant.components.fan import DIRECTION_FORWARD, DIRECTION_REVERSE
from homeassistant.const import Platform, UnitOfTemperature, PRECISION_WHOLE
2025-10-14 20:29:35 +08:00
DEVICE_MAPPING = {
"default": {
"rationale": ["off", "on"],
"queries": [{}],
"centralized": [],
"entities": {
Platform.LIGHT: {
"light": {
"power": "power",
"brightness": {"brightness": [1, 100]},
"color_temp": {"color_temperature": [3000, 5700]}, # 添加色温配置
"preset_modes": {
"night": {"scene_light": "night"},
"read": {"scene_light": "read"},
"mild": {"scene_light": "mild"},
"life": {"scene_light": "life"},
"film": {"scene_light": "film"},
"manual": {"scene_light": "manual"},
}
}
}
}
},
"M0200015": {
"rationale": ["off", "on"],
"queries": [{}],
"centralized": [],
"entities": {
Platform.LIGHT: {
"light": {
"power": "led_power",
"brightness": {"brightness": [1, 100]},
"color_temp": {"color_temperature": [2700, 6500]},
"preset_modes": {
"work": {"led_scene_light": "work"},
"eating": {"led_scene_light": "eating"},
"film": {"led_scene_light": "film"},
"night": {"led_scene_light": "night"},
"ledmanual": {"led_scene_light": "ledmanual"},
}
}
},
Platform.FAN: {
"fan": {
"power": "fan_power",
2025-11-04 16:03:17 +08:00
"speeds": list({"fan_speed": value + 1} for value in range(0, 6)),
2025-10-14 20:29:35 +08:00
"preset_modes": {
"breathing_wind": {"fan_scene": "breathing_wind"},
"const_temperature": {"fan_scene": "const_temperature"},
"fanmanual": {"fan_scene": "fanmanual"},
"baby_wind": {"fan_scene": "baby_wind"},
"sleep_wind": {"fan_scene": "sleep_wind"},
"forest_wind": {"fan_scene": "forest_wind"}
}
}
}
}
},
"79010863": {
"rationale": ["off", "on"],
"queries": [{}],
"centralized": [],
"calculate": {
"get": [
{
"lvalue": "[device_fan_speed]",
"rvalue": "int((int([fan_speed])) / 20) + 1"
},
],
"set": [
{
"lvalue": "[fan_speed]",
"rvalue": "min(int((int([device_fan_speed]) - 1) * 20 + 1), 100)"
},
]
},
"entities": {
Platform.LIGHT: {
"light": {
"power": "led_power",
"brightness": {"brightness": [1, 100]},
"color_temp": {"color_temperature": [2700, 6500]},
"preset_modes": {
"work": {"led_scene_light": "work"},
"eating": {"led_scene_light": "eating"},
"film": {"led_scene_light": "film"},
"night": {"led_scene_light": "night"},
"ledmanual": {"led_scene_light": "ledmanual"},
}
}
},
Platform.FAN: {
"fan": {
"power": "fan_power",
"speeds": list({"device_fan_speed": value + 1} for value in range(0, 6)),
"preset_modes": {
"breathing_wind": {"fan_scene": "breathing_wind"},
"const_temperature": {"fan_scene": "const_temperature"},
"fanmanual": {"fan_scene": "fanmanual"},
"baby_wind": {"fan_scene": "baby_wind"},
"sleep_wind": {"fan_scene": "sleep_wind"},
"forest_wind": {"fan_scene": "forest_wind"}
},
"directions": {
DIRECTION_FORWARD: {"arround_dir": "1"},
DIRECTION_REVERSE: {"arround_dir": "0"},
}
}
},
Platform.CLIMATE: {
"thermostat": {
"power": "fan_power",
"hvac_modes": {
"off": {"fan_scene": "fanmanual"},
"auto": {"fan_scene": "const_temperature"},
},
"target_temperature": "const_temperature_value",
"current_temperature": "indoor_temperature",
"min_temp": 20,
"max_temp": 35,
"temperature_unit": UnitOfTemperature.CELSIUS,
"precision": PRECISION_WHOLE,
}
}
}
2025-10-14 20:29:35 +08:00
}
}