- Notifications
You must be signed in to change notification settings - Fork3
ubnt-unifi is a Node.js module that allows you to listen to events from and call methods on the UniFi API 📡
License
hobbyquaker/ubnt-unifi
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
ubnt-unifi is a Node.js module that allows you to listen for events from and call methods on the UniFi API (UniFi isUbiquiti Networks wifi controller software).
This is a fork ofunifi-events, heavily modified to suite my needs.
- Node.js v6 or later
- UniFi-Controller v5
$ npm install ubnt-unifi
constUnifi=require('ubnt-unifi')constunifi=newUnifi({host:'unifi',// The hostname or ip address of the unifi controller (default: 'unifi')port:8443,// Port of the unifi controller (default: 8443)username:'admin',// Username (default: 'admin').password:'ubnt',// Password (default: 'ubnt').site:'default',// The UniFi site to connect to (default: 'default').insecure:true// Allow connections if SSL certificate check fails (default: false).});// Listen for any eventunifi.on('**',function(data){console.log(this.event,data);});
ubnt-unifi usesEventEmitter2 and namespaced events.
These events indicate the status of the connection to the UniFi controller
ctrl.connect
- emitted when the connection to the controller is establishedctrl.disconnect
- emitted when the connection to the controller is lostctrl.error
-ctrl.reconnect
-
This JSON file shows all possible events:https://demo.ubnt.com/manage/locales/en/eventStrings.json?v=5.4.11.2The prefixEVT_
gets stripped, the first underscore is replaced by the namespace separating dot, everything isconverted to lower case. Some events such asEVT_AD_LOGIN
(Admin Login) are not emitted by the UniFi Controller.
wu.connected
- Wireless User connectedwu.disconnected
- Wireless User disconnectedwu.roam
- Wireless User roamed from one AP to anotherwu.roam_radio
- Wireless User changed channel on the same AP
wg.connected
- Wireless Guest connectedwg.disconnected
- Wireless Guest disconnectedwg.roam
- Wireless Guest roamed from one AP to anotherwg.roam_radio
- Wireless Guest changed channel on the same APwg.authorization_ended
- Wireless Guest became unauthorised
Example listing for events on Guest Wireless networks only:
unifi.on('wg.*',function(data){console.log(this.event,data);})
Example listening for connected events on all network types:
unifi.on('*.connected',function(data){console.log(this.event,data);});
Connect to the UniFi controller. Is called in the constructor, so normally you don't need to call it (except if you wantto re-establish a connection that was closed before).
Closes the connection to the UniFi controller
Following methods operate on the configured site. The path gets prefixed withhttps://<host>:<port>/api/s/<site>/
if it does not start with a slash, otherwise it gets prefixed withhttps://<host>:<port>
. To explore available API endpoints you can use theUniFi-API-browser.
These methods are returning a promise.
Do a HTTP GET on the API.
Examples:
- Get a list of all clients
unifi.get('stat/sta').then(console.log);
- Get infos of a specific client
unifi.get('stat/user/<mac>').then(console.log);
- Get alarms
unifi.get('list/alarm').then(console.log);
- Get wireless network IDs
unifi.get('rest/wlanconf').then(res=>{res.data.forEach(wlan=>{console.log(wlan.name,wlan._id);});});
- Get device IDs
unifi.get('stat/device').then(res=>{res.data.forEach(dev=>{console.log(dev.name,dev._id);});});
Do a HTTP DELETE on the API.
Do a HTTP POST on the API.
Examples:
- Enable all LEDs of all APs
unifi.post('set/setting/mgmt',{led_enabled:true}).then(console.log);
- Disable a WLAN
unifi.post('upd/wlanconf/<wlan_id>',{enabled:false}).then(console.log);
Do a HTTP PUT on the API.
Examples:
- Enable LED of AP
unifi.put('rest/device/<device_id>',{led_override:'on'}).then(console.log);
MIT © 2018Sebastian Raff
MIT © 2017-2018oznu
About
ubnt-unifi is a Node.js module that allows you to listen to events from and call methods on the UniFi API 📡
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Languages
- JavaScript100.0%