From e9f8f958269fb5e59db1519c7dc593450ce3650b Mon Sep 17 00:00:00 2001 From: sususweet Date: Fri, 31 Oct 2025 22:47:43 +0800 Subject: [PATCH] feat: add support for device T0x15. --- README.md | 1 + README_hans.md | 1 + .../midea_auto_cloud/device_mapping/T0x15.py | 60 +++++++++++++++++++ .../midea_auto_cloud/device_mapping/T0xEA.py | 30 +++++----- 4 files changed, 77 insertions(+), 15 deletions(-) create mode 100644 custom_components/midea_auto_cloud/device_mapping/T0x15.py diff --git a/README.md b/README.md index b708685..6124d59 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ Get devices from MSmartHome/Midea Meiju homes through the network and control th ## Currently Supported Device Types - T0x13 Electric Light +- T0x15 Water Heater - T0x21 Central Air Conditioning Gateway - T0x26 Bath Heater - T0x3D Water Heater diff --git a/README_hans.md b/README_hans.md index 8b397c2..e21cc67 100644 --- a/README_hans.md +++ b/README_hans.md @@ -19,6 +19,7 @@ ## 目前支持的设备类型 - T0x13 电灯 +- T0x15 养生壶 - T0x21 中央空调网关 - T0x26 浴霸 - T0x3D 电热水瓶 diff --git a/custom_components/midea_auto_cloud/device_mapping/T0x15.py b/custom_components/midea_auto_cloud/device_mapping/T0x15.py new file mode 100644 index 0000000..887ddd3 --- /dev/null +++ b/custom_components/midea_auto_cloud/device_mapping/T0x15.py @@ -0,0 +1,60 @@ +from homeassistant.const import Platform, UnitOfTemperature, UnitOfVolume, UnitOfTime, PERCENTAGE, PRECISION_HALVES, \ + UnitOfEnergy, UnitOfPower, PRECISION_WHOLE +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": ["warm_target_temp", "boil_target_temp", "meate_select", "max_work_time", "warm_time_min"], + "entities": { + Platform.BINARY_SENSOR: { + "islack_water": { + "device_class": BinarySensorDeviceClass.PROBLEM, + } + }, + # Platform.NUMBER: { + # "warm_time_min": { + # "min": 0, + # "max": 480, + # "step": 60 + # }, + # "max_work_time": { + # "min": 0, + # "max": 12, + # "step": 1 + # }, + # "warm_target_temp": { + # "min": 0, + # "max": 100, + # "step": 1 + # }, + # "boil_target_temp": { + # "min": 0, + # "max": 100, + # "step": 1 + # }, + # }, + Platform.SELECT: { + "work_mode": { + "options": { + "取消": {"work_mode": "0", "work_switch": "cancel"}, + "烧水": {"work_mode": "1", "work_switch": "start"}, + "除氯": {"work_mode": "2", "work_switch": "start"}, + "花草茶": {"work_mode": "4", "work_switch": "start"}, + "养生汤": {"work_mode": "5", "work_switch": "start"}, + } + } + }, + Platform.SENSOR: { + "current_temp": { + "device_class": SensorDeviceClass.TEMPERATURE, + "unit_of_measurement": UnitOfTemperature.CELSIUS, + "state_class": SensorStateClass.MEASUREMENT + } + } + } + } +} diff --git a/custom_components/midea_auto_cloud/device_mapping/T0xEA.py b/custom_components/midea_auto_cloud/device_mapping/T0xEA.py index 77fd0bc..f39ecbb 100644 --- a/custom_components/midea_auto_cloud/device_mapping/T0xEA.py +++ b/custom_components/midea_auto_cloud/device_mapping/T0xEA.py @@ -66,30 +66,30 @@ DEVICE_MAPPING = { Platform.SELECT: { "mode": { "options": { - "Rice": {"mode": "essence_rice", "work_status": "cooking"}, - "Porridge": {"mode": "gruel", "work_status": "cooking"}, + "精华饭": {"mode": "essence_rice", "work_status": "cooking"}, + "稀饭": {"mode": "gruel", "work_status": "cooking"}, "热饭": {"mode": "heat_rice", "work_status": "cooking"}, - "Congee": {"mode": "boil_congee", "work_status": "cooking"}, - "Soup": {"mode": "cook_soup", "work_status": "cooking"}, - "Steam": {"mode": "stewing", "work_status": "cooking"}, + "煮粥": {"mode": "boil_congee", "work_status": "cooking"}, + "煲汤": {"mode": "cook_soup", "work_status": "cooking"}, + "蒸煮": {"mode": "stewing", "work_status": "cooking"}, } }, "rice_type": { "options": { - "None": {"rice_type": "none"}, - "Northeast rice": {"rice_type": "northeast"}, - "Long-grain rice": {"rice_type": "longrain"}, - "Fragrant rice": {"rice_type": "fragrant"}, - "Wuchang rice": {"rice_type": "five"}, + "无": {"rice_type": "none"}, + "东北大米": {"rice_type": "northeast"}, + "长粒米": {"rice_type": "longrain"}, + "香米": {"rice_type": "fragrant"}, + "五常大米": {"rice_type": "five"}, } }, "work_status": { "options": { - "Stop": {"work_status": "cancel"}, - "Cooking": {"work_status": "cooking"}, - "Warming": {"work_status": "keep_warm"}, - "Soaking": {"work_status": "awakening_rice"}, - "Delay": {"work_status": "schedule"} + "停止": {"work_status": "cancel"}, + "烹饪": {"work_status": "cooking"}, + "保温": {"work_status": "keep_warm"}, + "醒米": {"work_status": "awakening_rice"}, + "预约": {"work_status": "schedule"} } } }