diff --git a/custom_components/midea_auto_cloud/device_mapping/T0xD9.py b/custom_components/midea_auto_cloud/device_mapping/T0xD9.py index 1996109..daa87b4 100644 --- a/custom_components/midea_auto_cloud/device_mapping/T0xD9.py +++ b/custom_components/midea_auto_cloud/device_mapping/T0xD9.py @@ -22,6 +22,15 @@ DEVICE_MAPPING = { "db_power": { "device_class": BinarySensorDeviceClass.RUNNING, }, + "door_opened": { + "device_class": BinarySensorDeviceClass.OPENING, + }, + "bucket_water_overheating": { + "device_class": BinarySensorDeviceClass.PROBLEM, + }, + "drying_tunnel_overheating": { + "device_class": BinarySensorDeviceClass.PROBLEM, + } }, Platform.SWITCH: { "db_power": { @@ -31,6 +40,10 @@ DEVICE_MAPPING = { "device_class": SwitchDeviceClass.SWITCH, "rationale": ["pause", "start"], "translation_key": "control_status", + }, + "db_baby_lock": { + "device_class": SwitchDeviceClass.SWITCH, + "translation_key": "child_lock", } }, Platform.SELECT: { @@ -60,6 +73,54 @@ DEVICE_MAPPING = { "underwear": {"db_program": "underwear"}, "water_ssp": {"db_program": "water_ssp"} } + }, + "db_temperature": { + "options": { + "冷水": {"db_temperature": "0"}, + "30℃": {"db_temperature": "3"}, + "40℃": {"db_temperature": "4"}, + "60℃": {"db_temperature": "5"}, + "95℃": {"db_temperature": "6"} + }, + "translation_key": "temperature" + }, + "db_detergent": { + "options": { + "关闭": {"db_detergent": "0"}, + "L1": {"db_detergent": "1"}, + "L2": {"db_detergent": "2"}, + "L3": {"db_detergent": "3"} + }, + "translation_key": "detergent" + }, + "db_dehydration_speed": { + "options": { + "免脱水": {"db_dehydration_speed": "0"}, + "800转": {"db_dehydration_speed": "3"}, + "1000转": {"db_dehydration_speed": "4"} + }, + "translation_key": "dehydration_speed" + }, + "db_rinse_count": { + "options": { + "1次": {"db_rinse_count": "1"}, + "2次": {"db_rinse_count": "2"}, + "3次": {"db_rinse_count": "3"}, + "4次": {"db_rinse_count": "4"}, + "5次": {"db_rinse_count": "5"} + }, + "translation_key": "soak_count" + }, + "db_dry": { + "options": { + "关闭": {"db_dry": "0"}, + "智能": {"db_dry": "1"}, + "定时240": {"db_dry": "12"}, + "定时180": {"db_dry": "11"}, + "定时120": {"db_dry": "7"}, + "定时60": {"db_dry": "5"}, + "定时30": {"db_dry": "4"} + } } }, Platform.SENSOR: { @@ -73,42 +134,12 @@ DEVICE_MAPPING = { "unit_of_measurement": "%", "state_class": SensorStateClass.MEASUREMENT }, + "db_running_status": { + "device_class": SensorDeviceClass.ENUM, + "translation_key": "running_status" + }, "db_error_code": { "device_class": SensorDeviceClass.ENUM - }, - "db_set_dewater_time": { - "device_class": SensorDeviceClass.DURATION, - "unit_of_measurement": UnitOfTime.MINUTES, - "state_class": SensorStateClass.MEASUREMENT - }, - "db_set_wash_time": { - "device_class": SensorDeviceClass.DURATION, - "unit_of_measurement": UnitOfTime.MINUTES, - "state_class": SensorStateClass.MEASUREMENT - }, - "db_rinse_count": { - "device_class": SensorDeviceClass.ENUM - }, - "db_wash_time": { - "device_class": SensorDeviceClass.DURATION, - "unit_of_measurement": UnitOfTime.MINUTES, - "state_class": SensorStateClass.MEASUREMENT - }, - "db_appointment_time": { - "device_class": SensorDeviceClass.DURATION, - "unit_of_measurement": UnitOfTime.MINUTES, - "state_class": SensorStateClass.MEASUREMENT - }, - "db_appointment": { - "device_class": SensorDeviceClass.ENUM - }, - "db_dehydration_time": { - "device_class": SensorDeviceClass.DURATION, - "unit_of_measurement": UnitOfTime.MINUTES, - "state_class": SensorStateClass.MEASUREMENT - }, - "db_cycle_memory": { - "device_class": SensorDeviceClass.ENUM } } } diff --git a/custom_components/midea_auto_cloud/device_mapping/T0xDB.py b/custom_components/midea_auto_cloud/device_mapping/T0xDB.py index 3dfe7b8..b868f81 100644 --- a/custom_components/midea_auto_cloud/device_mapping/T0xDB.py +++ b/custom_components/midea_auto_cloud/device_mapping/T0xDB.py @@ -294,5 +294,179 @@ DEVICE_MAPPING = { } } } + }, + "38133671": { + "rationale": ["off", "on"], + "queries": [{}], + "calculate": { + "get": [ + { + "lvalue": "[remaining_time]", + "rvalue": "[remain_time]" + } + ], + "set": {} + }, + "entities": { + Platform.BINARY_SENSOR: { + "door_opened": { + "device_class": BinarySensorDeviceClass.OPENING, + }, + "detergent_lack": { + "device_class": BinarySensorDeviceClass.PROBLEM, + }, + "softener_lack": { + "device_class": BinarySensorDeviceClass.PROBLEM, + }, + "bucket_water_overheating": { + "device_class": BinarySensorDeviceClass.PROBLEM, + } + }, + Platform.SWITCH: { + "power": { + "device_class": SwitchDeviceClass.SWITCH, + }, + "control_status": { + "device_class": SwitchDeviceClass.SWITCH, + "rationale": ["pause", "start"], + }, + "lock": { + "device_class": SwitchDeviceClass.SWITCH, + "translation_key": "child_lock", + }, + "nightly": { + "device_class": SwitchDeviceClass.SWITCH, + } + }, + Platform.SELECT: { + "mode": { + "options": { + "normal": {"mode": "normal"}, + "factory_test": {"mode": "factory_test"}, + "service": {"mode": "service"}, + "normal_continus": {"mode": "normal_continus"} + } + }, + "program": { + "options": { + "baby_clothes": {"program": "water_cotton"}, + "big": {"program": "big"}, + "clean_stains": {"program": "clean_stains"}, + "cold_wash": {"program": "water_cold_wash"}, + "cotton": {"program": "new_water_cotton"}, + "deep_ssp": {"program": 163}, + "down_jacket": {"program": "down_jacket"}, + "enzyme": {"program": "enzyme"}, + "fast_wash": {"program": "fast_wash"}, + "fast_wash_30": {"program": "fast_wash_30"}, + "fiber": {"program": "water_fiber"}, + "intelligent": {"program": "water_intelligent"}, + "jacket": {"program": "jacket"}, + "jean": {"program": "jean"}, + "mixed_wash": {"program": "water_mixed_wash"}, + "new_clothes_wash": {"program": "new_clothes_wash"}, + "outdoor": {"program": "water_outdoor"}, + "remove_mite_wash": {"program": "water_remove_mite_wash"}, + "rinsing_dehydration": {"program": "rinsing_dehydration"}, + "shirt": {"program": "fast_wash_60"}, + "silk": {"program": "silk"}, + "single_dehytration": {"program": "single_dehytration"}, + "sport_clothes": {"program": "sport_clothes"}, + "spring_autumn_wash": {"program": "spring_autumn_wash"}, + "ssp": {"program": "water_ssp"}, + "steam_sterilize_wash": {"program": "steam_sterilize_wash"}, + "steep": {"program": "water_steep"}, + "summer_wash": {"program": "summer_wash"}, + "underwear": {"program": "water_underwear"}, + "winter_wash": {"program": "winter_wash"}, + "wool": {"program": "green_wool"} + } + }, + "dehydration_speed": { + "options": { + "免脱水": {"dehydration_speed": "0"}, + "400转": {"dehydration_speed": "400"}, + "600转": {"dehydration_speed": "600"}, + "800转": {"dehydration_speed": "800"}, + "1000转": {"dehydration_speed": "1000"}, + "1200转": {"dehydration_speed": "1200"}, + "1400转": {"dehydration_speed": "1400"} + } + }, + "soak_count": { + "options": { + "1次": {"soak_count": "1"}, + "2次": {"soak_count": "2"}, + "3次": {"soak_count": "3"}, + "4次": {"soak_count": "4"} + } + }, + "water_level": { + "options": { + "自动": {"water_level": "auto"}, + "L1": {"water_level": "low"}, + "L2": {"water_level": "mid"}, + "L3": {"water_level": "high"}, + "L4": {"water_level": "4"} + } + }, + "detergent": { + "options": { + "智能": {"detergent": "4"}, + "关闭": {"detergent": "0"}, + "L1": {"detergent": "1"}, + "L2": {"detergent": "2"}, + "L3": {"detergent": "3"}, + "L4": {"detergent": "5"} + } + }, + "temperature": { + "options": { + "冷水": {"temperature": "0"}, + "20℃": {"temperature": "20"}, + "30℃": {"temperature": "30"}, + "40℃": {"temperature": "40"}, + "60℃": {"temperature": "60"}, + "95℃": {"temperature": "95"} + } + }, + "stains": { + "options": { + "关闭": {"stains": "0"}, + "酱渍": {"stains": "83"}, + "果渍": {"stains": "85"}, + "妆渍": {"stains": "84"} + } + } + }, + Platform.SENSOR: { + "running_status": { + "device_class": SensorDeviceClass.ENUM + }, + "remain_time": { + "device_class": SensorDeviceClass.DURATION, + "unit_of_measurement": UnitOfTime.MINUTES, + "state_class": SensorStateClass.MEASUREMENT + }, + "progress": { + "device_class": SensorDeviceClass.BATTERY, + "unit_of_measurement": "%", + "state_class": SensorStateClass.MEASUREMENT + }, + "error_code": { + "device_class": SensorDeviceClass.ENUM + }, + "wash_time_value": { + "device_class": SensorDeviceClass.DURATION, + "unit_of_measurement": UnitOfTime.MINUTES, + "state_class": SensorStateClass.MEASUREMENT + }, + "dehydration_time_value": { + "device_class": SensorDeviceClass.DURATION, + "unit_of_measurement": UnitOfTime.MINUTES, + "state_class": SensorStateClass.MEASUREMENT + } + } + } } } diff --git a/custom_components/midea_auto_cloud/translations/en.json b/custom_components/midea_auto_cloud/translations/en.json index 1342dca..fec8a4c 100644 --- a/custom_components/midea_auto_cloud/translations/en.json +++ b/custom_components/midea_auto_cloud/translations/en.json @@ -164,6 +164,9 @@ "bucket_water_overheating": { "name": "Bucket Water Overheating" }, + "drying_tunnel_overheating": { + "name": "Drying Tunnel Overheating" + }, "air_status": { "name": "Air Running" }, @@ -423,6 +426,18 @@ } }, "select": { + "dehydration_speed": { + "name": "Dehydration Speed" + }, + "soak_count": { + "name": "Rinse Count" + }, + "detergent": { + "name": "Detergent" + }, + "temperature": { + "name": "Temperature" + }, "water_status": { "name": "Water Status", "state": { @@ -546,6 +561,9 @@ "db_temperature": { "name": "DB Temperature" }, + "db_dry": { + "name": "DB Dry" + }, "water_level": { "name": "Water Level", "state": { @@ -668,6 +686,7 @@ "mixed_wash": "mixed wash", "wool": "wool", "ssp": "self-cleaning mode", + "deep_ssp": "deep self-cleaning", "sport_clothes": "sport clothes", "single_dehytration": "single dehytration", "rinsing_dehydration": "rinsing and dehydration", @@ -1077,7 +1096,17 @@ "name": "Fresh Air Temp" }, "running_status": { - "name": "Running Status" + "name": "Running Status", + "state": { + "end": "End", + "standby": "Standby", + "start": "Start", + "pause": "Pause", + "idle": "Idle", + "fault": "Fault", + "delay": "Delay", + "delay_pause": "Delay Pause" + } }, "tank_status": { "name": "Tank Status" diff --git a/custom_components/midea_auto_cloud/translations/zh-Hans.json b/custom_components/midea_auto_cloud/translations/zh-Hans.json index a4c7869..5368e31 100644 --- a/custom_components/midea_auto_cloud/translations/zh-Hans.json +++ b/custom_components/midea_auto_cloud/translations/zh-Hans.json @@ -153,16 +153,39 @@ "name": "门锁开关" }, "softener_lack": { - "name": "柔顺剂不足" + "name": "柔顺剂存量", + "state": { + "off": "正常", + "on": "不足" + } }, "detergent_lack": { - "name": "洗涤剂不足" + "name": "洗衣液存量", + "state": { + "off": "正常", + "on": "不足" + } }, "door_opened": { - "name": "门已打开" + "name": "洗衣机门状态", + "state": { + "off": "关闭", + "on": "打开" + } }, "bucket_water_overheating": { - "name": "桶内水温过热" + "name": "桶内水温状态", + "state": { + "off": "正常", + "on": "过热" + } + }, + "drying_tunnel_overheating": { + "name": "烘干通道状态", + "state": { + "off": "正常", + "on": "过热" + } }, "air_status": { "name": "空气运行" @@ -423,6 +446,18 @@ } }, "select": { + "dehydration_speed": { + "name": "转速" + }, + "soak_count": { + "name": "漂洗次数" + }, + "detergent": { + "name": "洗衣液(智投)" + }, + "temperature": { + "name": "温度" + }, "water_status": { "name": "水位状态", "state": { @@ -682,6 +717,9 @@ "dry_temp": { "name": "烘干温度" }, + "db_dry": { + "name": "烘干档位" + }, "dryness_level": { "name": "干燥程度" }, @@ -800,9 +838,10 @@ "mixed_wash": "混合洗", "wool": "羊毛", "ssp": "筒自洁", + "deep_ssp": "深度筒自洁", "sport_clothes": "运动服", "single_dehytration": "单脱水", - "rinsing_dehydration": "漂洗+脱水", + "rinsing_dehydration": "漂+脱", "big": "大件", "baby_clothes": "婴儿服", "down_jacket": "羽绒服", @@ -811,7 +850,7 @@ "quick_wash": "快洗", "shirt": "衬衫", "fiber": "化纤", - "enzyme": "酵素洗", + "enzyme": "除菌洗", "underwear": "内衣", "outdoor": "户外服", "air_wash": "空气洗", @@ -851,7 +890,7 @@ "fast_dry": "快速烘干", "water_outdoor": "水韵户外服", "spring_autumn_wash": "春秋洗", - "summer_wash": "夏季洗", + "summer_wash": "夏日洗", "winter_wash": "冬季洗", "jean": "牛仔服", "new_clothes_wash": "新衣洗", @@ -877,7 +916,7 @@ "aromatherapy": "香薰洗", "sterilize_wash": "杀菌洗", "white_clothes_clean": "白衣洁净", - "clean_stains": "污渍清洁", + "clean_stains": "特渍洗", "tube_clean_all": "筒自洁(全)", "no_channeling_color": "防串色", "scald_wash": "烫洗", @@ -906,7 +945,7 @@ "name": "柔顺剂浓度" }, "stains": { - "name": "污渍" + "name": "特渍" }, "sterilize": { "name": "杀菌" @@ -1293,7 +1332,17 @@ "name": "新风温度" }, "running_status": { - "name": "运行状态" + "name": "运行状态", + "state": { + "end": "结束", + "standby": "待机", + "start": "运行", + "pause": "暂停", + "idle": "空闲", + "fault": "故障", + "delay": "延时", + "delay_pause": "延时暂停" + } }, "tank_status": { "name": "水箱状态" @@ -3039,7 +3088,7 @@ "name": "负离子开关" }, "nightly": { - "name": "夜间" + "name": "夜间模式" }, "no_salt": { "name": "无盐"