wharfs / unms-api-client
用于与Ubiquiti的UNMS控制器配合使用的API客户端类
Requires
- php: >=5.5.0
- ext-curl: *
- ext-json: *
This package is auto-updated.
Last update: 2024-09-09 03:04:29 UTC
README
wharfs - 分支以添加getAllSites(),并调整为在Laravel中使用,并更接近父类UniFi-API-client。
--
将仓库添加到composer.json
"repositories": [{
"type": "vcs",
"url": "git@github.com:wharfs/unms-api-client"
}],
--
UNMS API客户端类 PHP类,提供对Ubiquiti的UNMS API的访问,支持UNMS控制器软件的2.1版本。它是用于我们monsansfil.ca项目的独立版本,这是一个私有项目。
支持的方法和函数 当前类支持以下函数和方法,通过UNMS API获取/发布/PUT/删除数据
login()
logout()
create_site()
editSiteName()
getSites()
setSite()
authorizeDevice()
getAircubeWirelessConfig()
getAircubeNetworkConfig()
getAircubeSystemConfig()
setCubeLedOn()
setCubeName()
setCubeResetEnabled()
setCubePoeEnabled()
setAircubeSystemConfig()
setAircubeNetworkConfig()
setAircubeWirelessConfig()
getDevices()
getRouterInterfaces()
getAirCubeData()
getAirCubeDevices()
geteRouterDHCPLeases()
getAircubeWirelessInfo()
restartDevice($deviceId)
deleteDevice($deviceId)
内部函数,获取器/设置器
set_debug() get_debug() set_auto_logout(true/false) get_token() get_last_results_raw() get_last_error_message() 请参阅源代码以获取有关函数/方法和其参数的更多详细信息。
要求 web服务器已安装PHP和cURL模块(在apache2上测试,PHP版本为7.2.2和cURL 7.45.0),此服务器与运行UNMS控制器的服务器和端口(通常为TCP端口443)之间有网络连接。安装 您可以使用Git或简单地下载发布版来安装API客户端类。
Git 在您的项目目录的shell中执行以下git命令
git clone https://github.com/spacie2136/unms.git 当git完成克隆后,在您的代码中包含包含类的文件,如下所示
require_once('path/to/src/Unms.php'); 下载发布版 如果您不想使用composer或git,可以简单地下载包,解压缩zip文件,然后在您的代码中包含包含类的文件,如下所示
require_once('path/to/src/Unms.php'); 示例用法 使用类的简单示例
/**
- 初始化Unms API连接类,登录到控制器并请求站点的设备
- (此示例假设您已经将正确的值分配给了使用的变量) */ $unms_connection = new Unms($user, $password, $url, true); $login = $unms_connection->login(); $results = $unms_connection->getDevices($site_id); // 返回包含站点设备的PHP数组 IMPORTANT NOTES: 构造函数中传递的最后一个参数(true),启用了对控制器SSL证书的验证,该验证默认情况下是禁用的。强烈建议在您已安装有效SSL证书的生成环境中启用此功能,该SSL证书与在baseurl参数中使用的服务器FQDN相关联。
在上面的示例中,$site_id 是在Unms控制器中管理站点时可见的URL中的ID
https://:443/sites/bb44fac2-3fb6-440d-bd37-f70202bcaf0f/devices
在这种情况下,bb44fac2-3fb6-440d-bd37-f70202bcaf0f 是$site_id所需的值。
需要帮助或有建议? 仍然需要添加功能并提高此类可用性,因此所有建议/评论都欢迎。请使用github问题列表来分享您的想法/问题。
贡献如果您想贡献代码(改进),请打开一个issue,并将您的代码包含在其中,或者创建一个pull request。
致谢此类基于以下开发者的工作:
Malle-pietje: https://github.com/Art-of-WiFi/UniFi-API-client MonSansFil: https://github.com/MonSansFil/unms 重要免责声明许多此API客户端类中的功能并未由UBNT官方支持,因此可能在Unms控制器API的将来版本中不受支持。