plasticrake / Tplink Smarthome Api
Licence: mit
TP-Link Smarthome WiFi API
Stars: ✭ 790
Programming Languages
typescript
32286 projects
Labels
Projects that are alternatives of or similar to Tplink Smarthome Api
Awesome Smarthome
Curated list of awesome SmartHome/Home Automation things (open and leaving users in control)
Stars: ✭ 274 (-65.32%)
Mutual labels: smarthome
Mqtt Smarthome
Smart home automation with MQTT as the central message bus - Architectural proposal
Stars: ✭ 356 (-54.94%)
Mutual labels: smarthome
Homebridge Raspbian Image
Official Homebridge Raspberry Pi Image based on Raspbian Lite.
Stars: ✭ 534 (-32.41%)
Mutual labels: smarthome
Home Assistantconfig
🏠 Home Assistant configuration & Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to ⭐ it. Updated FREQUENTLY!
Stars: ✭ 3,687 (+366.71%)
Mutual labels: smarthome
Homepoint
Espressif ESP32 Based Smarthome screen for MQTT
Stars: ✭ 391 (-50.51%)
Mutual labels: smarthome
Tuya Convert
A collection of scripts to flash Tuya IoT devices to alternative firmwares
Stars: ✭ 3,338 (+322.53%)
Mutual labels: smarthome
Alexa Smarthome
Resources for Alexa Smart Home developers.
Stars: ✭ 496 (-37.22%)
Mutual labels: smarthome
Waterius
Передача показаний воды по Wi-Fi. Watermeter Wi-Fi transmitter.
Stars: ✭ 295 (-62.66%)
Mutual labels: smarthome
Hoobs
Build your Smart Home with HOOBS. Connect over 2,000 Accessories to your favorite Ecosystem.
Stars: ✭ 325 (-58.86%)
Mutual labels: smarthome
Redmatic
Node-RED packaged as Addon for the Homematic CCU3 and RaspberryMatic 🤹♂️
Stars: ✭ 407 (-48.48%)
Mutual labels: smarthome
Awesome Home Assistant
A curated list of amazingly awesome Home Assistant resources.
Stars: ✭ 3,487 (+341.39%)
Mutual labels: smarthome
Pimatic
A home automation server and framework for the raspberry pi running on node.js
Stars: ✭ 581 (-26.46%)
Mutual labels: smarthome
Home assistant
My personal Home Assistant setup - Running on a HassOS VM.
Stars: ✭ 270 (-65.82%)
Mutual labels: smarthome
Zigbee2mqttassistant
GUI for Zigbee2Mqtt running in docker and HASS.IO
Stars: ✭ 371 (-53.04%)
Mutual labels: smarthome
Smartir
Integration for Home Assistant to control climate, TV and fan devices via IR/RF controllers (Broadlink, Xiaomi, MQTT, LOOKin, ESPHome)
Stars: ✭ 677 (-14.3%)
Mutual labels: smarthome
Assistant Relay
A Node.js server that allows for sending commands to Google Home/Assistant from endpoints
Stars: ✭ 638 (-19.24%)
Mutual labels: smarthome
tplink-smarthome-api
TP-Link Smarthome API
Known Supported Devices
Model | Type |
---|---|
HS100, HS103, HS105, HS107, HS110, HS200, HS210, HS220, HS300, KP303, KP400 ...etc. |
Plug |
LB100, LB110, LB120, LB130, LB200, LB230, KL120 ...etc. |
Bulb |
Most other TP-Link Plug and Bulb models may work as well.
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
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
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].