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

标题: [Ecovacs失效]关于Core更新至2024.12.x 后集成失效的临时解决 [打印本页]

作者: lswq    时间: 2024-12-20 19:16
标题: [Ecovacs失效]关于Core更新至2024.12.x 后集成失效的临时解决
本帖最后由 lswq 于 2024-12-20 19:36 编辑

Homeassistant core更新至12.x后部分用户出现老设备无法识别的原因,作者本人表示因科沃斯官方始终不开放api接口,且官方设备码命名混乱(同一型号可能存在多个class设备名)导致维护困难。---原issue[My model is not working with HA 2024.12 and newer · Issue #612 · DeebotUniverse/client.py · GitHub]

作者去除了部分难以管理的设备导致集成无法正常识别,现正与网友共同维护设备库(client.py)[GitHub - DeebotUniverse/client.py: Deebot client library in python]
由于用户较多众人拾柴火焰高,已恢复了大量失效设备,相信几个小版本更新就能使集成恢复正常,以下提供一种Haos临时解决方法[尝试前先做好备份]:


1.先正常重载Ecovacs集成,在系统core日志中搜索Ecovacs会得到类似以下报错:
  1. Device "DEEBOT T9 POWER" not supported. More information at https://github.com/DeebotUniverse/client.py/issues/612: {'did': '38559xxxxxxx', 'name': 'E07H01xxxxxx', 'class': 'dj8zpr', 'resource': 'CV4R', 'company': 'eco-ng', 'bindTs': xxxxxxx, 'service': {'jmq': 'jmq-ngiot-cn.dc.cn.ecouser.net', 'mqs': 'api-ngiot.dc-cn.cn.ecouser.net'}, 'deviceName': 'DEEBOT T9 POWER', 'icon': 'https://portal.ecouser.net/api/pim/file/get/6087d70898318f000894a259', 'ota': True, 'UILogicId': 'T9_PRO', 'materialNo': 'xxxxxxx', 'pid': '6087d70xxxxxx', 'product_category': 'DEEBOT', 'model': 'T9_ECOVACS_ECO', 'updateInfo': {'needUpdate': False, 'changeLog': ''}, 'nick': 'xxxxx', 'homeId': '626xxxxxx', 'homeSort': 1, 'status': 1, 'otaUpgrade': {}}
复制代码
class为你的科沃斯型号代码,例如我的DEEBOT T9 POWERdj8zpr

2.随后以root身份进入Homeassistant Docker容器命令台,此处以HaOS为例:
>>进入Portainer并连接

  [attach]66181[/attach]    [attach]66182[/attach]    [attach]66184[/attach]
>>输入命令,将你的设备映射至设备库中已有的类似设备参考原帖方法[Add support for T9 PLUS (um2ywg) by marcolino7 · Pull Request #632 · DeebotUniverse/client.py · GitHub]
  1. cd /usr/local/lib/python3.13/site-packages/deebot_client/hardware/deebot
复制代码
  1. ln -svfT ucn2xe.py dj8zpr.py
复制代码
其中
ucn2xe.py为T9型号配置文件,将我的T9 Power配置文件(dj8zpr.py)指向设备库中已更新的T9(ucn2xe.py)配置文件。
已有设备类型可在此处查看[client.py/deebot_client/hardware/deebot at dev · DeebotUniverse/client.py · GitHub]

3.命令台显示已完成映射便可退出连接,重启Homeassistant即可。

4.有能力的友友也可以参照作者方法提供自己的设备信息至库中。








作者: limo    时间: 2024-12-24 11:09
没有对应型号的配置文件,是不是就没办法了
作者: lswq    时间: 2024-12-24 23:55
limo 发表于 2024-12-24 11:09
没有对应型号的配置文件,是不是就没办法了

找类似的型号,可以尝试一下,ds开头的老设备应该就不行了,T系列或者近几年新出的应该都可以
作者: Evilsay    时间: 2024-12-25 17:33
我是用实体debian安装的ha supervisor的,我找不到deboot的文件在哪
作者: Heroin123    时间: 2024-12-25 23:39

特来感谢,我家用的是T8 power ,class类型为no61kx,建立链接替换成0bdtzz可以使用
作者: lswq    时间: 2024-12-26 14:06
Evilsay 发表于 2024-12-25 17:33
我是用实体debian安装的ha supervisor的,我找不到deboot的文件在哪

这个是集成在core里的插件,ha在debian应该也是运行在docker里的吧,应该差不多,可以找找相关帖子
作者: h2234    时间: 2024-12-26 15:14
物理机装PVE  安装的home assistant  怎么连接?
作者: Evilsay    时间: 2024-12-26 15:46
lswq 发表于 2024-12-26 14:06
这个是集成在core里的插件,ha在debian应该也是运行在docker里的吧,应该差不多,可以找找相关帖子 ...

我进了/usr/local/lib/python3.13/site-packages/,下面找不到deboot的文件夹了
作者: lswq    时间: 2024-12-27 10:20
h2234 发表于 2024-12-26 15:14
物理机装PVE  安装的home assistant  怎么连接?

# 从 Home Assistant 控制台登录,获得 shell 环境后执行以下命令

# Step 1: 获取正在运行的 Docker 容器 ID,其中包含 Home Assistant 的实例
docker ps | grep homeassistant
# `docker ps` 列出所有正在运行的容器,`grep` 筛选出名字中包含 "homeassistant" 的容器。

# Step 2: 使用容器 ID 进入 Home Assistant 容器内部
docker exec -it <CONTAINERID> sh
# 替换 <CONTAINERID> 为上一步中返回的容器 ID。
# `-it` 以交互模式进入容器,`sh` 打开一个 Shell 环境。

# Step 3: 定位到 deebot_client 的 hardware/deebot 目录
cd /usr/local/lib/python3.13/site-packages/deebot_client/hardware/deebot
# 这里的路径是 Python 的 site-packages 目录,存放 Python 库文件。
# deebot_client 是与扫地机器人(如 Ecovacs Deebot)交互的模块。

# Step 4: 创建一个符号链接,将 x5d34r.py 文件指向 lhbd50.py
ln -svfT x5d34r.py lhbd50.py
# `ln` 是创建链接的命令。
# `-s` 创建符号链接,类似于快捷方式。
# `-v` 显示创建链接的详细信息。
# `-f` 强制覆盖已存在的目标文件。
# `-T` 明确目标是文件(而非目录)。
# 这一步确保任何对 lhbd50.py 的引用都指向 x5d34r.py。

# Step 5: 重启 Home Assistant 以使更改生效
restart home assistant
# 通过重启让新的符号链接及代码修改生效。
参考原帖命令试试
作者: jacksonli    时间: 2025-1-2 23:38
有没有大佬可以解答一下,为什么我科沃斯接入HA之后,只有返回基站和定位功能有用,启动按键没反应啊!感谢大佬!
作者: eric    时间: 2025-1-3 10:12
感谢分享啊!
作者: hamtalk    时间: 2025-1-6 09:03
算了,有些复杂,我还是等等有没有大佬把他救活吧。
作者: 来个蟹黄堡    时间: 2025-1-13 23:36
T50 pro没有文件是不是就不行啊
作者: lswq    时间: 2025-1-15 11:00
来个蟹黄堡 发表于 2025-1-13 23:36
T50 pro没有文件是不是就不行啊

类似机型也可以试试啊
作者: leeisback    时间: 2025-1-24 14:44
本帖最后由 leeisback 于 2025-1-25 22:15 编辑

研究了一整天,终于似乎明白了
作者: lswq    时间: 2025-1-27 22:44
leeisback 发表于 2025-1-24 14:44
研究了一整天,终于似乎明白了

不是吧哥,是我写得不够详细嘛
作者: leeisback    时间: 2025-1-30 10:46
lswq 发表于 2025-1-27 22:44
不是吧哥,是我写得不够详细嘛

不,你是大佬,我纯小白,你写的很详细,只是和我的不适配,我虚拟机装的HA,你的第二步(Portainer)似乎对我无法适用,所以我流程就断点了
作者: karl321    时间: 2025-1-31 21:02
leeisback 发表于 2025-1-30 10:46
不,你是大佬,我纯小白,你写的很详细,只是和我的不适配,我虚拟机装的HA,你的第二步(Portainer)似 ...

所以 虚拟机装HA,我卡在python那找不到。请问下应该怎么弄
作者: wkbhll    时间: 2025-2-9 11:28
楼主对虚拟机安装的,能给一版吗?非常感谢呀。
作者: leeisback    时间: 2025-2-9 14:45
karl321 发表于 2025-1-31 21:02
所以 虚拟机装HA,我卡在python那找不到。请问下应该怎么弄

我发了个帖子,可以看下,我理解我们问题是一样的
作者: karl321    时间: 2025-2-9 22:06
leeisback 发表于 2025-2-9 14:45
我发了个帖子,可以看下,我理解我们问题是一样的

感谢 !收到!
作者: wkbhll    时间: 2025-6-3 22:51
本帖最后由 wkbhll 于 2025-6-13 14:09 编辑

楼主呀,我升级了后就无法重载了,也找不到你所说的CLASS后面的具体型号了,如何处理呀?我一直出的错误信息如下:日志记录器: homeassistant.util.package
来源: util/package.py:159
首次出现: 13:33:45 (3 次出现)
上次记录: 13:35:29

Unable to install package deebot-client==5.1.0: × No solution found when resolving dependencies: ╰─▶ Because deebot-client==5.1.0 depends on pillow>=10.0.1,<11.0 and pillow==11.2.1, we can conclude that deebot-client==5.1.0 cannot be used. And because you require deebot-client==5.1.0, we can conclude that your requirements are unsatisfiable.

作者: supergood    时间: 2025-6-4 16:23
其他都可以,就是没有办法启动。。。。。。。。。。。。。。。。。。

作者: lswq    时间: 2025-6-7 23:41
本帖最后由 lswq 于 2025-6-7 23:54 编辑
wkbhll 发表于 2025-6-3 22:51
楼主呀,我升级了后就无法重载了,也找不到你所说的CLASS后面的具体型号了,如何处理呀?
...

集成设备信息里是可以看到的呀,我也刚升级完,试了下还是能正常链接的
作者: lswq    时间: 2025-6-7 23:43
supergood 发表于 2025-6-4 16:23
其他都可以,就是没有办法启动。。。。。。。。。。。。。。。。。。

那只能试试链接其他型号看看了,目前老设备也没有太好的方法,有条件和能力可以自己改代码,我不是学计算机的我不懂这个
作者: wkbhll    时间: 2025-6-8 18:34
lswq 发表于 2025-6-7 23:41
集成设备信息里是可以看到的呀,我也刚升级完,试了下还是能正常链接的 ...

我的完全看不到,一升级就不能正常链接了,而且都日志上也查不到你所说的信息。
作者: fanyunsheng    时间: 2025-6-8 22:37
本帖最后由 fanyunsheng 于 2025-6-8 22:38 编辑

2.随后以root身份进入Homeassistant Docker容器命令台,此处以HaOS为例:
>>进入Portainer并连接
该怎么做?能给小白讲清楚点吗?


作者: h2234    时间: 2025-6-10 20:01
本帖最后由 h2234 于 2025-6-10 20:04 编辑
lswq 发表于 2024-12-27 10:20
# 从 Home Assistant 控制台登录,获得 shell 环境后执行以下命令

# Step 1: 获取正在运行的 Docker 容 ...

没有deebot_client文件夹[img][/img]     进入的677a4898568d那个
作者: lswq    时间: 2025-6-14 16:32
fanyunsheng 发表于 2025-6-8 22:37
2.随后以root身份进入Homeassistant Docker容器命令台,此处以HaOS为例:
>>进入Portainer并连接
该怎么做 ...

Portainer是加载项里可以安装的一个可以管理正在运行的Dorker的加载项
作者: lswq    时间: 2025-6-14 16:37
本帖最后由 lswq 于 2025-6-14 16:45 编辑
wkbhll 发表于 2025-6-8 18:34
我的完全看不到,一升级就不能正常链接了,而且都日志上也查不到你所说的信息。 ...

你是HAOS吗,应该不会有这么大的区别
https://www.home-assistant.io/integrations/ecovacs 你看看你安装的是不是官网推荐的集成
我看你的报错好像是和Python里的pillow依赖版本冲突,得等集成更新或者自己降级,或者你可以问问gpt或者查下有什么能跳过依赖解析的办法。
作者: lswq    时间: 2025-6-14 16:50
h2234 发表于 2025-6-10 20:01
没有deebot_client文件夹[img][/img]     进入的677a4898568d那个

我是HAOS加载项里Portainer在Container里直接选的,你如果是其他环境安装的你看下其他楼,人家有过解决办法的。

作者: wkbhll    时间: 2025-6-14 17:28
本帖最后由 wkbhll 于 2025-6-14 17:29 编辑
lswq 发表于 2025-6-14 16:37
你是HAOS吗,应该不会有这么大的区别
https://www.home-assistant.io/integrations/ecovacs 你看看你安装 ...

感谢你的解答,我的没有如你所示的显示信息,是HAOS的
作者: yideng    时间: 2025-6-24 13:22
mark,成功解决 T50 PRO

ln -svfT cuoipb.py 0gxgac.py

我链接的是cuoipb.py
作者: Duanso    时间: 2025-7-29 11:51
Evilsay 发表于 2024-12-26 15:46
我进了/usr/local/lib/python3.13/site-packages/,下面找不到deboot的文件夹了

我只有/usr/local/lib,连python文件夹都没有
作者: kunao0017    时间: 2025-8-16 01:35
搞定了 找到33个实体 但是没有设备出来有办法处理吗
作者: kunao0017    时间: 2025-8-16 13:27
其实对我这新手小白来说,网上教程真没完全搞定,而且越搞越复制。这样把。先暂时效果,下面回复如何实现的非常简单。
作者: kunao0017    时间: 2025-8-16 13:36
【Home Assistant OS 官方集成支持 DEEBOT N9+(a7lhb1)最简操作指南】
适用于:
使用官方 Ecovacs 集成(非第三方插件)
Home Assistant OS / Container / Supervised 2025.8.x 及以上
不想等官方合并,希望 今天就能用 的用户
一、准备工作(1 分钟)
确认版本
设置 → 系统 → 信息 → Home Assistant Core ≥ 2025.8.x。
确认设备
日志里出现
Device "DEEBOT N9+" not supported. … class: a7lhb1
即为本文适用场景。
二、取得容器写权限(3 分钟)
安装 Advanced SSH & Web Terminal
配置 → 加载项 → 加载项商店
搜索 Advanced SSH & Web Terminal → 安装 → 启动
关闭保护模式
进入该插件 → 配置 → 把 “保护模式” 开关设为 关 → 保存 → 重启插件
进入容器
打开插件的 Web 终端,执行:
bash

docker exec -it homeassistant sh
三、复制模板文件(30 秒)
进入目标目录
bash

cd /usr/local/lib/python3.13/site-packages/deebot_client/hardware/deebot
找到 功能最全的模板(示例用 x5d34r.py,若列表不同,选文件最大的即可)
bash

cp x5d34r.py a7lhb1.py
Tips:用 ls -lS | head 可快速找最大文件。
四、重启 Home Assistant(1 分钟)
bash

exit          # 退出容器
ha core restart   # 或 Supervisor → 系统 → 重启主机
五、重新绑定集成(30 秒)
删除旧集成:
配置 → 设备与服务 → 找到 Ecovacs → 删除
重新添加:
添加集成 → Ecovacs → 登录账号 → 选择国家/地区 cn → 完成
验证:
设备列表出现 “DEEBOT N9+ (a7lhb1)” 即成功。

六、一键回退(官方合并后)
bash

docker exec -it homeassistant sh \
  rm /usr/local/lib/python3.13/site-packages/deebot_client/hardware/deebot/a7lhb1.py
ha core restart
一句话总结
官方集成 + 容器内复制模板 → 今天就能用 N9+,升级/回退零侵入
作者: kunao0017    时间: 2025-8-16 13:39
谢谢楼主的分享。你的分享提供了蛮大的思路。
作者: Arenadz    时间: 2025-8-30 08:42
跟楼主同型号的T9 power,已操作成功。多谢指点。




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5