npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

iobroker.unifi

v0.7.0

Published

UniFi Adapter for ioBroker

Downloads

369

Readme

ioBroker.unifi

Number of Installations Number of Installations NPM version

Test and Release Translation status Downloads

This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers. For more details and for information how to disable the error reporting see Sentry-Plugin Documentation! Sentry reporting is used starting with js-controller 3.0.

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 UniFiOS (e.g. UDM-Pro))
  • Local username and password (2FA cannot be 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 recommended to keep this interval and refraid from further decreasing it.

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 | | WiFis | Name | | Networks | Name | | Health | Subsystem |

Control

Enable/disable WiFis

By changing the 'enabled' state of a WiFi 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 | | WiFis | 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 |

UniFiOS (UDM-Pro) 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 | | WiFis | 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

  • The is_wired state of clients is incorrect after a client went offline. This is a known issue of the UniFi controller and is not related to the adapter. (see https://community.ui.com/questions/Wireless-clients-shown-as-wired-clients/49d49818-4dab-473a-ba7f-d51bc4c067d1)

Changelog

0.7.0 (2024-04-13)

  • (mcm1957) Adapter requires node.js 18 and js-controller >= 5 now
  • (mcm1957) Dependencies have been updated

0.6.7 (2023-12-10)

  • (jens-maus) updated node-unifi to 2.5.1 to fix UDMpro v3.2.x auth issues
  • (jens-maus) updated dependencies

0.6.6 (2023-06-20)

  • (pafade89) fixed broken client status updates (#672)

0.6.5 (2023-06-20)

  • (jens-maus) Bumped node-unifi to latest 2.4.1

0.6.4 (2023-03-31)

  • (jens-maus) Bumped node-unifi to latest 2.4.0
  • (wuliwux) fixed issue in setWlanStatus not working (#665, #601)
  • (pafade89) New feature for whitelisting client objects (#651)
  • (Scrounger) client block / unblock added
  • (Scrounger) restart device added
  • (Scrounger) led override added
  • (Scrounger) port power cycle added

0.6.3 (2022-10-08)

  • (jens-maus) Bumped node-unifi to latest 2.2.1 (fixes #613)

0.6.2 (2022-10-07)

  • (jens-maus) Bumped node-unifi to latest 2.2.0
  • (maximilian-1) port-overrides structures added
  • (Scrounger) poe power switch added
  • (Scrounger) client reconnect added

0.6.1 (2022-06-08)

  • (jens-maus) Bumped node-unifi to latest 2.1.0
  • (jens-maus) updated translations

0.6.0 (2022-06-05)

  • IMPORTANT: js-controller 2.0 or higher is required
  • IMPORTANT: If Login do not work please re-enter the password in the instance configuration
  • (Apollon77) Migrate to new version of unifi library
  • (Apollon77) Allow to specify if SSL error should be ignored or not (Default is to ignore errors as in former versions)
  • (jens-maus) Fixed more device state object definitions to get rid of state warnings.
  • (jens-maus/Apollon77) Updated dependencies, make compatible to newest firmwares

0.5.10 (2021-05-27)

  • (jens-maus) Changed "Update done" output to be output as debug info.
  • (jens-maus) Updated dependencies.

0.5.9 (2021-05-07)

  • (jens-maus) Fixed all js-controller 3.3 related state warnings
  • (kirovilya, jens-maus) Added device state object with dedicated states list.
  • (jens-maus) Updated node-unifi to latest version
  • (jens-maus) Updated dependencies

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) 2024 iobroker-community-adapters [email protected] Copyright (c) 2016-2023 Jens Maus <[email protected]> Copyright (c) 2020 braindead1 <[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.