TPLink HS100/HS110 WiFi Smart Plug API
npm install react-native-tplinkTPLink HS100/HS110 WiFi Smart Plug API
javascript
const Hs100Api = require('hs100-api');const client = new Hs100Api.Client();
const plug = client.getPlug({host: '10.0.1.2'});
plug.getInfo().then(console.log);
plug.setPowerState(true);
// Look for plugs, log to console, and turn them on
client.startDiscovery().on('plug-new', (plug) => {
plug.getInfo().then(console.log);
plug.setPowerState(true);
});
`API
The API is currently not stable and there may be breaking changes.$3
#### new Client(options)
Returns a Client object.
`javascript
options: {
[address]
[, port]
[, broadcast = '255.255.255.255']
[, discoveryInterval = 30000]
[, offlineTolerance = 3]
[, debug = false]
}
`#### startDiscovery([plugs])
Sends a discovery packet to the broadcast address every
discoveryInterval. An array of addresses can be specified to query directly. Emits plug-new when a response from a new plug is received and plug-online for known plugs. If a known plug has not been heard from after offlineTolerance number of discovery attempts then emits plug-offline.#### stopDiscovery
Stops discovery process.
#### getPlug(options)
Returns a Plug object.
`javascript
options: { host [, port = 9999] [, timeout = 0] }
``Some design cues for Client were based on https://github.com/MariusRumpf/node-lifx/