smart-outlet

1.0.6 • Public • Published

smart-outlet

NPM Version js-semistandard-style

smart-outlet API

Example

const smartoutletApi = require('smart-outlet');
 
const client = new smartoutletApi.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.

Client

new Client(options)

Returns a Client object.

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.

options: { host [, port = 9999] [, timeout = 0] }

Plug

getInfo (promise)

Get all plug info. Same as calling all of getSysInfo, getCloudInfo, getConsumption, getScheduleNextAction.

getSysInfo (promise)

Get general plug info.

getCloudInfo (promise)

Get outlet Cloud information.

getConsumption (promise)

Get power consumption data for outlet plugs.

getPowerState (promise)

Returns true if plug is on.

setPowerState(value) (promise)

Turns the plug on or off.

getScheduleNextAction (promise)

getScheduleRules (promise)

getAwayRules (promise)

getTimerRules (promise)

getTime (promise)

getTimeZone (promise)

getScanInfo([refresh = false] [, timeout = 17]) (promise)

Get list of networks.

getModel (promise)

Credits

Some design cues for Client were based on https://github.com/MariusRumpf/node-lifx/

Package Sidebar

Install

npm i smart-outlet

Weekly Downloads

2

Version

1.0.6

License

MIT

Last publish

Collaborators

  • bywander