Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bf3446bba0 | ||
|
|
a4998de3a9 | ||
|
|
c82481a28a | ||
|
|
2c743563f8 | ||
|
|
32252e56d7 | ||
|
|
120699d343 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -5,5 +5,9 @@
|
||||
/vendor/
|
||||
/composer.lock
|
||||
|
||||
# ignore phpdoc files
|
||||
/build
|
||||
.phpdoc-md
|
||||
|
||||
# ignore XML files
|
||||
*.xml
|
||||
42
README.md
42
README.md
@@ -1,8 +1,8 @@
|
||||
## UniFi Controller API client class
|
||||
|
||||
A PHP class that provides access to Ubiquiti's [**UniFi Network Controller**](https://unifi-network.ui.com/) API, versions 4.X.X and 5.X.X of the UniFi Network Controller software are supported (version 5.12.72 has been confirmed to work) as well as UbiOS-based controllers (version 5.12.59 has been confirmed to work). This class is used by our API browser tool which can be found [here](https://github.com/Art-of-WiFi/UniFi-API-browser).
|
||||
A PHP class that provides access to Ubiquiti's [**UniFi Network Controller**](https://unifi-network.ui.com/) API, versions 4.X.X, 5.X.X and 6.0.X of the UniFi Network Controller software are supported (version 6.0.43 has been confirmed to work) as well as UniFi OS-based controllers (version 5.12.59 has been confirmed to work). This class is used by our API browser tool which can be found [here](https://github.com/Art-of-WiFi/UniFi-API-browser).
|
||||
|
||||
The package can be installed manually or using composer/[packagist](https://packagist.org/packages/art-of-wifi/unifi-api-client) for easy inclusion in your projects.
|
||||
The package can be installed manually or by using composer/[packagist](https://packagist.org/packages/art-of-wifi/unifi-api-client) for easy inclusion in your projects.
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -11,15 +11,15 @@ The package can be installed manually or using composer/[packagist](https://pack
|
||||
- you must use **local accounts**, not UniFi Cloud accounts, to access the UniFi Controller API through this class
|
||||
|
||||
|
||||
## UbiOS Support
|
||||
## UniFi OS Support
|
||||
|
||||
Support for UbiOS-based controllers (UniFi Dream Machine Pro) has been added as of version 1.1.47. The class automatically detects UbiOS devices and adjusts URLs and several functions/methods accordingly. If your own code applies strict validation of the URL that is passed to the constructor, please adapt your logic to allow URLs without a port suffix when dealing with a UbiOS-based controller.
|
||||
Support for UniFi OS-based controllers (UniFi Dream Machine Pro or Cloud Key Gen2/Cloud Key Gen2 Plus with firmware version 2.0.24 or higher) has been added as of version 1.1.47. The class automatically detects UniFi OS devices and adjusts URLs and several functions/methods accordingly. If your own code applies strict validation of the URL that is passed to the constructor, please adapt your logic to allow URLs without a port suffix when dealing with a UniFi OS-based controller.
|
||||
|
||||
Please test all methods you plan on using thoroughly before using the API Client with UbiOS devices in a production environment.
|
||||
Please test all methods you plan on using thoroughly before using the API Client with UniFi OS devices in a production environment.
|
||||
|
||||
## Installation
|
||||
|
||||
You can use [Composer](#composer), [Git](#git) or simply [Download the Release](#download-the-release) to install the API client class.
|
||||
Use [Composer](#composer), [Git](#git) or simply [Download the Release](#download-the-release) to install the API client class.
|
||||
|
||||
### Composer
|
||||
|
||||
@@ -31,7 +31,7 @@ Once composer is installed, simply execute this command from the shell in your p
|
||||
composer require art-of-wifi/unifi-api-client
|
||||
```
|
||||
|
||||
Or you can manually add the package to your composer.json file:
|
||||
Or manually add the package to your composer.json file:
|
||||
|
||||
```javascript
|
||||
{
|
||||
@@ -44,7 +44,7 @@ composer require art-of-wifi/unifi-api-client
|
||||
Finally, be sure to include the autoloader in your code:
|
||||
|
||||
```php
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
```
|
||||
|
||||
### Git
|
||||
@@ -58,15 +58,15 @@ git clone https://github.com/Art-of-WiFi/UniFi-API-client.git
|
||||
When git is done cloning, include the file containing the class like so in your code:
|
||||
|
||||
```php
|
||||
require_once('path/to/src/Client.php');
|
||||
require_once 'path/to/src/Client.php';
|
||||
```
|
||||
|
||||
### Download the Release
|
||||
|
||||
If you prefer not to use composer or git, you can simply [download the package](https://github.com/Art-of-WiFi/UniFi-API-client/archive/master.zip), uncompress the zip file, then include the file containing the class in your code like so:
|
||||
If you prefer not to use composer or git, simply [download the package](https://github.com/Art-of-WiFi/UniFi-API-client/archive/master.zip), uncompress the zip file, then include the file containing the class in your code like so:
|
||||
|
||||
```php
|
||||
require_once('path/to/src/Client.php');
|
||||
require_once 'path/to/src/Client.php';
|
||||
```
|
||||
|
||||
## Example usage
|
||||
@@ -77,7 +77,7 @@ A basic example how to use the class:
|
||||
/**
|
||||
* load the class using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* initialize the Unifi API connection class, log in to the controller and request the alarms collection
|
||||
@@ -88,7 +88,7 @@ $login = $unifi_connection->login();
|
||||
$results = $unifi_connection->list_alarms(); // returns a PHP array containing alarm objects
|
||||
```
|
||||
|
||||
Please refer to the `examples/` directory for some more detailed examples which you can use as a starting point for your own PHP code.
|
||||
Please refer to the `examples/` directory for some more detailed examples which can be used as a starting point for your own PHP code.
|
||||
|
||||
#### IMPORTANT NOTES:
|
||||
|
||||
@@ -114,6 +114,9 @@ The class currently supports the following functions/methods to GET/POST/PUT/DEL
|
||||
- cancel_rolling_upgrade()
|
||||
- cmd_stat()
|
||||
- count_alarms()
|
||||
- check_controller_update()
|
||||
- check_firmware_update()
|
||||
- create_apgroup() (supported with controller versions 6.0.X and higher)
|
||||
- create_dynamicdns()
|
||||
- create_firewallgroup()
|
||||
- create_hotspotop()
|
||||
@@ -125,6 +128,7 @@ The class currently supports the following functions/methods to GET/POST/PUT/DEL
|
||||
- create_voucher()
|
||||
- create_wlan()
|
||||
- custom_api_request()
|
||||
- delete_apgroup() (supported with controller versions 6.0.X and higher)
|
||||
- delete_device()
|
||||
- delete_firewallgroup()
|
||||
- delete_network()
|
||||
@@ -133,6 +137,7 @@ The class currently supports the following functions/methods to GET/POST/PUT/DEL
|
||||
- delete_usergroup()
|
||||
- delete_wlan()
|
||||
- disable_ap()
|
||||
- edit_apgroup() (supported with controller versions 6.0.X and higher)
|
||||
- edit_client_fixedip()
|
||||
- edit_firewallgroup()
|
||||
- edit_usergroup()
|
||||
@@ -143,6 +148,7 @@ The class currently supports the following functions/methods to GET/POST/PUT/DEL
|
||||
- list_admins()
|
||||
- list_alarms()
|
||||
- list_all_admins()
|
||||
- list_apgroups() (supported with controller versions 6.0.X and higher)
|
||||
- list_aps() (deprecated but still available as alias)
|
||||
- list_backups()
|
||||
- list_clients()
|
||||
@@ -243,6 +249,10 @@ The class currently supports the following functions/methods to GET/POST/PUT/DEL
|
||||
- stat_status()
|
||||
- stat_sysinfo()
|
||||
- stat_voucher()
|
||||
- stat_monthly_aps()
|
||||
- stat_monthly_gateway()
|
||||
- stat_monthly_site()
|
||||
- stat_monthly_user()
|
||||
- unauthorize_guest()
|
||||
- unblock_sta()
|
||||
- unset_locate_ap() (deprecated but still available as alias)
|
||||
@@ -259,7 +269,7 @@ Other functions, getters/setters:
|
||||
- get_is_unifi_os()
|
||||
- get_last_error_message()
|
||||
- get_last_results_raw()
|
||||
- get_request_type()
|
||||
- get_request_method()
|
||||
- get_site()
|
||||
- get_ssl_verify_host()
|
||||
- get_ssl_verify_peer()
|
||||
@@ -267,7 +277,7 @@ Other functions, getters/setters:
|
||||
- set_cookies()
|
||||
- set_debug()
|
||||
- set_is_unifi_os()
|
||||
- set_request_type()
|
||||
- set_request_method()
|
||||
- set_site()
|
||||
- set_ssl_verify_host()
|
||||
- set_ssl_verify_peer()
|
||||
@@ -290,7 +300,7 @@ This class is based on the initial work by the following developers:
|
||||
|
||||
and the API as published by Ubiquiti:
|
||||
|
||||
- https://dl.ui.com/unifi/5.12.35/unifi_sh_api
|
||||
- https://dl.ui.com/unifi/6.0.41/unifi_sh_api
|
||||
|
||||
## Important Disclaimer
|
||||
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to fetch an Access Point's scanning state/results
|
||||
* description: example basic PHP script to fetch an Access Point's scanning state/results
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* site id and MAC address of AP to query
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: @4oo4
|
||||
* description: example script to upgrade device firmware (can be scheduled with systemd/cron)
|
||||
* to the most current version
|
||||
* description: example script to upgrade device firmware (can be scheduled with systemd/cron)
|
||||
* to the most current version
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once('config.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* site id of the AP to update
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example PHP script to perform a basic auth of a guest device
|
||||
* description: example PHP script to perform a basic auth of a guest device
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the MAC address of the device to authorize
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to auth a guest device and attach a note to it,
|
||||
* this requires the device to be connected to the WLAN/LAN at moment of
|
||||
* authorization
|
||||
* description: example basic PHP script to auth a guest device and attach a note to it,
|
||||
* this requires the device to be connected to the WLAN/LAN at moment of
|
||||
* authorization
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the MAC address of the device to authorize
|
||||
|
||||
@@ -3,27 +3,26 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: @malcolmcif, based on another Art of WiFi example
|
||||
* description: basic PHP script to block a list of mac addresses passed in via command line,
|
||||
* output is to console in non json format
|
||||
* description: basic PHP script to block a list of mac addresses passed in via command line,
|
||||
* output is to console in non json format
|
||||
*
|
||||
* usage:
|
||||
* php block_list.php <list of comma seperated mac addresses>
|
||||
*
|
||||
* example:
|
||||
* php block_list.php 09:09:09:09:09:09,10:10:10:10:10:10
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
$debug = false;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to modify the super_mgmt settings for UniFi controller and output results
|
||||
* in json format
|
||||
* description: example basic PHP script to modify the super_mgmt settings for UniFi controller and output results
|
||||
* in json format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* UniFi controller credentials and the site to use, in this case since we are modifying global settings you can select
|
||||
@@ -18,7 +18,7 @@ require_once('vendor/autoload.php');
|
||||
*
|
||||
* NOTE: in this case you need to enter Super Administrator account credentials in config.php
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
$site_id = 'default';
|
||||
$debug = false;
|
||||
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to change the WPA2 password/PSK of a WLAN, returns true on success
|
||||
* description: example basic PHP script to change the WPA2 password/PSK of a WLAN, returns true on success
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* The site to which the WLAN you want to modify belongs
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) 2017, Art of WiFi
|
||||
*
|
||||
* This file is subject to the MIT license that is bundled
|
||||
* with this package in the file LICENSE.md
|
||||
* Copyright (c) 2021, Art of WiFi
|
||||
*
|
||||
* This file is subject to the MIT license that is bundled with this package in the file LICENSE.md
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to create a new site, returns true upon success
|
||||
* description: example basic PHP script to create a new site, returns true upon success
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use to log in to the controller
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to create a set of vouchers, returns an array containing the newly created vouchers
|
||||
* description: example basic PHP script to create a set of vouchers, returns an array containing the newly created vouchers
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* minutes the voucher is valid after activation (expiration time)
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to delete a site, returns true upon success
|
||||
* description: example basic PHP script to delete a site, returns true upon success
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use to log in to the controller
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to disable/enable a device, returns true upon success
|
||||
* description: example basic PHP script to disable/enable a device, returns true upon success
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the 24 character id of the device to disable/enable
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use to log in to the controller
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to execute a custom API request using the
|
||||
* custom_api_request() function/method
|
||||
* description: example basic PHP script to execute a custom API request using the
|
||||
* custom_api_request() function/method
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* The site to authorize the device with
|
||||
@@ -27,10 +27,10 @@ $site_id = '<enter your site id here>';
|
||||
/**
|
||||
* parameters
|
||||
*/
|
||||
$url = '/api/s/' . $site_id . '/stat/fwupdate/latest-version';
|
||||
$request_type = 'GET';
|
||||
$payload = null;
|
||||
$return = 'array';
|
||||
$url = '/api/s/' . $site_id . '/stat/fwupdate/latest-version';
|
||||
$request_method = 'GET';
|
||||
$payload = null;
|
||||
$return = 'array';
|
||||
|
||||
/**
|
||||
* initialize the UniFi API connection class and log in to the controller and do our thing
|
||||
@@ -38,7 +38,7 @@ $return = 'array';
|
||||
$unifi_connection = new UniFi_API\Client($controlleruser, $controllerpassword, $controllerurl, $site_id, $controllerversion);
|
||||
$set_debug_mode = $unifi_connection->set_debug($debug);
|
||||
$loginresults = $unifi_connection->login();
|
||||
$results = $unifi_connection->custom_api_request($url, $request_type, $payload, $return);
|
||||
$results = $unifi_connection->custom_api_request($url, $request_method, $payload, $return);
|
||||
|
||||
/**
|
||||
* provide feedback in JSON format or as PHP Object
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: mtotone
|
||||
* description: example of how to extend validity of guest authorizations
|
||||
* description: example of how to extend validity of guest authorizations
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* must be adapted to your site!
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to pull current alarms from the UniFi controller and output in json format
|
||||
* description: example basic PHP script to pull current alarms from the UniFi controller and output in json format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example to pull connected user numbers for Access Points from the UniFi controller and output the results
|
||||
* in raw HTML format
|
||||
* description: example to pull connected user numbers for Access Points from the UniFi controller and output the results
|
||||
* in raw HTML format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the short name of the site which you wish to query
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: @gahujipo
|
||||
* description: example to pull connected users and their details from the UniFi controller and output the results
|
||||
* in JSON format
|
||||
* description: example to pull connected users and their details from the UniFi controller and output the results
|
||||
* in JSON format
|
||||
*/
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the short name of the site which you wish to query
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example to pull site health metrics from the UniFi controller and output the results
|
||||
* in json format
|
||||
* description: example to pull site health metrics from the UniFi controller and output the results
|
||||
* in json format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the short name of the site you wish to query
|
||||
|
||||
46
examples/list_sites.php
Executable file
46
examples/list_sites.php
Executable file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to list all site on the controller that are
|
||||
* available to the admin account defined in config.php
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* we use the default site in the initial connection
|
||||
*/
|
||||
$site_id = 'default';
|
||||
|
||||
/**
|
||||
* initialize the UniFi API connection class and log in to the controller and do our thing
|
||||
*/
|
||||
$unifi_connection = new UniFi_API\Client($controlleruser, $controllerpassword, $controllerurl, $site_id, $controllerversion);
|
||||
$set_debug_mode = $unifi_connection->set_debug($debug);
|
||||
$loginresults = $unifi_connection->login();
|
||||
$data = $unifi_connection->list_sites();
|
||||
|
||||
/**
|
||||
* we can render the full results in json format
|
||||
*/
|
||||
//echo json_encode($data, JSON_PRETTY_PRINT);
|
||||
|
||||
/**
|
||||
* or we print each site name and site id
|
||||
*/
|
||||
foreach ($data as $site) {
|
||||
echo 'Site name: ' . $site->desc . ', site id: ' . $site->name . PHP_EOL;
|
||||
}
|
||||
|
||||
echo PHP_EOL;
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to pull Facebook social auth details from the UniFi controller and output
|
||||
* them in basic HTML format
|
||||
* description: example basic PHP script to pull Facebook social auth details from the UniFi controller and output
|
||||
* them in basic HTML format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to pull stats for s epcific user/client device from the UniFi controller and output in json format
|
||||
* description: example basic PHP script to pull stats for s epcific user/client device from the UniFi controller and output in json format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use
|
||||
|
||||
@@ -12,7 +12,7 @@ require 'vendor/autoload.php';
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use
|
||||
@@ -55,6 +55,9 @@ $loginresults = $unifi_connection->login();
|
||||
if ($loginresults) {
|
||||
$pdu_details = $unifi_connection->list_devices($pdu_mac);
|
||||
|
||||
/**
|
||||
* change the model below from USPPDUP to UP1 when using a USP-Plug (thanks to @thesohoguy for contributing this)
|
||||
*/
|
||||
if (!empty($pdu_details) && property_exists($pdu_details[0], 'model') && $pdu_details[0]->model === 'USPPDUP' && property_exists($pdu_details[0], 'outlet_overrides')) {
|
||||
$device_id = $pdu_details[0]->_id;
|
||||
$outlet_overrides = $pdu_details[0]->outlet_overrides;
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to force a client device to reconnect
|
||||
* description: example basic PHP script to force a client device to reconnect
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the MAC address to reconnect
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Test the connection to your UniFi controller
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: PHP script to check/debug the connection to your controller using PHP and cURL
|
||||
* description: PHP script to check/debug the connection to your controller using PHP and cURL
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -11,7 +11,7 @@
|
||||
* see the config.template.php file for an example.
|
||||
* (will only be used here to get the URL to the controller)
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* Check whether the cURL module supports SSL
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example to toggle the locate function (flashing LED) on an Access Point and
|
||||
* output the response in json format
|
||||
* description: example to toggle the locate function (flashing LED) on an Access Point and
|
||||
* output the response in json format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* site id to use
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: @malcolmcif, based on another Art of WiFi example
|
||||
* description: basic PHP script to unblock a list of mac addresses passed in via command line,
|
||||
* output is to console in non json format
|
||||
* description: basic PHP script to unblock a list of mac addresses passed in via command line,
|
||||
* output is to console in non json format
|
||||
*
|
||||
* usage:
|
||||
* php unblock_list.php <list of comma seperated mac addresses>
|
||||
@@ -17,13 +17,13 @@
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
$debug = false;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to update the port settings of an AC-IW device
|
||||
* FYI: the AC-IW device has three ports, one for the wired uplink and two with external connectors
|
||||
* note: requires controller version 5.5.X or higher (to be verified)
|
||||
* description: example basic PHP script to update the port settings of an AC-IW device
|
||||
* FYI: the AC-IW device has three ports, one for the wired uplink and two with external connectors
|
||||
* note: requires controller version 5.5.X or higher (to be verified)
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use to log in to the controller
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to update WLAN settings of a device when using a controller version 5.5.X or higher
|
||||
* where set_ap_radiosettings() throws an error
|
||||
* description: example basic PHP script to update WLAN settings of a device when using a controller version 5.5.X or higher
|
||||
* where set_ap_radiosettings() throws an error
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use to log in to the controller
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* include the config file (place your credentials etc. there if not already present)
|
||||
* see the config.template.php file for an example
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use to log in to the controller
|
||||
|
||||
2027
src/Client.php
2027
src/Client.php
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user