feat: add support for T0xBF. Fix #36.

This commit is contained in:
sususweet
2025-11-21 09:39:42 +08:00
parent fe1a5b315b
commit 2858e991ae
6 changed files with 80 additions and 1 deletions

View File

@@ -32,6 +32,7 @@ Get devices from MSmartHome/Midea Meiju homes through the network and control th
- T0xB6 Range Hood - T0xB6 Range Hood
- T0xB7 Gas Stove - T0xB7 Gas Stove
- T0xB8 Smart Robot Vacuum - T0xB8 Smart Robot Vacuum
- T0xBF Microwave Steam Oven
- T0xCA French Door Refrigerator - T0xCA French Door Refrigerator
- T0xCC Central Air Conditioning (Ducted) Wi-Fi Controller - T0xCC Central Air Conditioning (Ducted) Wi-Fi Controller
- T0xCD Air Energy Water Heater - T0xCD Air Energy Water Heater

View File

@@ -32,6 +32,7 @@
- T0xB6 抽油烟机 - T0xB6 抽油烟机
- T0xB7 燃气灶 - T0xB7 燃气灶
- T0xB8 智能扫地机器人 - T0xB8 智能扫地机器人
- T0xBF 微波炉
- T0xCA 对开门冰箱 - T0xCA 对开门冰箱
- T0xCC 中央空调(风管机)Wi-Fi线控器 - T0xCC 中央空调(风管机)Wi-Fi线控器
- T0xCD 空气能热水器 - T0xCD 空气能热水器

View File

@@ -0,0 +1,65 @@
from homeassistant.const import Platform, UnitOfTime, UnitOfArea, UnitOfTemperature
from homeassistant.components.sensor import SensorStateClass, SensorDeviceClass
from homeassistant.components.binary_sensor import BinarySensorDeviceClass
DEVICE_MAPPING = {
"default": {
"rationale": ["off", "on"],
"queries": [{}],
"centralized": [],
"calculate": {
"get": [
{
"lvalue": "[work_time]",
"rvalue": "[work_second] + 60 * [work_minute] + 3600 * [work_hour]"
},
{
"lvalue": "[set_time]",
"rvalue": "[second_set] + 60 * [minute_set] + 3600 * [hour_set]"
}
],
"set": [
]
},
"entities": {
Platform.BINARY_SENSOR: {
"lack_water": {
"device_class": BinarySensorDeviceClass.RUNNING,
"rationale": [0, 1]
},
"door_open": {
"device_class": BinarySensorDeviceClass.RUNNING,
},
"change_water": {
"device_class": BinarySensorDeviceClass.RUNNING,
"rationale": [0, 1]
}
},
Platform.SENSOR: {
"work_status": {
"device_class": SensorDeviceClass.ENUM
},
"cur_temperature_above": {
"device_class": SensorDeviceClass.TEMPERATURE,
"unit_of_measurement": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT
},
"cur_temperature_underside": {
"device_class": SensorDeviceClass.TEMPERATURE,
"unit_of_measurement": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT
},
"work_time": {
"device_class": SensorDeviceClass.DURATION,
"unit_of_measurement": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT
},
"set_time": {
"device_class": SensorDeviceClass.DURATION,
"unit_of_measurement": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT
},
}
}
}
}

View File

@@ -7,5 +7,5 @@
"iot_class": "cloud_push", "iot_class": "cloud_push",
"issue_tracker": "https://github.com/sususweet/midea-meiju-codec/issues", "issue_tracker": "https://github.com/sususweet/midea-meiju-codec/issues",
"requirements": ["lupa>=2.0"], "requirements": ["lupa>=2.0"],
"version": "v0.1.24" "version": "v0.1.25"
} }

View File

@@ -651,6 +651,9 @@
"move_direction": { "move_direction": {
"name": "Move Direction" "name": "Move Direction"
}, },
"work_status": {
"name": "Work Status"
},
"sub_work_status": { "sub_work_status": {
"name": "Sub Work Status" "name": "Sub Work Status"
}, },
@@ -1206,6 +1209,9 @@
"work_time": { "work_time": {
"name": "Work Time" "name": "Work Time"
}, },
"set_time": {
"name": "Set Time"
},
"zero_cold_tem": { "zero_cold_tem": {
"name": "Zero Cold Temperature" "name": "Zero Cold Temperature"
}, },

View File

@@ -655,6 +655,9 @@
"move_direction": { "move_direction": {
"name": "移动方向" "name": "移动方向"
}, },
"work_status": {
"name": "工作状态"
},
"sub_work_status": { "sub_work_status": {
"name": "子工作状态" "name": "子工作状态"
}, },
@@ -1210,6 +1213,9 @@
"work_time": { "work_time": {
"name": "工作时间" "name": "工作时间"
}, },
"set_time": {
"name": "设置工作时间"
},
"zero_cold_tem": { "zero_cold_tem": {
"name": "零冷水温度" "name": "零冷水温度"
}, },