从混乱到有序:Xiaomi Home Integration设备分类统计完全指南

【免费下载链接】ha_xiaomi_home Xiaomi Home Integration for Home Assistant 【免费下载链接】ha_xiaomi_home 项目地址: https://gitcode.com/gh_mirrors/ha/ha_xiaomi_home

你是否还在为智能家居设备管理头疼?面对数十种小米智能设备,如何快速掌握它们的类型分布和功能支持?本文将通过三步报表生成法,帮你轻松搞定Home Assistant中的小米设备分类统计,让你的智能家庭管理一目了然。

设备分类体系解析

小米智能家居设备通过MIoT(Mi Home Internet of Things)协议实现互联互通,在Home Assistant集成中被划分为18个核心品类。每个品类对应独立的控制模块,位于custom_components/xiaomi_home/目录下:

custom_components/xiaomi_home/
├── binary_sensor.py    # 二进制传感器(如门窗传感器)
├── climate.py          # 空调设备
├── cover.py            # 窗帘/卷帘设备
├── fan.py              # 风扇设备
├── humidifier.py       # 加湿器
├── light.py            # 照明设备
├── vacuum.py           # 扫地机器人
...(共18个设备类型文件)

这些模块通过miot_device.py中的MIoTDevice类统一管理,实现设备状态监听与控制指令下发。

报表生成实战步骤

1. 设备类型自动识别

系统通过设备型号前缀自动匹配品类,例如lumi.sensor_ht系列被识别为温湿度传感器。核心映射规则定义在lan/profile_models.yaml中,包含1200+种设备型号:

# 示例:profile_models.yaml片段
cgllc.sensor_ht.cgm1:  # 温湿度传感器
  ts: 1602667557
lumi.curtain.aq2:      # 窗帘电机
  ts: 1605857829
roborock.vacuum.s5:    # 扫地机器人
  ts: 1531108800

2. 分类统计代码实现

通过以下Python代码片段可生成设备分类报表(完整实现见tools/update_lan_rule.py):

from collections import defaultdict
import yaml

# 加载设备型号数据库
with open("custom_components/xiaomi_home/miot/lan/profile_models.yaml") as f:
    models = yaml.safe_load(f)

# 分类统计
category_count = defaultdict(int)
for model in models:
    category = model.split('.')[1]  # 提取设备类型(如sensor_ht)
    category_count[category] += 1

# 生成报表
print("小米设备分类统计报表")
print("===================")
for category, count in sorted(category_count.items(), key=lambda x: -x[1]):
    print(f"{category}: {count}台")

3. 可视化与应用

将统计结果导入Excel或使用Home Assistant的Lovelace面板,通过sensor.py创建统计传感器,实现实时设备数量监控:

本地控制示例

图1:本地控制模式下的设备分类统计面板

典型设备分类案例

环境监控类(占比23%)

  • 温湿度传感器:如cgllc.sensor_ht.cgm1,通过binary_sensor.py实现状态检测
  • 空气质量监测仪:如cgllc.airmonitor.s1,支持PM2.5/甲醛检测

家居控制类(占比41%)

  • 智能灯:如philips.light.bulb,通过light.py实现亮度/色温调节
  • 窗帘电机:如lumi.curtain.aq2,支持百分比控制与行程校准

生活服务类(占比36%)

  • 扫地机器人:如roborock.vacuum.s5,支持地图管理与清扫模式切换
  • 空调:如viomi.aircondition.v10,通过climate.py实现温度/模式控制

高级应用:自定义分类规则

通过修改miot/specs/spec_filter.yaml可扩展分类维度:

# 添加自定义分类规则
custom_categories:
  - model_prefix: "viomi.fridge"
    category: "kitchen_appliance"
    icon: "mdi:fridge"

修改后需重启Home Assistant使配置生效,新分类将自动出现在统计报表中。

总结与展望

通过本文介绍的分类统计方法,你已掌握:

  1. 小米设备18个核心品类的识别逻辑
  2. 基于型号数据库的自动分类统计实现
  3. 自定义分类规则的高级应用技巧

随着manifest.json中定义的设备支持列表不断更新(当前支持1200+型号),建议每月执行一次git pull更新ha_xiaomi_home仓库,以获取最新设备支持。

收藏本文,下次设备统计只需三步即可完成!你更关注哪种设备类型的深度统计?欢迎在评论区留言。

【免费下载链接】ha_xiaomi_home Xiaomi Home Integration for Home Assistant 【免费下载链接】ha_xiaomi_home 项目地址: https://gitcode.com/gh_mirrors/ha/ha_xiaomi_home

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐