-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpoe_mode.js
More file actions
40 lines (32 loc) · 1.05 KB
/
Copy pathpoe_mode.js
File metadata and controls
40 lines (32 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'use strict';
const accessDevice = require("node-unifi-settings").accessDevice;
var deps = { }
function setPoeMode(called, args) {
var unifi = deps.unifi;
var config = deps.config;
var devCalled = (args.mac !== undefined);
if (args._.length !== (devCalled ? 2 : 3)) {
if (devCalled) {
console.log (`usage: ${called} poe <switch port> <poe mode>`);
} else {
console.log (`usage: ${called} poe <switch mac> <switch port> <poe mode>`);
}
return;
}
var mac = devCalled ? args.mac : args._.splice(0, 1)[0];
var port = args._.splice(0, 1)[0];
var mode = args._.splice(0, 1)[0];
unifi.list_aps(mac, config.site)
.then(data => {
var ad = new accessDevice(data.data);
var portObj = ad.ports(port)
portObj.poe_mode = mode;
unifi.netsite('/rest/device/' + ad.id, ad.getChanges(), {}, 'PUT', config.site);
})
.catch(err => {throw err});
}
module.exports = {
login: true,
func: setPoeMode,
deps: deps
}