Complexity Score
Medium
Open Issues
14
Dependent Projects
19
Weekly Downloadsglobal
426
Downloads
Readme
tplink-smarthome-api
TP-Link Smarthome API
Changelog
Known Supported Devices
Model Type HS100, HS103, HS105, HS107, HS110,HS200, HS210, HS220, HS300, KP303, KP400
ES20M, EP40, …etc. Plug LB100, LB110, LB120, LB130, LB200, LB230, KL50, KL120, KL125
…etc. Bulb KL430
…etc. Bulb (light strip)
Many other TP-Link Plug and Bulb models may work as well. Note that Tapo devices are not supported.
Related Projects
- TP-Link Smarthome Device Simulator - Useful for automated testing
- TP-Link Smarthome Crypto
- TP-Link Smarthome Homebridge Plugin
Examples
See more examples.
const { Client } = require('tplink-smarthome-api');
const client = new Client();
const plug = client.getDevice({ host: '10.0.1.2' }).then((device) => {
device.getSysInfo().then(console.log);
device.setPowerState(true);
});
// Look for devices, log to console, and turn them on
client.startDiscovery().on('device-new', (device) => {
device.getSysInfo().then(console.log);
device.setPowerState(true);
});
CLI
Install the command line utility with npm install -g tplink-smarthome-api
. Run tplink-smarthome-api --help
for help.
API
API docs can be found here.
For functions that send commands, the last argument is SendOptions
where you can set the transport
(‘tcp’,’udp’) and timeout
, etc.
Functions that take more than 3 arguments are passed a single options object as the first argument (and if its a network command, SendOptions as the second.)
Credits
Thanks to George Georgovassilis and Thomas Baust for figuring out the HS1XX encryption.
Some design cues for Client based on node-lifx
Dependencies
Loading dependencies...
CVE IssuesActive
0
Scorecards Score
4.40
Test Coverage
84.00%
Follows Semver
Yes
Github Stars
1,019
Dependenciestotal
56
DependenciesOutdated
24
DependenciesDeprecated
2
Threat Modelling
No
Repo Audits
No
Learn how to distribute tplink-smarthome-api in your own private NPM registry
$npm config set registry
https://npm.cloudsmith.com/owner/repo
/Processing...
✓Done
$npm install tplink-smarthome-api
/Processing...
✓Done
23 Releases
NPM on Cloudsmith