Skip to content

shellcatt/tuya-smartlife-api-deno

Repository files navigation

Tuya Smart Life API + CLI

Unit Tests Releases

Usage requirements

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

Examples

# 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

TODO Direction

  • ❌ migrate to TypeScript
  • ❌ add JSDoc
  • ✅ port pipelines
  • ✅ port unit tests
  • ✅ port and optimize tuya-smartlife-api-node

Credits License

Inspired by TuyaPy (backend) and SmartLife (web) interfaces to Tuya's SmartAtHome for IoT smart device control.

See also

About

Deno interface for Tuya IoT devices through the Smart Life API

Topics

Resources

License

Stars

Watchers

Forks