From 21b29f1a51872439032d83a634a5d50350fdaf87 Mon Sep 17 00:00:00 2001 From: Cyborg2017 Date: Thu, 5 Feb 2026 10:50:52 +0800 Subject: [PATCH] feat: Add wind swing angle controls and prevent super cool switch for AC devices --- .../midea_auto_cloud/device_mapping/T0xAC.py | 66 ++++++++++++++++++- .../midea_auto_cloud/translations/en.json | 14 +++- .../translations/zh-Hans.json | 14 +++- 3 files changed, 90 insertions(+), 4 deletions(-) diff --git a/custom_components/midea_auto_cloud/device_mapping/T0xAC.py b/custom_components/midea_auto_cloud/device_mapping/T0xAC.py index e7e67a0..8e6780e 100644 --- a/custom_components/midea_auto_cloud/device_mapping/T0xAC.py +++ b/custom_components/midea_auto_cloud/device_mapping/T0xAC.py @@ -1128,7 +1128,8 @@ DEVICE_MAPPING = { }, ("22012369", "22040023", "22270043"): { "rationale": ["off", "on"], - "queries": [{}, {"query_type": "prevent_straight_wind"}], + "queries": [{}, {"query_type": "prevent_straight_wind"}, {"query_type": "prevent_super_cool"}, + {"query_type": "wind_swing_ud_angle"}, {"query_type": "wind_swing_lr_angle"}], "centralized": ["buzzer"], "calculate":{ "get": [ @@ -1183,10 +1184,33 @@ DEVICE_MAPPING = { "precision": PRECISION_HALVES, } }, + Platform.SELECT: { + "wind_swing_ud_angle": { + "options": { + "关闭": {"wind_swing_ud_angle": 0}, + "最上": {"wind_swing_ud_angle": 1}, + "偏上": {"wind_swing_ud_angle": 25}, + "中间": {"wind_swing_ud_angle": 50}, + "偏下": {"wind_swing_ud_angle": 75}, + "最下": {"wind_swing_ud_angle": 100} + } + }, + "wind_swing_lr_angle": { + "options": { + "关闭": {"wind_swing_lr_angle": 0}, + "最左": {"wind_swing_lr_angle": 1}, + "偏左": {"wind_swing_lr_angle": 25}, + "中间": {"wind_swing_lr_angle": 50}, + "偏右": {"wind_swing_lr_angle": 75}, + "最右": {"wind_swing_lr_angle": 100} + } + } + }, Platform.SWITCH: { "buzzer": { "device_class": SwitchDeviceClass.SWITCH, "default_value": "on", + "translation_key": "voice" }, "screen_display": { "device_class": SwitchDeviceClass.SWITCH, @@ -1196,6 +1220,9 @@ DEVICE_MAPPING = { "device_class": SwitchDeviceClass.SWITCH, "rationale": [1, 2] }, + "prevent_super_cool": { + "device_class": SwitchDeviceClass.SWITCH, + }, "dry": { "device_class": SwitchDeviceClass.SWITCH, }, @@ -1223,7 +1250,8 @@ DEVICE_MAPPING = { }, "22251077": { "rationale": ["off", "on"], - "queries": [{}, {"query_type": "prevent_straight_wind"}], + "queries": [{}, {"query_type": "no_wind_sense"}, {"query_type": "prevent_super_cool"}, + {"query_type": "wind_swing_ud_angle"}, {"query_type": "wind_swing_lr_angle"}], "centralized": ["buzzer"], "calculate":{ "get": [ @@ -1278,15 +1306,49 @@ DEVICE_MAPPING = { "precision": PRECISION_HALVES, } }, + Platform.SELECT: { + "wind_swing_ud_angle": { + "options": { + "关闭": {"wind_swing_ud_angle": 0}, + "最上": {"wind_swing_ud_angle": 1}, + "偏上": {"wind_swing_ud_angle": 25}, + "中间": {"wind_swing_ud_angle": 50}, + "偏下": {"wind_swing_ud_angle": 75}, + "最下": {"wind_swing_ud_angle": 100} + } + }, + "wind_swing_lr_angle": { + "options": { + "关闭": {"wind_swing_lr_angle": 0}, + "最左": {"wind_swing_lr_angle": 1}, + "偏左": {"wind_swing_lr_angle": 25}, + "中间": {"wind_swing_lr_angle": 50}, + "偏右": {"wind_swing_lr_angle": 75}, + "最右": {"wind_swing_lr_angle": 100} + } + }, + "no_wind_sense": { + "options": { + "关闭": {"no_wind_sense": 0}, + "上+下无风感": {"no_wind_sense": 1}, + "上无风感": {"no_wind_sense": 2}, + "下无风感": {"no_wind_sense": 3}, + } + } + }, Platform.SWITCH: { "buzzer": { "device_class": SwitchDeviceClass.SWITCH, "default_value": "on", + "translation_key": "voice" }, "screen_display": { "device_class": SwitchDeviceClass.SWITCH, "translation_key": "screen_close", }, + "prevent_super_cool": { + "device_class": SwitchDeviceClass.SWITCH, + }, "dry": { "device_class": SwitchDeviceClass.SWITCH, }, diff --git a/custom_components/midea_auto_cloud/translations/en.json b/custom_components/midea_auto_cloud/translations/en.json index f282e38..d576d91 100644 --- a/custom_components/midea_auto_cloud/translations/en.json +++ b/custom_components/midea_auto_cloud/translations/en.json @@ -442,6 +442,15 @@ } }, "select": { + "no_wind_sense": { + "name": "No Wind Sense" + }, + "wind_swing_ud_angle": { + "name": "Vertical Wind Direction" + }, + "wind_swing_lr_angle": { + "name": "Horizontal Wind Direction" + }, "custom_temperature": { "name": "Custom Temperature" }, @@ -2358,7 +2367,10 @@ "name": "Fan" } }, - "switch": { + "switch": { + "prevent_super_cool": { + "name": "Prevent Super Cool" + }, "new_wind_machine": { "name": "Fresh air switch" }, diff --git a/custom_components/midea_auto_cloud/translations/zh-Hans.json b/custom_components/midea_auto_cloud/translations/zh-Hans.json index 11c5701..625f2c6 100644 --- a/custom_components/midea_auto_cloud/translations/zh-Hans.json +++ b/custom_components/midea_auto_cloud/translations/zh-Hans.json @@ -462,6 +462,15 @@ } }, "select": { + "no_wind_sense": { + "name": "无风感" + }, + "wind_swing_ud_angle": { + "name": "上下摆动风向" + }, + "wind_swing_lr_angle": { + "name": "左右摆动风向" + }, "custom_temperature": { "name": "自定义烧水温度" }, @@ -2689,7 +2698,10 @@ } } }, - "switch": { + "switch": { + "prevent_super_cool": { + "name": "智控温" + }, "new_wind_machine": { "name": "新风开关" },