电商信息资讯,更全更新信息实报!
主页 > 评测 > > 正文

智能家居 篇五:米家miot设备接入HA_智能家居

来源:未知 发布时间:2021-04-25 00:00 标签:
浏览:

前文介绍了如何通过xiaomi_miio_raw插件将暂未支持的米家设备接入HA,但用相同方法去接入米家智能插座2蓝牙网关版时会吃瘪,因为智能插座2采用了一套新的协议,插件暂未跟上。之前的协议叫miio,新的协议叫miot,两者内部实现变化较大,但在局域网控制这块保持了一定的兼容性,其实对插件做出少量修改就能支持miot协议。本文介绍如何将米家miot设备接入HA。

小米米家智能插座2蓝牙网关版电量统计蓝牙网关过载保护独立安全门阻燃壳体49元京东去购买

在miio中,可以通过get_prop "['on', 'bright', 'ct']"方法获取开关、亮度、色温等属性,通过set_power、set_bright、set_ct等方法设置开关、亮度、色温属性,属性名和方法名杂乱无章,没有一个统一的地方查询。而miot改用了一套更科学的方法管理设备的属性,通过get_properties获取属性、set_properties方法设置属性。下面以智能插座2为例介绍miot设备接入HA的方法,该方法同样适用于其他米家miot设备。

1. 老规矩,米家设备接入HA,首先得获取设备token,可以通过Xiaomi Gateway 3集成获取。

获取设备token获取设备token

2. 打开http://miot-spec.org/miot-spec-v2/instances?status=all ,查找上图显示的设备型号chuangmi.plug.212a01,得到该设备在米家miot中的类型名。{"status":"released","model":"chuangmi.plug.212a01","version":1,"type":"urn:miot-spec-v2:device:outlet:0000A002:chuangmi-212a01:1"}

3. 将类型名拼到https://miot-spec.org/miot-spec-v2/instance?type= 后面访问,例如智能插座2 ,获得该设备支持的属性列表。提取并整理一下,得到{'did': 'power', 'piid': 1, 'siid': 2} {'did': 'temperature', 'piid': 6, 'siid': 2} {'did': 'indicator_light', 'piid': 1, 'siid': 3} ……

miot设备属性列表miot设备属性列表

4. 执行miiocli device --ip 192.168.x.xxx --token xxxxx raw_command get_properties "[{'did': 'power', 'piid': 1, 'siid': 2}]"测试属性(ip、token见第1步,[]中间的属性id见第3步),过滤掉无法获取的属性,最终我们发现智能插座2可以获取以下12个属性,进一步测试发现,一次get_properties最多可操作10个属性。结合米家APP的界面展示,我们可以确定,siid:2 piid:1控制插座电源,siid:3 piid:1控制指示灯,siid:5 piid:6的结果除以100就是功率。可进一步用miiocli device --ip 192.168.x.xxx --token xxxxx raw_command set_properties "[{'did': 'power', 'piid': 1, 'siid': 2, value: true}]"测试属性设置。

{'did': 'power', 'piid': 1, 'siid': 2} {'did': 'temperature', 'piid': 6, 'siid': 2} {'did': 'indicator_light', 'piid': 1, 'siid': 3} {'did': 'on_duration', 'piid': 1, 'siid': 4} {'did': 'off_duration', 'piid': 2, 'siid': 4} {'did': 'countdown', 'piid': 3, 'siid': 4} {'did': 'task_switch', 'piid': 4, 'siid': 4} {'did': 'countdown_info', 'piid': 5, 'siid': 4} {'did': 'power_consumption', 'piid': 1, 'siid': 5} {'did': 'electric_current', 'piid': 2, 'siid': 5} {'did': 'voltage', 'piid': 3, 'siid': 5} {'did': 'electric_power', 'piid': 6, 'siid': 5}

5. 至此可以确定,至少python miio这个库及miiocli这个工具是兼容miot协议的,是否就意味着可以用xiaomi_miio_raw集成来接入HA呢?很遗憾,xiaomi_miio_raw对get_properties未做兼容,且它一次获取15个属性,不修改代码是不行的。向作者提了issue,但看这情况,远没有自己改代码来得快,所以还是自己改好反哺吧。目前xiaomi_miio_raw已合入了我的修改,可以继续用这个插件按下面的步骤将miot设备接入HA了。

6. 与前文类似,先在configuration.yaml中定义一个支持获取属性和调用服务的sensor。

米家miot设备接入HA

7. 然后用template将功率包装成可直观查看的sensor,并包装出一个可控制电源通断的switch。

米家miot设备接入HA

8. 至此就完成了智能插座2接入HA,可控制电源通断、查看功率、也可查看其它暂时意义不明的属性。

总的来说与前文区别不大,唯一的区别就是xiaomi_miio_raw暂未支持,需要修改代码,不过我已经改好并提交了PR,你们不用再改了,按照与前文相同的方法去集成就行了。

标签:

近期活动

更多 >

热门文章

  • 智能家居 篇四:Yeelight韶华420接入HA及设
    智能家居 篇四:Yeelight韶华420接入HA及设

    智能家居 篇四:Yeelight韶华420接入HA及设

    本期介绍Yeelight韶华420吸顶灯如何接入HA,并总结下不同设备接入HA的方式。 Yeelight韶华LED吸顶灯智能款小米米家智能控制卧室客厅吸顶灯现代简约圆形书房...

  • 搭建移动量子网络:中国无人机量子组网
    搭建移动量子网络:中国无人机量子组网

    搭建移动量子网络:中国无人机量子组网

    无人机、量子通信,都是当下热门的科技标签,但它们两个走在一起,会产生什么“化学反应”呢? 据报道,来自南京大学的中科院院士祝世宁团队,利用...

  • 小米手环6彩色腕带首销:八大色系可选
    小米手环6彩色腕带首销:八大色系可选

    小米手环6彩色腕带首销:八大色系可选

    3月底,小米举行春季新品发布会,除了发布多款旗舰新机外,还带来小米手环6、小米路由器AX9000等多款新品。 4月2日,小米手环6迎来全渠道首销,提供标...

  • 松拓 Suunto 9 Peak 运动手表通过FCC认证,心
    松拓 Suunto 9 Peak 运动手表通过FCC认证,心

    松拓 Suunto 9 Peak 运动手表通过FCC认证,心

    知名运动手表制造商Suunto(松拓)今天有一款手表浮出水面,型号Suunto 9 Peak,集成了心率传感器和气压计以及完整双星导航系统,应该是一款特别版。 目...

  • Amazfit GTR 2 eSIM评测:无需手机和SIM卡也能
    Amazfit GTR 2 eSIM评测:无需手机和SIM卡也能

    Amazfit GTR 2 eSIM评测:无需手机和SIM卡也能

    写在前面 每当与好友聊到有关于“智能手表”的话题时,绝大多数人都会联想到“大号手环”、“现代电子表”、“只有苹果表和其它”等词汇。上述说法...

人物

更多 >
人物吴欣鸿:美图秀秀下一个十年发力图片社
人物最贵的离职:陆奇带走了百度900亿市值
人物刘强东代言上瘾,这次为核桃代言
人物董明珠回应不分红 格力要发展核心技术
人物5G投票门还未平息,柳传志为10家企业高管

专题

更多 >