@caseman72/wyzer-api
v1.1.2
Published
Simple Wyze API client for smart plugs, switches, and thermostats
Maintainers
Readme
wyzer-api
Wyze API client for Node.js. Control plugs, switches, and thermostats.
Setup
- Copy
.env.local.exampleto.env.local - Fill in your Wyze email
- Get API credentials from https://developer-api-console.wyze.com/
- Run the password script to hash your password:
./set-password.shThis prompts for your Wyze password and stores a triple MD5 hash in .env.local. Your plain text password is never stored.
Usage
import Wyzer from "wyzer-api";
const wyze = new Wyzer();
await wyze.login();
// List devices
const devices = await wyze.getDevices();
// Control plug
await wyze.plugOn(deviceMac, deviceModel);
await wyze.plugOff(deviceMac, deviceModel);
// Control switch
await wyze.switchOn(deviceMac, deviceModel);
await wyze.switchOff(deviceMac, deviceModel);
// Thermostat
const data = await wyze.getThermostat(deviceMac);
await wyze.setHeatTemp(deviceMac, 68, deviceModel);
await wyze.setCoolTemp(deviceMac, 72, deviceModel);
await wyze.setThermostatMode(deviceMac, "auto", deviceModel);
await wyze.setFanMode(deviceMac, "auto", deviceModel);Features
- Auto token refresh: Access tokens are automatically refreshed when expired. Long-running processes don't need to re-login manually.
- Device caching: Device list is cached for 24 hours. Cache auto-clears when expired.
- Quiet mode: Pass
{ quiet: true }to suppress log messages. - Verify & retry: Plug/switch commands verify state and retry up to 3 times by default.
Environment Variables
[email protected]
WYZE_PASSWORD_HASH=your-triple-md5-hashed-password
WYZE_KEY_ID=your-key-id
WYZE_API_KEY=your-api-key
WYZE_API_KEY_EXPIRES=YYYY-MM-DD
WYZE_AUTH_API_KEY=WMXHYf79Nr5gIlt3r0r7p9Tcw5bvs6BB4U8O8nGJLicense
ISC
