找回密码
 立即注册
查看: 1689|回复: 26

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

[复制链接]

1

主题

25

回帖

300

积分

中级会员

积分
300
金钱
274
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

积分

新手上路

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

使用道具 举报

0

主题

9

回帖

54

积分

注册会员

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

使用道具 举报

1

主题

148

回帖

1947

积分

金牌会员

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

使用道具 举报

0

主题

2

回帖

20

积分

新手上路

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

使用道具 举报

0

主题

3

回帖

70

积分

注册会员

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

这个是啥型号啊
回复

使用道具 举报

0

主题

4

回帖

33

积分

新手上路

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

dreame.vacuum.r2473
回复

使用道具 举报

0

主题

2

回帖

20

积分

新手上路

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

我和你一样的机型,我是NAS虚拟机安装的HA,怎么打开程序路径进行修改,小白一枚傻眼了
回复

使用道具 举报

0

主题

26

回帖

226

积分

中级会员

积分
226
金钱
200
HASS币
0
发表于 2025-2-11 01:01:51 | 显示全部楼层
用这个方法能不能搞一搞那个扫地机器人,显示家庭地图的那个插件
回复

使用道具 举报

0

主题

19

回帖

95

积分

注册会员

积分
95
金钱
76
HASS币
0
发表于 2025-2-17 14:59:00 | 显示全部楼层
感谢,成功添加s30pu超薄上下水
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-1 09:24 , Processed in 0.953110 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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