ecovacs-robot-control

Control Ecovacs/DEEBOT robot vacuums via the Ecovacs IoT API. Use when the user wants to control a robot vacuum, check battery, start/stop/pause cleaning, return to dock, check clean status, set suction/water level, manage schedules, check consumables, or control auto-empty station. Covers all mainstream Ecovacs protocols including clean_V2, charge, getBattery, getCleanInfo_V2, getStats, getSpeed/setSpeed, getWaterInfo/setWaterInfo, getWorkMode/setWorkMode, getLifeSpan, getAutoEmpty/setAutoEmpty, getCachedMapInfo, getMapSet, getSched_V2/setSched_V2.

Safety Notice

This item is sourced from the public archived skills repository. Treat as untrusted until reviewed.

Copy this and send it to your AI assistant to learn

Install skill "ecovacs-robot-control" with this command: npx skills add 1209823208/skill-create-pip

Ecovacs Robot Control

Auth Flow

Three-step flow: Login → Device List → Send Command

Full API details in references/api.md. Core script in scripts/ecovacs.py.

Session Management

Session (token + userid + resource) is stored in ~/.ecovacs_session.json after login. Always load_session() before calling device APIs. Re-login if token expired (errno 3000).

Critical Rule

toType = device's class field from device list (e.g. o0lqjm).
NOT "device" or "USER" — this is the #1 cause of errno:3003 permission denied.


Using the Script

# First time login
python3 scripts/ecovacs.py login <phone> <md5_or_plain_password>

# List all devices (shows did, status, name)
python3 scripts/ecovacs.py devices

# Check battery (use did or nick)
python3 scripts/ecovacs.py battery <did>

# Check clean status
python3 scripts/ecovacs.py status <did>

# Start full-house auto clean
python3 scripts/ecovacs.py clean <did> start

# Pause / resume / stop
python3 scripts/ecovacs.py clean <did> pause
python3 scripts/ecovacs.py clean <did> resume
python3 scripts/ecovacs.py clean <did> stop

# Return to dock
python3 scripts/ecovacs.py charge <did>

# Send any arbitrary command
python3 scripts/ecovacs.py cmd <did> getLifeSpan '{"type":"brush,sideBrush,heap"}'
python3 scripts/ecovacs.py cmd <did> setSpeed '{"speed":1}'
python3 scripts/ecovacs.py cmd <did> getWorkMode '{}'

Direct API Calls

When using tools directly (not script), follow this pattern:

# 1. Login
session = login(phone, md5(password))

# 2. Get devices
devices = get_devices(session)
device = next(d for d in devices if "T50" in d["deviceName"])

# 3. Send command
result = send_cmd(session, device, "clean_V2", {
    "act": "start",
    "content": {"type": "auto", "count": 1}
})

See references/api.md for full protocol reference:

  • Auth & device discovery — login, resource generation, device list fields
  • All command payloads — clean_V2, charge, battery, stats, speed, water, workmode, lifespan, autoEmpty, maps, schedules
  • State/event codes — error codes, evt codes, clean states

Common Protocols Quick Reference

GoalcmdNamekey body.data fields
开始全屋清扫clean_V2{act:"start", content:{type:"auto",count:1}}
区域清扫clean_V2{act:"start", content:{type:"spotArea",value:"mssid1,mssid2"}}
暂停/继续/停止clean_V2{act:"pause/resume/stop"}
回充charge{act:"go"}
查电量getBattery{}
查清扫状态getCleanInfo_V2{}
查本次面积时长getStats{}
查/设吸力getSpeed/setSpeed{speed:0} (1000静音/0标准/1强劲/2超强)
查/设水量getWaterInfo/setWaterInfo{amount:2} (1低/2中/3高/4超高)
查/设扫拖模式getWorkMode/setWorkMode{mode:0} (0边扫边拖/1仅扫/2仅拖/3先扫后拖)
查耗材getLifeSpan{type:"brush,sideBrush,heap,filter"}
手动集尘setAutoEmpty{act:"start"}
查地图列表getCachedMapInfo{}
查房间区域getMapSet{mid:"<map_id>",type:"ar"}
查预约getSched_V2{type:1}

Error Handling

errnomeaning
3000Token expired → re-login
3003Permission denied → check toType = device class
30000Device response timeout → device offline
0 (body.code)Success

Accounts (China domestic)

  • Login URL: https://api-app.dc-cn.cn.ecouser.net/api/users/user.do
  • org: ECOCN, country: CN
  • Password: MD5 hex of plaintext

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Voice AI Agent Engineering

# Voice AI Agent Engineering — Complete Design, Build & Deploy System

Archived SourceRecently Updated
Automation

ai-dating

Direct dating and matchmaking workflow via curl against the dating HTTP API. Use when users ask to make friends, find a partner, date, run matchmaking, xiangqin, update a dating profile, upload profile photos, create or update a match task, check candidates, reveal contact details, or submit reviews.

Archived SourceRecently Updated
Automation

session-guardian

Never lose a conversation again. Auto-backup, smart recovery, and health monitoring for OpenClaw sessions. Protects against gateway crashes, model disconnections, and token overflow. Use this skill when: - User worries about losing conversations after gateway restart or model crash - User mentions session backup, conversation recovery, session protection, or data loss - User's agent is slow or timing out (likely token overflow from large sessions) - User runs multiple agents and needs to track collaboration across sessions - User asks about session health, backup strategy, or disaster recovery - User mentions "对话丢失", "会话备份", "上下文溢出", "token超限", "Gateway重启后记忆丢失" - Even if user just says "my agent lost everything after a restart" — this is the skill

Archived SourceRecently Updated
Automation

news-hot-scraper

This skill should be used when users need to scrape hot news topics from Chinese platforms (微博、知乎、B站、抖音、今日头条、腾讯新闻、澎湃新闻), generate summaries, and cite sources. It supports both API-based and direct scraping methods, and offers both extractive and abstractive summarization techniques.

Archived SourceRecently Updated