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

 找回密码
 立即注册
查看: 692|回复: 6

[技术探讨] 追觅扫地机插件添加不支持的型号

[复制链接]

1

主题

24

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
金钱
240
HASS币
0
发表于 2024-12-28 08:37:58 | 显示全部楼层 |阅读模式
开头声明本人小白纯瞎鼓捣,并且添加插件本身不支持的型号可能会导致功能不完善。
起因是从这篇帖子看到了追觅S30PU可以通过插件接入https://bbs.hassbian.com/thread-27279-1-1.html,于是兴致勃勃的去尝试,结果添加的时候提示型号不支持。
                                                                                          

添加提示型号不支持

添加提示型号不支持

于是我就查找原因,最后发现是我的扫地机型号为S30PU增强版,并非前面帖子里说的S30PU。但是我寻思这俩版本这么相近应该内部固件也差不多既然S30PU能支持那么S30PU增强版应该也能支持。于是开始翻代码。
在dreame_vacuum插件文件夹下config_flow.py文件中找到了插件支持的型号列表,只需要把自己的追觅型号添加到这个列表中应该就可以了。
                                                                                        1735344929429.jpg
那么我要怎么知道自己的型号呢?既然插件能知道我有型号不支持,那插件肯定知道我账号下现在的扫地机型号,于是继续翻代码。最后在async_step_dreame函数中找到了这么一句

                    if devices:
                        found = list(
                            filter(
                                lambda d: str(d["model"]) in DREAME_MODELS or str(d["model"]) in MIJIA_MODELS,
                                devices["page"]["records"],
                            )
                        )
这里将lambda d: str(d["model"]) in DREAME_MODELS or str(d["model"]) in MIJIA_MODELS,改为lambda d: str(d["model"]) in DREAME_MODELS or str(d["model"]) in MIJIA_MODELS or 1,就可以将账号下所有型号导入found列表中。
然后找到async_step_connect函数中这一段代码。
                if self.model in DREAME_MODELS or self.model in MIJIA_MODELS:
                    if self.name is None:
                        self.name = self.model
                    return await self.async_step_options()
                else:
                    errors["base"] = 'unsupported'
将其中的errors["base"] = 'unsupported'修改为errors["base"] = self.model + " is not supported"就可以让系统报错改为输出你的设备型号。将修改完的文件替换到ha插件中重新尝试添加设备。
                                                                                                1735345682700.jpg
由此可知我的型号为。直接将这个型号添加到config_flow.py文件的DREAME_MODELS列表中
                                                                                       1735345821522.jpg
然后再去尝试添加设备就可以发现设备被识别成功并可以添加啦。但是实体没有前面帖子里的多,毕竟还是不支持的型号。
                                                                                  1735345975848.jpg


回复

使用道具 举报

0

主题

2

帖子

20

积分

新手上路

Rank: 1

积分
20
金钱
18
HASS币
0
发表于 2025-1-3 01:00:40 | 显示全部楼层
太强了大佬,s40增强版成功连上
回复

使用道具 举报

0

主题

9

帖子

44

积分

新手上路

Rank: 1

积分
44
金钱
35
HASS币
0
发表于 2025-1-3 15:26:04 | 显示全部楼层
装的HAOS,怎么打开这个文件呢
回复

使用道具 举报

1

主题

136

帖子

1834

积分

金牌会员

Rank: 6Rank: 6

积分
1834
金钱
1698
HASS币
0
发表于 2025-1-3 22:26:53 | 显示全部楼层
赞,我的x50搞上去了,虽然实体少了
回复

使用道具 举报

0

主题

2

帖子

20

积分

新手上路

Rank: 1

积分
20
金钱
18
HASS币
0
发表于 2025-1-4 14:59:48 | 显示全部楼层
大佬6比,我爱你
回复

使用道具 举报

0

主题

3

帖子

66

积分

注册会员

Rank: 2

积分
66
金钱
63
HASS币
0
发表于 2025-1-5 05:10:51 | 显示全部楼层
NekoPunch 发表于 2025-1-3 01:00
太强了大佬,s40增强版成功连上

这个是啥型号啊
回复

使用道具 举报

0

主题

4

帖子

33

积分

新手上路

Rank: 1

积分
33
金钱
29
HASS币
0
发表于 2025-1-5 22:38:24 | 显示全部楼层

dreame.vacuum.r2473
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-2-3 02:06 , Processed in 0.054952 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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