Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
299 changes: 210 additions & 89 deletions README.md

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions docs/README.footer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

## Development

Run `npm run docs` to 'rebuild' README file.

## Links

Protocol: http://networkupstools.org/docs/developer-guide.chunked/ar01s09.html
9 changes: 9 additions & 0 deletions docs/README.header.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Node-NUT

Node-NUT is a NodeJS module that implements a NUT (Network UPS Tools) client.

## Version compatibility information

v2 introduces new method names and Promises for certain functions. Please refer to the API below.

## API
12 changes: 6 additions & 6 deletions examples/basic.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
var Nut = require('../node-nut');
var Nut = require('../index');

nut = new Nut(3493, '10.30.21.11');

nut.on('error', err => {
console.log('There was an error: ' + err);
});

nut.on('close', () => {
nut.on('disconnect', () => {
console.log('Connection closed.');
});

nut.on('ready', () => {
nut.GetUPSList((upslist, err) => {
nut.on('connect', () => {
nut.getUpsList((upslist, err) => {
if (err) console.log('Error: ' + err)
console.log(upslist);

let upsname = Object.keys(upslist)[0];

nut.GetUPSVars(upsname, (vars, err) => {
nut.getUpsVars(upsname, (vars, err) => {
if (err) console.err('Error:', err);
console.log(vars);
});
});
});

nut.start();
nut.connect();
32 changes: 32 additions & 0 deletions examples/polling.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
var Nut = require('../index');

nut = new Nut(3493, '10.30.21.11');

nut.on('error', err => {
console.log('There was an error: ' + err);
});

nut.on('disconnect', () => {
console.log('Connection closed.');
});

const interval = 10;

async function pollOnce() {
if (!nut.connected) {
await nut.connect();
}

let upslist = await nut.getUpsList();
let upsname = Object.keys(upslist)[0];

let vars = await nut.getUpsVars(upsname);
console.log('Battery left: ' + vars['battery.charge'] + '%');

if (interval > 30) {
nut.disconnect();
}
}

setInterval(pollOnce, interval * 1000);
pollOnce();
10 changes: 5 additions & 5 deletions examples/promises.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
var Nut = require('../node-nut');
var Nut = require('../index');

nut = new Nut(3493, '10.30.21.11');

nut.on('error', err => {
console.log('There was an error: ' + err);
});

nut.on('close', () => {
nut.on('disconnect', () => {
console.log('Connection closed.');
});

nut.start().then(async () => {
let upslist = await nut.GetUPSList();
nut.connect().then(async () => {
let upslist = await nut.getUpsList();
let upsname = Object.keys(upslist)[0];

let vars = await nut.GetUPSVars(upsname);
let vars = await nut.getUpsVars(upsname);
console.log(vars);
});
Loading