Giter VIP home page Giter VIP logo

iobroker.unifi's Introduction

Logo

ioBroker.unifi

Build Status Number of Installations Number of Installations NPM version Downloads

NPM

This ioBroker adapter allows the monitoring and limited controlling of UniFi devices, such as UniFi WiFi Access Points using the public UniFi Controller Web-API.

Configuration

Minimum required information

To get this adapter up and running the following information is needed:

  • IP address and port of your UniFi controller (Leave the port empty in case your controller is running on UbiOS (e.g. UDM Pro))
  • Username and password (2FA is not supported)
  • Update interval

By default the information is updated every 60 seconds. Depending on your ioBroker hardware and your network size (number of clients, UniFi devices etc.) it is not recommended to further decrease the interval.

Filter objects

The adapter updates as much information from your UniFi controller as possible, but offers the possibility to limit the updated information.

It is possible to disable the update of selected information or filter specific objects of that information.

Information Objects filterable by
Clients Name, Hostname, IP address, MAC address
Devices Name, IP address, MAC address
WLANs Name
Networks Name
Health Subsystem

Control

Enable/disable WLANs

By changing the 'enabled' state of a WLAN it is possible to enable/disable it. Some seconds later the change will be provisioned to the Access Points.

Voucher creation

Using the 'vouchers.create_vouchers' button it is possible to create predefined vouchers. It is possible to configure the number of vouchers that will be created, the duration the vouchers are valid and also set limits for up- and download.

Missing datapoints

The adapter uses node-unifi to connect to your UniFi Controller. To simplify things, not all availble datapoints are pulled into your ioBroker. In case you're missing datapoints, use the following URLs to check the API. (Note: You have to replace IP, PORT and SITE with your settings)

Information API URL
Sites https://IP:PORT/api/self/sites
SysInfo https://IP:PORT/api/s/SITE/stat/sysinfo
Clients https://IP:PORT/api/s/SITE/stat/sta
Devices https://IP:PORT/api/s/SITE/stat/device
WLANs https://IP:PORT/api/s/SITE/rest/wlanconf
Networks https://IP:PORT/api/s/SITE/rest/networkconf
Health https://IP:PORT/api/s/SITE/stat/health
Vouchers https://IP:PORT/api/s/SITE/stat/voucher
DPI https://IP:PORT/api/s/SITE/stat/dpi
Alarms https://IP:PORT/api/s/SITE/stat/alarm

UbiOS endpoints

Information API URL
Sites https://IP/proxy/network/api/self/sites
SysInfo https://IP/proxy/network/api/s/SITE/stat/sysinfo
Clients https://IP/proxy/network/api/s/SITE/stat/sta
Devices https://IP/proxy/network/api/s/SITE/stat/device
WLANs https://IP/proxy/network/api/s/SITE/rest/wlanconf
Networks https://IP/proxy/network/api/s/SITE/rest/networkconf
Health https://IP/proxy/network/api/s/SITE/stat/health
Vouchers https://IP/proxy/network/api/s/SITE/stat/voucher
DPI https://IP/proxy/network/api/s/SITE/stat/dpi
Alarms https://IP/proxy/network/api/s/SITE/stat/alarm

Known issues

Changelog

WORK IN PROGRESS

0.5.8 (2020-08-29)

  • (braindead1) Fixed problems related to unused sites
  • (braindead1) Fixed some errors reported via Sentry

0.5.7 (2020-07-27)

  • (braindead1) Fixed Sentry errors caused by not updated configuration after update

0.5.6 (2020-07-25)

  • (Scrounger, braindead1) Implemented Alarms, DPI & Gateway Traffic
  • (braindead1) Prevented creation of ghost clients caused by iOS MAC randomization
  • (dklinger) Implemented manual update trigger
  • (braindead1) Implemented deletion of used vouchers
  • (braindead1) Fixed some errors reported via Sentry

0.5.5 (2020-06-13)

  • (braindead1) Fixed some errors reported via Sentry

0.5.4 (2020-06-06)

  • (braindead1) Implemented offset for is_online
  • (braindead1) Fixed some issues related to is_online
  • (braindead1) Prepared whitelisting of clients etc.

0.5.2 (2020-05-23)

  • (jens-maus) Implemented UniFiOS/UDM-Pro support
  • (braindead1) Implemented possibility to enable/disable WLANs
  • (braindead1) Implemented voucher creation
  • (braindead1) Implemented online state for clients
  • (braindead1) Updated client states
  • (braindead1) Updated device states
  • (braindead1) Improved error messages

0.5.0 (2020-05-09)

  • (braindead1) Implemented configuration of updates
  • (braindead1) Improved JsonLogic
  • (braindead1) Removed legacy code
  • (braindead1) Implemented Sentry

0.4.3 (2020-04-24)

  • (braindead1) fixed configuration issue

0.4.2 (2020-04-23)

  • (braindead1) subsystem issue fixed

0.4.1 (2020-04-16)

  • (braindead1) Enhanced refactoring

0.4.0 (2020-04-16)

  • (bluefox) Refactoring

0.3.1

  • (jens-maus) added support for multi-site environments.

0.3.0

  • (jens-maus) added access device data query and moved the client devices to the 'clients' subtree instead

0.2.1

  • (jens-maus) minor fixes

0.2.0

  • (jens-maus) moved lib/unifi.js to dedicated node-unifi nodejs class and added it as a dependency.

0.1.0

  • (jens-maus) implemented a first basically working version which can retrieve status information from a UniFi controller.

0.0.1

  • (jens-maus) initial checkin of non-working development version

References

This adapter uses functionality from the following third-party nodejs modules:

License

The MIT License (MIT)

Copyright (c) 2020 braindead1 <[email protected]> Copyright (c) 2016-2020 Jens Maus <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.