Coding

Wyze Scale

Try it

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.

What it does

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.

The skill document

Wyze scale (body metrics)

Read body-composition data from a Wyze smart scale via the bundled scale CLI, which wraps wyze-node. Reuses the same cached login as the wyze skill (no password).

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

Questions about weight or body composition: "what's my weight", "what's my BMI / body fat", "am I down since last time", weigh-in history/trend. A single scale can hold several people — scope a reading to a specific member by name.

Setup (once)

This skill shares the wyze skill's setup. If you haven't already:

  1. Install the dependency: npm install --prefix "{baseDir}/scripts" wyze-node (or have wyze-node installed globally, or set WYZE_NODE_DIR to a clone).
  2. Put 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 in a terminal once, using the wyze skill's login command (the token is shared between both skills).

Run

node "{baseDir}/scripts/scale" [latest|history|users] [args]
  • latest [user] (default) — most recent weigh-in: weight (kg + lb), BMI, body fat, body water, muscle, BMR, metabolic age, date, and change vs the prior reading. Pass a member name or id to scope it.
  • history [n] [user] — last n weigh-ins (default 7) with weight + date, optionally for one member.
  • users — list members the scale knows about (or the raw user ids seen in records if no named members are configured).

`` is a case-insensitive substring of a member's nickname, or a raw member id. Omit it to use the most recent weigh-in regardless of member.

Configuration (shared with the wyze skill)

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

Privacy

Body metrics are sensitive personal data. Share a reading only with its owner in a private/direct session — never surface anyone's weight or body composition in group chats or shared surfaces.

Notes

  • The scale device is product_type WyzeScale. Weight is stored in kg; the CLI also prints pounds.
  • Backed by wyze-node. If calls fail with auth errors, re-run the wyze skill's login to refresh the cached token.
  • 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

Read Wyze sensor states — contact (door/window open/closed), motion (detected/clear), and temperature/humidity. Read-only. 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 robot vacuum — status (battery, docked/cleaning), start, pause, and send to dock. 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

Smart water intake tracking based on body weight, weather, and activity level. Calculates personalized hydration targets, adjusts for caffeine and alcohol consumption, tracks streaks with gamification, generates hourly drinking schedule, and provides hydration education with urine color chart reference.