Install
openclaw skills install wyze-lockCheck and control a Wyze smart lock — status (locked/unlocked + battery), lock, and unlock. Unofficial Wyze API via wyze-node.
openclaw skills install wyze-lockCheck and control Wyze smart locks through the bundled lock 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.
"Is the front door locked?", "lock the door", "unlock the front door", "what's the lock battery?"
Shares the wyze skill's setup:
npm install --prefix "{baseDir}/scripts" wyze-nodeWYZE_EMAIL, WYZE_KEY_ID, WYZE_API_KEY in WYZE_ENV
(default ~/.openclaw/secrets/wyze.env) — keys from
https://developer-api-console.wyze.com/#/apikey/viewwyze skill's login (shared token).node "{baseDir}/scripts/lock" <command> [name]
status [name] — lock state (locked/unlocked), battery %, online. With no
name, shows every lock.lock <name> — lock the door.unlock <name> — unlock the door. ⚠️ See safety.<name> is a case-insensitive substring of the lock's nickname and must match
exactly one lock.
unlock opens a physical door. Always confirm with the user before
unlocking — restate which lock — and never unlock on a vague or ambiguous
request. There is no "unlock all"; act only on a single named lock.lock and status are low-risk and can run directly on a clear request.WYZE_NODE_DIR (default ~/code/wyze-node) or an npm-installed wyze-nodeWYZE_ENV (default ~/.openclaw/secrets/wyze.env)WYZE_TOKEN_DIR (default: WYZE_NODE_DIR if present, else ~/.openclaw/wyze)product_type Lock, addressed by their internal uuid (handled for
you). State comes from locker_status.hardlock (1 = locked, 2 = unlocked).wyze-node client.