This is an unofficial Wyze API. This library uses the internal APIs from the Wyze mobile app. A list of all Wyze devices can be retrieved to check the status of Cameras, Senors, Bulbs, Plugs, Locks and more. This API can turn on and off cameras, lightbulbs and plugs and more.
npm install wyze-api --save
const Wyze = require('wyze-api')
const Logger = require("@ptkdev/logger")
const logger = new Logger()
const options = {
username: process.env.username,
password: process.env.password,
keyId: process.env.keyId,
apiKey: process.env.apiKey,
persistPath: "./",
logLevel: "none"
}
const wyze = new Wyze(options, logger)
; (async () => {
let device, state, result
// Get all Wyze devices
const devices = await wyze.getDeviceList()
console.log(devices)
// Get a Wyze Bulb by name and turn it off.
device = await wyze.getDeviceByName('Porch Light')
result = await wyze.turnOff(device)
console.log(result)
// Get the state of a Wyze Sense contact sensor
device = await wyze.getDeviceByName('Front Door')
state = await wyze.getDeviceState(device)
console.log(`${device.nickname} is ${state}`)
})()
[email protected] password=123456 keyId=2222222 apiKey=222222 node index.js
Use this helper methods to interact with wyze-api.
- wyze.getDeviceList()
- wyze.getDeviceByName(nickname)
- wyze.getDeviceByMac(mac)
- wyze.getDevicesByType(type)
- wyze.getDevicesByModel(model)
- wyze.getDeviceGroupsList()
- wyze.getDeviceSortList()
- wyze.turnOn(device)
- wyze.turnOff(device)
- wyze.lock(device)
- wyze.unlock(device)
- wyze.getDeviceStatus(device)
- wyze.getDeviceState(device)
- wyze.login()
- wyze.getRefreshToken()
- wyze.getObjectList()
- wyze.runAction(instanceId, providerKey, actionKey)
- wyze.getDeviceInfo(deviceMac, deviceModel)
- wyze.getPropertyList(deviceMac, deviceModel)
- wyze.setProperty(deviceMac, deviceModel, propertyId, propertyValue)
- wyze.controllock(deviceMac, deviceModel, action)
- wyze.getLockInfo(deviceMac, deviceModel)
- wyze.getIotProp(deviceMac, keys)
- wyze.setIotProp(deviceMac, product_model, propKey, value)
- wyze.getUserProfile()
- wyze.disableRemeAlarm(hms_id)
- wyze.getPlanBindingListByUser()
- wyze.monitoringProfileStateStatus(hms_id)
- wyze.monitoringProfileActive(hms_id, home, away)
- wyze.getPlanBindingListByUser()
- wyze.thermostatGetIotProp(deviceMac, keys)
Special thanks to the following projects for reference and inspiration:
- ha-wyzeapi, a Wyze integration for Home Assistant.
- wyze-node, a Node library for the Wyze API.