No description
|
Some checks failed
CI / lint (push) Failing after 23s
mrbungle64/ecovacs-deebot.js getPortalUrlFormat() routes all portal calls
(users/user.do, appsvr/app.do, etc.) to portal-{continent}.ecouser.net,
NOT api-app.dc-{continent}.ww.ecouser.net. The "ww" host only serves the
modern loginByItToken endpoint.
The response body for GetDeviceList is also top-level:
{"result": "ok", "devices": [{did, deviceClass, ...}, ...]}
NOT {"result": "ok", "data": [...]}. Fixed the parser to read
data["devices"] per the ecovacs-deebot.js getDevices() reference.
Live probe of step 1-3 already confirmed the auth path is sound; this
fix should make the device list call return the bound bot. Tests
updated to assert the new host, the new endpoint, and the new
response shape.
|
||
|---|---|---|
| .forgejo/workflows | ||
| custom_components/yeedi | ||
| project_state | ||
| tests | ||
| .gitignore | ||
| .gitleaks.toml | ||
| .pre-commit-config.yaml | ||
| AGENTS.md | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Yeedi Home Assistant Integration (MVP)
This repository contains a Home Assistant custom integration for Yeedi robot vacuums.
It is currently MVP-focused and expects Yeedi cloud API details from the Home Assistant
forum Node-RED flow to be applied in custom_components/yeedi/api.py.
Quick Start
- Copy
custom_components/yeediinto your Home Assistant config directory. - Restart Home Assistant.
- Add the integration via UI: Settings -> Devices & Services -> Add Integration -> Yeedi.
- Provide credentials and any region/base URL required by your Yeedi account.
Development Notes
- API endpoints and request/response parsing live in
custom_components/yeedi/api.py. UpdateENDPOINTSand parsing logic using the Node-RED flow details. - Tokens are stored in the config entry and refreshed when possible.
- Polling uses
DataUpdateCoordinatorwith a default interval of 60 seconds.
Testing
- No automated tests are included yet. When added, use
pytestfrom the repo root.
Troubleshooting
- If setup fails, check logs for
YeediApiErrormessages. Ensure endpoints and auth fields match the Node-RED flow.