Module
- install package locally
deno install jsr:@shellcatt/tuya-smartlife-api
- import ESM
import { TuyaSmartLifeClient } from "tuya-smartlife-api";
const client = new TuyaSmartLifeClient();
try {
await client.init('jondoe@example.co.uk', 'password', 'eu');
await client.discoverDevices();
const tDevices = client.getAllDevices();
console.log(tDevices);
const myFirstBulb = await client.getDevicesByType('light')[0];
await myFirstBulb.turnOn();
} catch (e) {
console.error('Failed because', e);
}
Standalone
- install package globally
deno install -g -n tuyacli jsr:@shellcat/tuya-smartlife-api
- verify installation
tuyacli
Usage: tuyacli [options] [command]
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
auth login with SmartLife
test live test a selected device's functions set
list [options] list devices and their state / attributes
control [options] <name-or-id> control a device's state
help output usage information
# List all devices
node cli list [--format={short|long}]
# Turn device ID on / off
node cli control <ID|Name> --state [1|on]
node cli control <ID|Name> --state [0|off]
node cli control <ID|Name> --toggle
# Set light brightness, color temp & color
node cli control <ID|Name> --brigntness 30
node cli control <ID|Name> --temperature 3500 # set warm temp
node cli control <ID|Name> --hsv 78.34,1,100 # HSV chill green
node cli control <ID|Name> --hsv 324.77,1,42 # HSV chill purple
node cli control <ID|Name> --rgb 90,30,115 # RGB something
- ❌ migrate to TypeScript
- ❌ add JSDoc
- ✅ port pipelines
- ✅ port unit tests
- ✅ port and optimize tuya-smartlife-api-node
Inspired by TuyaPy (backend) and SmartLife (web) interfaces to Tuya's SmartAtHome for IoT smart device control.