Coding

Wyze Sensors

Try it

Read Wyze sensor states — contact (door/window open/closed), motion (detected/clear), and temperature/humidity. Read-only. Unofficial Wyze API via wyze-node.

What it does

Read Wyze sensor states — contact (door/window open/closed), motion (detected/clear), and temperature/humidity. Read-only. Unofficial Wyze API via wyze-node.

The skill document

Wyze sensors

Read Wyze sensor states through the bundled sensors CLI, which wraps wyze-node. Reuses the same cached login as the wyze skill (no password). Read-only — sensors report state, they aren't controllable.

Unofficial: wyze-node uses 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 front door open?", "any motion in the driveway?", "what's the temperature in the office?", "are all the doors closed?"

Setup (once)

Shares the wyze skill's setup:

  1. npm install --prefix "{baseDir}/scripts" wyze-node
  2. WYZE_EMAIL, WYZE_KEY_ID, WYZE_API_KEY in WYZE_ENV (default ~/.openclaw/secrets/wyze.env) — keys from https://developer-api-console.wyze.com/#/apikey/view
  3. Cache a login token once via the wyze skill's login (shared token).

Run

node "{baseDir}/scripts/sensors" [list|status] [arg]

Commands

  • list [contact|motion|climate] — all sensors with current state, optionally filtered to one kind.
  • status — the sensor(s) whose nickname contains ``.

Reported states:

  • contactclosed / OPEN
  • motionclear / MOTION
  • climate (temperature/humidity) — e.g. 78.6°F, 75% humidity
  • a ⚠ low battery flag is appended when the sensor reports low battery.

Examples

  • "are the doors closed?" → list contact
  • "office temperature?" → status office
  • "what do all the sensors say?" → list

Configuration (env vars)

  • WYZE_NODE_DIR (default ~/code/wyze-node) or an npm-installed wyze-node
  • WYZE_ENV (default ~/.openclaw/secrets/wyze.env)
  • WYZE_TOKEN_DIR (default: WYZE_NODE_DIR if present, else ~/.openclaw/wyze)

Notes

  • Covers product_type ContactSensor, MotionSensor, and TemperatureHumidity. State is read from the device list's device_params (no per-sensor call). Values reflect the last report the sensor pushed to Wyze, not a live poll.
  • License: MIT. Backed by the open-source wyze-node client.

Related skills

Control Wyze smart-home devices — lights (on/off/dim/color/temp), plugs, and wall switches — from your assistant. Unofficial Wyze API via wyze-node.

4 installs

View and control Wyze cameras — snapshot/thumbnail image, siren, floodlight/spotlight, motion & notification toggles, power. Unofficial Wyze API via wyze-node.

4 installs

Check and control a Wyze smart lock — status (locked/unlocked + battery), lock, and unlock. Unofficial Wyze API via wyze-node.

4 installs

Check and control a Wyze robot vacuum — status (battery, docked/cleaning), start, pause, and send to dock. Unofficial Wyze API via wyze-node.

4 installs

Read body metrics from a Wyze smart scale — weight, BMI, body fat, water, muscle, BMR. Supports multiple household members. Unofficial Wyze API via wyze-node.

4 installs

Monitor and control an OpenSprinkler irrigation controller. Enables checking status, running manual stations/programs, toggling rain delays, viewing logs, and pausing the queue via AI-friendly JSON formatting and 1-based station indexing—with no dangerous system commands.