← Back to Skills Marketplace
ecovacs-ai

ecovacs-skills-deebot-control

by ecovacs · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
48
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install ecovacs-skills-deebot-control
Description
Control Ecovacs Deebot vacuums via the IoT API and a gateway. Users must obtain and provide an AK from the Open Platform; scripts/ecovacs.py and gateway /rob...
README (SKILL.md)

Ecovacs Deebot control

What you need

Input Notes
AK (Access Key) Create or view it in the Ecovacs Open Platform “Service overview” (China: https://open.ecovacs.cn/, Global: https://open.ecovacs.com/), then copy it into env vars, a config file, or chat yourself. Pick the portal region that matches your account. Do not hand account passwords to automation; this skill does not log in on your behalf.
Gateway base URL (optional) Defaults to the same host as the Open Platform (China https://open.ecovacs.cn, Global https://open.ecovacs.com). Override with ECOVACS_PORTAL_URL for a self-hosted or local gateway (e.g. mcp_portal_services).
Device nickname fragment Used to pick one robot. Take a substring of nick or name from the device list (fuzzy match).

If the AK is invalid (e.g. errno 3000), refresh it on the Open Platform—do not try to replace user login with other APIs.


Three steps

  1. Configure AK → 2. Device list → 3. Send commands

1. Configure AK (pick one)

export ECOVACS_AK="YOUR_AK"
# or: python3 scripts/ecovacs.py set-ak \x3Cak>
# writes ~/.ecovacs_session.json with {"ak":"..."} only

2. Device list

python3 scripts/ecovacs.py devices

Note the nick / name fragment you will use as \x3Cnick> below.

3. Common CLI operations

Let SCRIPT=scripts/ecovacs.py.

Queries

  • Battery: python3 "$SCRIPT" battery \x3Cnick>
  • Work state (clean / charge / station): python3 "$SCRIPT" status \x3Cnick>

Cleaning

  • Whole-home auto clean: python3 "$SCRIPT" clean \x3Cnick> start
  • Pause / resume / stop: python3 "$SCRIPT" clean \x3Cnick> pause or resume / stop

Charging

  • Go charge / stop go-charge: python3 "$SCRIPT" charge \x3Cnick> go or stop

HTTP gateway (no Python)

BASE_URL is the same as ECOVACS_PORTAL_URL (defaults to the regional Open Platform host).

Device list

curl -sS "${BASE_URL}/robot/skill/deviceList?ak=YOUR_AK"

Control: POST /robot/skill/ctl with JSON ak, optional nickName (fuzzy match on list), and ctl.cmd / ctl.data.

curl -sS -X POST "${BASE_URL}/robot/skill/ctl" -H 'Content-Type: application/json' \
  -d "{\"ak\":\"${AK}\",\"nickName\":\"nick-fragment\",\"ctl\":{\"cmd\":\"Charge\",\"data\":{\"act\":\"go\"}}}"

CloudCtl expects Charge, Clean, etc. with official casing—not lowercase charge.

More JSON examples (e.g. zone clean) are in references/api.md.


Errors and enums (troubleshooting)

Responses are usually two layers: outer msg / code; inner cloudctl payload under nested ctl.data with ret (ok/fail), errno, optional error.

Situation Meaning / next step
Appendix F 5009 Command or parameter combo not supported on this model (casing, firmware); verify model, try GetWorkState / GetBatteryInfo naming
Appendix F 10004 Offline / timeout / powered off / re-provisioned
Appendix F 10000 Low battery, cannot run
Appendix F 10005 Host fault (lifted, dustbin missing, …)
Clean 10006 / Charge 10006 Internal host fault (appendix C/D)
Appendix F 4000 Malformed JSON
Appendix F 4504 Token check failed—verify AK
ret=fail Read errno and error together

Water level: In sweep-only mode (no mopping / tank inactive), SetWaterInfo often fails (ret=fail); switch to a mopping-capable mode first.

Clean enums: act = s/p/r/h; workMode 0–3; zone clean uses type=spotarea + aid from GetAreaList mssid. Charge: go / stopGo.

Full tables: see “CloudCtl errors and enums” at the end of references/api.md.


How to read the docs

File Audience Contents
This SKILL.md End users Inputs, three steps, CLI, HTTP
references/api.md Integrators Paths, bodies, enums, curl
references/agent-internal.md Internal Smart clean, rooms, polling, GetWorkState heuristics

Prefer this page for user-facing guidance; use references/agent-internal.md only when you need implementation-level troubleshooting.

Usage Guidance
Install/use this skill only if you intend the assistant to control your Ecovacs robot vacuum. Keep the AK private, use the correct official regional portal or a trusted local gateway, choose unambiguous robot names, and ask for confirmation before actions like starting cleaning, docking, changing schedules, or enabling background notifications.
Capability Tags
cryptocan-make-purchases
Capability Assessment
Purpose & Capability
Purpose and capability are coherent: SKILL.md describes vacuum discovery, battery/status, cleaning, and charging, including mutating actions such as “Whole-home auto clean” and “Go charge / stop go-charge.” These actions affect a physical device, so they should be treated as user-directed control actions.
Instruction Scope
The skill uses nickname fragments for device selection: SKILL.md says “Device nickname fragment” is used for “fuzzy match,” while README.md tells users to use a phrase that points at “one” robot. This is disclosed, but users should use unambiguous names before issuing start/stop commands.
Install Mechanism
There is no install spec or external dependency installation, and the included Python script uses standard-library HTTP/JSON/file handling rather than hidden packages or remote installer code.
Credentials
The requested AK and gateway access are proportionate to the stated IoT-control purpose, but SKILL.md says the AK may be put in “env vars, a config file, or chat yourself,” and scripts/ecovacs.py sends it to the configured portal/gateway. Treat the AK like a credential.
Persistence & Privilege
Persistence is disclosed and scoped but present: scripts/ecovacs.py stores the AK in “~/.ecovacs_session.json,” and references/agent-internal.md discusses scheduled polling that should “delete the scheduled job” after completion.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ecovacs-skills-deebot-control
  3. After installation, invoke the skill by name or use /ecovacs-skills-deebot-control
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of ecovacs-deebot-control: - Control Ecovacs Deebot vacuums via the official IoT API and compatible gateway. - Requires user-provided Access Key (AK) from the Ecovacs Open Platform. - Supports device list, nickname-based vacuum selection, battery/status queries, cleaning, and charging commands. - Works via both command-line script and HTTP gateway endpoints. - Includes troubleshooting notes for common errors and device-side issues.
Metadata
Slug ecovacs-skills-deebot-control
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is ecovacs-skills-deebot-control?

Control Ecovacs Deebot vacuums via the IoT API and a gateway. Users must obtain and provide an AK from the Open Platform; scripts/ecovacs.py and gateway /rob... It is an AI Agent Skill for Claude Code / OpenClaw, with 48 downloads so far.

How do I install ecovacs-skills-deebot-control?

Run "/install ecovacs-skills-deebot-control" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is ecovacs-skills-deebot-control free?

Yes, ecovacs-skills-deebot-control is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does ecovacs-skills-deebot-control support?

ecovacs-skills-deebot-control is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created ecovacs-skills-deebot-control?

It is built and maintained by ecovacs (@ecovacs-ai); the current version is v1.0.0.

💬 Comments