feat: Add wind swing angle controls and prevent super cool switch for AC devices

This commit is contained in:
Cyborg2017
2026-02-05 10:50:52 +08:00
parent 0fedc10342
commit 21b29f1a51
3 changed files with 90 additions and 4 deletions

View File

@@ -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,
},

View File

@@ -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"
},

View File

@@ -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": "新风开关"
},