『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 15818|回复: 23

[插件集成] 米家互联网空调C1-自定义插件

[复制链接]

1

主题

27

帖子

308

积分

论坛技术达人

积分
308
金钱
281
HASS币
0
发表于 2019-8-14 00:00:13 | 显示全部楼层 |阅读模式
本帖最后由 LT21 于 2020-7-10 13:46 编辑

2020-07-10 更新:

更新了一下代码,欢迎测试。

##################################

2019-08-28 更新:

昨天运气好,终于让我试出这个C1的当前设置温度的参数名了,参数名为"settemp",跟以往的智能空调参数名命名方式完全不同,也是坑了。
至此C1算是基本功能都通了。当然,后续还有优化空间,不过目前就先这样吧~~

还有值得注意的一点,因为通过python-miio发送get_prop方法,只能一个个参数来获取,一旦其中一个获取不到就会造成状态获取不完整,所以我还是决定把与基础功能无关的其他状态(睡眠、节能、灯光、声音等)先去掉了。

##################################

最近才刚接触HomeAssistant,所幸家里之前的智能设备数量不多,而且也都是小米家的,看看支持列表也全都支持,于是就开开心心的入坑了。

结果刚入坑第二个月,因为南方夏天实在太热,家里客厅没装空调顶不住了,趁着活动入了米家互联网空调C1那款。图得它便宜,有自清洁,还带个蓝牙网关,活动价格也不贵。结果就真的是坑了,装完才发现这货没法接入HA,找遍了论坛和Github都找不到插件。

最为处女座,真的不能忍啊~~无奈之下只能临阵磨枪,现学抓包,现学Python,狂在Github上找轮子。。。最后也算磨出个自用插件了。

但还是有些问题,想在论坛请教下:
1、我实在是找不到C1这款空调miio协议下,get_prop方法到底是什么参数名可以获取到当前设置的温度(也就是所谓的Target Temperature),我通过get_prop ['temp', 'temperature'] 拿到的数值都是当前室温。当然,设置温度的功能还是不影响的,只是万一用遥控器或App调了温度没法同步,就略显尴尬了。不知道论坛里有没有大神能抓出这个参数?!
2、get_prop方法在插件里居然不支持多个参数的请求,只要请求参数的数量大于1,就必定返回'error': {'code': -10000, 'message': 'stuck'}。我看其它插件都是可以的,这我就纳闷了,而且我用miio-npm也是可以请求多参数的,实在不懂只能分割成一个一个参数来请求了,希望有大神可以解答下。

最后,就把这有瑕疵的代码扔出来吧~~orz

https://github.com/LT21/xiaomi_airconditioning_c1

评分

参与人数 2金钱 +40 收起 理由
xieahui + 20 大神666!
+ 20 厉害了word楼主!

查看全部评分

回复

使用道具 举报

1

主题

109

帖子

1039

积分

金牌会员

Rank: 6Rank: 6

积分
1039
金钱
930
HASS币
0
发表于 2019-8-14 00:53:52 | 显示全部楼层
互联网空调M3 能用不
回复

使用道具 举报

1

主题

27

帖子

308

积分

论坛技术达人

积分
308
金钱
281
HASS币
0
 楼主| 发表于 2019-8-14 01:44:02 | 显示全部楼层
本帖最后由 LT21 于 2019-8-14 01:47 编辑
小伙子 发表于 2019-8-14 00:53
互联网空调M3 能用不

M3我家没装这款,没法测试呃。而且M3和C1在配置参数名上貌似是有不一样的。据我了解论坛里应该已经有接入M3的了,只是貌似不是以自定义插件的方式来实现而已。
回复

使用道具 举报

1

主题

36

帖子

120

积分

注册会员

Rank: 2

积分
120
金钱
84
HASS币
0
发表于 2019-8-14 02:15:09 | 显示全部楼层
兄弟,你现在最终能实现的功能是什么?可以设置温度?可以设置状态?就是温度不能同步?
回复

使用道具 举报

8

主题

329

帖子

1763

积分

金牌会员

Rank: 6Rank: 6

积分
1763
金钱
1434
HASS币
0
发表于 2019-8-14 09:38:20 | 显示全部楼层
支持,期待最终可用版
回复

使用道具 举报

27

主题

2143

帖子

8934

积分

论坛元老

Rank: 8Rank: 8

积分
8934
金钱
6786
HASS币
30

论坛元老

发表于 2019-8-14 09:43:12 | 显示全部楼层
能自己写代码的我就佩服
回复

使用道具 举报

1

主题

27

帖子

308

积分

论坛技术达人

积分
308
金钱
281
HASS币
0
 楼主| 发表于 2019-8-14 10:36:01 | 显示全部楼层
804455148 发表于 2019-8-14 02:15
兄弟,你现在最终能实现的功能是什么?可以设置温度?可以设置状态?就是温度不能同步? ...

目前可以开关空调、设置温度、设置模式、设置风速、开关扫风。状态同步方面可以获得空调开关状态、当前模式、当前风速、是否扫风、当前室温,甚至其它不必要状态的例如显示屏亮灭、睡眠、节能、辅热、蜂鸣声、定时器等都能拿到,就是拿不到当前设置的温度来同步显示,尴尬
回复

使用道具 举报

1

主题

90

帖子

1066

积分

金牌会员

Rank: 6Rank: 6

积分
1066
金钱
976
HASS币
0
发表于 2019-8-14 10:42:34 | 显示全部楼层
楼主可以分享下抓包的过程嘛?想了解,但是网上的信息太散了,无从入手··~~
回复

使用道具 举报

15

主题

656

帖子

2832

积分

金牌会员

Rank: 6Rank: 6

积分
2832
金钱
2175
HASS币
91

教程狂人

QQ
发表于 2019-8-14 10:45:35 | 显示全部楼层
kleinsoul 发表于 2019-8-14 10:42
楼主可以分享下抓包的过程嘛?想了解,但是网上的信息太散了,无从入手··~~ ...

确实分享一下抓包,分析的教程吧
回复

使用道具 举报

8

主题

2073

帖子

6053

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
6053
金钱
3980
HASS币
145

灌水之王

发表于 2019-8-14 13:18:27 | 显示全部楼层
码农 支持下!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 14:41 , Processed in 0.061439 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表