An unofficial Node.JS client library for WattBox IP Power devices.
https://michaelahern.github.io/wattbox-api/
Note: This plugin implements the WattBox Integration Protocol used by the above series devices, which does not support WB-700 and WB-300 series devices...
$ npm install wattbox-api
import { WattBoxClient, WattBoxOutletAction } from 'wattbox-api';
async function main() {
const client = new WattBoxClient({
host: '[HOST]',
username: '[USERNAME]',
password: '[PASSWORD]'
});
client.on('outletStatus', (outlets) => {
console.log('Updated Outlet Status:', outlets);
// Updated Outlet Status: [ true, true, true, true, true, false ]
});
await client.connect();
await client.getModel()
.then(resp => console.log('Model:', resp));
// Model: WB-800-IPVM-6
await client.getOutletCount()
.then(resp => console.log('Outlet Count:', resp));
// Outlet Count: 6
await client.getOutletStatus()
.then(resp => console.log('Outlet Status:', resp));
// Outlet Status: [ true, true, true, true, true, true ]
await client.setOutletAction(6, WattBoxOutletAction.OFF);
}
main().catch(err => console.error(err));