mirror of
https://github.com/Art-of-WiFi/UniFi-API-client.git
synced 2024-12-05 00:20:33 +01:00
8acaa694ca
- updated @throws tags in the doc blocks to reflect the correct exception classes where necessary, in other cases "Exception" is mentioned - minor changes - bumped version to 2.0.2
79 lines
2.6 KiB
PHP
Executable File
79 lines
2.6 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* PHP API usage example
|
|
*
|
|
* contributed by: Art of WiFi
|
|
* description: An example basic PHP script to pull current alarms from the UniFi controller and output in JSON format,
|
|
* also demonstrates how to catch exceptions.
|
|
*/
|
|
use UniFi_API\Exceptions\CurlExtensionNotLoadedException;
|
|
use UniFi_API\Exceptions\CurlGeneralErrorException;
|
|
use UniFi_API\Exceptions\CurlTimeoutException;
|
|
use UniFi_API\Exceptions\InvalidBaseUrlException;
|
|
use UniFi_API\Exceptions\InvalidSiteNameException;
|
|
use UniFi_API\Exceptions\JsonDecodeException;
|
|
use UniFi_API\Exceptions\LoginFailedException;
|
|
use UniFi_API\Exceptions\LoginRequiredException;
|
|
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var array $controlleruser
|
|
* @var array $controllerpassword
|
|
* @var array $controllerurl
|
|
* @var array $controllerversion
|
|
* @var array $debug
|
|
*/
|
|
require_once 'config.php';
|
|
|
|
/**
|
|
* the site to use
|
|
*/
|
|
$site_id = '<enter your site id here>';
|
|
|
|
/**
|
|
* initialize the UniFi API connection class and log in to the controller and do our thing
|
|
*/
|
|
try {
|
|
$unifi_connection = new UniFi_API\Client(
|
|
$controlleruser,
|
|
$controllerpassword,
|
|
$controllerurl,
|
|
$site_id,
|
|
$controllerversion
|
|
);
|
|
|
|
$set_debug_mode = $unifi_connection->set_debug($debug);
|
|
$login_results = $unifi_connection->login();
|
|
$data = $unifi_connection->list_alarms();
|
|
|
|
/**
|
|
* echo the results in JSON format
|
|
*/
|
|
echo json_encode($data, JSON_PRETTY_PRINT);
|
|
} catch (CurlExtensionNotLoadedException $e) {
|
|
echo 'CurlExtensionNotLoadedException: ' . $e->getMessage(). PHP_EOL;
|
|
} catch (InvalidBaseUrlException $e) {
|
|
echo 'InvalidBaseUrlException: ' . $e->getMessage(). PHP_EOL;
|
|
} catch (InvalidSiteNameException $e) {
|
|
echo 'InvalidSiteNameException: ' . $e->getMessage(). PHP_EOL;
|
|
} catch (JsonDecodeException $e) {
|
|
echo 'JsonDecodeException: ' . $e->getMessage(). PHP_EOL;
|
|
} catch (LoginRequiredException $e) {
|
|
echo 'LoginRequiredException: ' . $e->getMessage(). PHP_EOL;
|
|
} catch (CurlGeneralErrorException $e) {
|
|
echo 'CurlGeneralErrorException: ' . $e->getMessage(). PHP_EOL;
|
|
} catch (CurlTimeoutException $e) {
|
|
echo 'CurlTimeoutException: ' . $e->getMessage(). PHP_EOL;
|
|
} catch (LoginFailedException $e) {
|
|
echo 'LoginFailedException: ' . $e->getMessage(). PHP_EOL;
|
|
} catch (Exception $e) {
|
|
/** catch any other Exceptions that might be thrown */
|
|
echo 'General Exception: ' . $e->getMessage(). PHP_EOL;
|
|
} |