mirror of
https://github.com/sususweet/midea-meiju-codec.git
synced 2026-02-11 06:13:49 +00:00
Merge branch 'master' of github.com:sususweet/midea-meiju-codec
This commit is contained in:
@@ -172,7 +172,7 @@ async def async_setup(hass: HomeAssistant, config: ConfigType):
|
||||
from .const import BIT_LUA
|
||||
bit_lua = base64.b64decode(BIT_LUA.encode("utf-8")).decode("utf-8")
|
||||
try:
|
||||
with open(bit, "wt") as fp:
|
||||
with open(bit, "wt", encoding="utf-8") as fp:
|
||||
fp.write(bit_lua)
|
||||
except PermissionError as e:
|
||||
MideaLogger.error(f"Failed to create bit.lua at {bit}: {e}")
|
||||
@@ -180,7 +180,7 @@ async def async_setup(hass: HomeAssistant, config: ConfigType):
|
||||
import tempfile
|
||||
temp_dir = tempfile.gettempdir()
|
||||
bit = os.path.join(temp_dir, "bit.lua")
|
||||
with open(bit, "wt") as fp:
|
||||
with open(bit, "wt", encoding="utf-8") as fp:
|
||||
fp.write(bit_lua)
|
||||
MideaLogger.warning(f"Using temporary file for bit.lua: {bit}")
|
||||
|
||||
|
||||
@@ -492,7 +492,7 @@ class MeijuCloud(MideaCloud):
|
||||
self._security.aes_decrypt_with_fixed_key(lua))
|
||||
stream = stream.replace("\r\n", "\n")
|
||||
fnm = f"{path}/{response['fileName']}"
|
||||
async with aiofiles.open(fnm, "w") as fp:
|
||||
async with aiofiles.open(fnm, "w", encoding="utf-8") as fp:
|
||||
await fp.write(stream)
|
||||
return fnm
|
||||
|
||||
@@ -744,7 +744,7 @@ class MSmartHomeCloud(MideaCloud):
|
||||
self._security.aes_decrypt_with_fixed_key(lua))
|
||||
stream = stream.replace("\r\n", "\n")
|
||||
fnm = f"{path}/{response['fileName']}"
|
||||
async with aiofiles.open(fnm, "w") as fp:
|
||||
async with aiofiles.open(fnm, "w", encoding="utf-8") as fp:
|
||||
await fp.write(stream)
|
||||
return fnm
|
||||
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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": "新风开关"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user