Wyze vacuum
Check and control a Wyze robot vacuum through the bundled vacuum CLI,
which wraps wyze-node. Reuses the
same cached login as the wyze skill (no password).
Unofficial:
wyze-nodeuses Wyze's developer API Key auth and reverse-engineered endpoints. Not affiliated with or endorsed by Wyze; Wyze may change their API at any time.
When to use
"Is the vacuum charged?", "start the vacuum", "pause the vacuum", "send the vacuum back to its dock".
Setup (once)
Shares the wyze skill's setup:
npm install --prefix "{baseDir}/scripts" wyze-nodeWYZE_EMAIL,WYZE_KEY_ID,WYZE_API_KEYinWYZE_ENV(default~/.openclaw/secrets/wyze.env) — keys from https://developer-api-console.wyze.com/#/apikey/view- Cache a login token once via the
wyzeskill'slogin(shared token).
Run
node "{baseDir}/scripts/vacuum" <command> [name]
Commands
status [name]— battery %, docked/charging vs cleaning vs idle, last clean duration, connection state. With no name, uses the only vacuum.start [name]— begin a cleaning sweep.pause [name]— pause the current sweep.dock [name]— return to the charging dock.
<name> is a case-insensitive substring of the vacuum's nickname; needed only
if you have more than one.
Safety
startsends a robot moving through the home. It's low-stakes, but on a clear request only — don't start a sweep on a vague aside.- Act on the user's named vacuum, not assumptions.
Configuration (env vars)
WYZE_NODE_DIR(default~/code/wyze-node) or an npm-installedwyze-nodeWYZE_ENV(default~/.openclaw/secrets/wyze.env)WYZE_TOKEN_DIR(default:WYZE_NODE_DIRif present, else~/.openclaw/wyze)
Notes
- Vacuums use Wyze's "venus" service (
product_typeJA_RO2). Status fields come from the device heartBeat (battery, charge_state, mode, clean_time). - License: MIT. Backed by the open-source
wyze-nodeclient.
