资源

 

官方 Ecovacs 集成(ecovacs integration)

https://www.home-assistant.io/integrations/ecovacs

 

查看官方最新的支持扫地机型号

https://github.com/DeebotUniverse/client.py/tree/dev/deebot_client/hardware

 

查看你自己的Ha支持扫地机型号

 docker exec -it ha  sh
/config # cd  /usr/local/lib/python3.14/site-packages/deebot_client/hardware/
/usr/local/lib/python3.14/site-packages/deebot_client/hardware # ls -l

 

原因

Home Assistant 适配了一台  官方不支持的Ecovacs扫地机型号。

Homeassistant core更新至12.x后部分用户出现老设备无法识别的原因,作者本人表示因科沃斯官方始终不开放api接口,且官方设备码命名混乱(同一型号可能存在多个class设备名)导致维护困难。

作者去除了部分难以管理的设备导致集成无法正常识别。

detail:https://github.com/DeebotUniverse/client.py

解决步骤

step 1.查看你的扫地及型号

查看系统日志,找到科沃斯的告警日志,其中有个日志里面会有你机器的型号和class参数

先正常重载Ecovacs集成,在系统core日志中搜索Ecovacs会得到类似以下报错:

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': {}

举例:

1.Device "DEEBOT X5 PRO" not supported.表示集成不支持这个型号。

2.class为你的科沃斯型号代码,例如:DEEBOT T9 POWER为 dj8zpr

 

step 2.查看官方支持的已有的扫地机型号

https://github.com/DeebotUniverse/client.py/tree/dev/deebot_client/hardware

官方集成支持2200个型号

total 2200
-rw-r--r--    1 root     root         11199 Jun 19 21:05 02qwum.py
-rw-r--r--    1 root     root          7927 Jun 19 21:05 0bdtzz.py
-rw-r--r--    1 root     root          5117 Jun 19 21:05 0jbd6s.py
-rw-r--r--    1 root     root         11240 Jun 19 21:05 0jv4ti.py
-rw-r--r--    1 root     root          4653 Jun 19 21:05 12baap.py
-rw-r--r--    1 root     root          8547 Jun 19 21:05 1b23du.py
...
-rw-r--r--    1 root     root          8547 Jun 19 21:05 1vxt52.py
-rw-r--r--    1 root     root          5117 Jun 19 21:05 2ap5uq.py
-rw-r--r--    1 root     root          5117 Jun 19 21:05 2i0fns.py
...

你的型号在上面的目录里并没有,所以不支持。

 

 

step 3.找一个型号最接近的现有定义,复制一份、改个名字

没有对应型号的配置文件,是不是就没办法了?并不是。

方法是找一个类似的扫地机型号接入进来,因为有些机器的功能是类似的,也就是说,它们的api接口是类似的。

接下来的工作,就是找一个和你的扫地机类似的型号。

例如:用的是T8 power ,class类型为no61kx,建立链接替换成0bdtzz可以使用

 

haos

装Advanced SSH & Web Terminal加载项,关闭保护模式,启动加载项

然后打开网页界面后输:

docker exec -it homeassistant /bin/bash

然后:

cd /usr/local/lib/python3.13/site-packages/deebot_client/hardware

然后

ln -svfT ucn2xe.py dj8zpr.py

or

cp 找到的同名或者相似的文件名.py 你看到的class值.py

 

然后重启ha

举例1:

# 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
# 通过重启让新的符号链接及代码修改生效。

 

举例2:

【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+,升级/回退零侵入

 

存在的问题

1.细节功能不适配——风量档位多了一档、水量本该是离散三档却被当连续滑块、自动集尘频率对不上、地图协议版本错位……表象是「某个实体不工作」,根因都是同一个:整机最像 ≠ 每个模块都最像。

举例:

1.科沃斯接入HA之后,只有返回基站和定位功能有用,启动按键没反应。

2.HA一升级就不能正常链接了

 

 

有些复杂,我还是等等有没有大佬把他救活

39216600,可以加我下,微信或者qq

 

 

 

Comments

Be the first to post a comment

Post a comment