jkniest / hue-it
Philips Hue API 的 PHP 封装
Requires
- php: ^8.0|^8.1|^8.2
- illuminate/collections: ^9.0
- ozdemirburak/iris: ^3.0
- symfony/http-client: ^6.0
Requires (Dev)
- friends-of-phpspec/phpspec-code-coverage: ^6.0.0
- friendsofphp/php-cs-fixer: 3.13.1
- jkniest/linting: ^1.2
- nikic/php-parser: ^4.13.2
- phpspec/phpspec: ^7.0.1
- phpstan/phpstan: ^1.0
- phpunit/php-code-coverage: ^9.2.5
- webmozart/assert: ^1.11.0
This package is auto-updated.
Last update: 2024-09-10 10:39:50 UTC
README
安装
通过 composer 安装此包
composer require jkniest/hue-it
文档
完整文档可以在这里找到。
入门
您可以使用 hue-it 封装器连接到本地网络或使用云服务。
用法(本地网桥)
首先,您需要找到您的网桥的 IP 地址。您可以在路由器中找到该地址。
您还需要对您的网桥有物理访问权限。
以下是如何通过 IP 地址 123.456.78.9
连接到网桥的示例。在调用 authenticate
方法后,应用程序将等待您按下网桥上的 LINK 按钮。
use jkniest\HueIt\PhillipsHue; $hue = new PhillipsHue('123.456.78.9'); $hue->authenticate('device'); // Press LINK button $hue->getLight(3)->turnOn();
当然,您可以重复使用生成的用户名。有关更多信息,请参阅本地认证。
用法(云服务)
使用 hue 云服务比本地网络复杂一些。首先,您需要创建一个 Philips hue 应用。
创建应用后,您将有权访问客户端凭据(ID 和密钥)和应用程序 ID。我们需要这两个来通过云服务连接。设备 ID 和名称可以随意选择。
在继续之前,我们建议您先了解OAuth2 的基础知识。
有关更多信息,请参阅云认证。
use jkniest\HueIt\PhillipsHueCloud; use jkniest\HueIt\Cloud\HueClient; use jkniest\HueIt\Cloud\HueDevice; $client = new HueClient('id', 'secret'); $device = new HueDevice('id', 'name'); $hue = new PhillipsHueCloud($client, $device, 'app-id'); $hue->getOAuthUrl('state'); // The user must open this url in the browser. // Here you can use the code which came back from the OAuth process. $hue->authenticate('code'); $hue->getLight(3)->turnOn();
测试
如果您在使用 hue-it 时编写测试,并且不希望在每次测试套件运行时都进行 API 请求,有以下两种可能性
- 模拟 PhillipsHue 实例
- 创建您自己的 Fake PhillipsHueGateway。
目前我们还没有关于此的文档,但每个 Gateway 都扩展自一个抽象类,并且有自己的客户端(云客户端 VS 本地客户端)。您可以创建一个新的 Gateway 类和 / 或客户端类,返回模拟或假数据。
通常计划提供完整的测试模式。
PHP 兼容性
请使用以下表格检查哪个版本适用于您的 PHP 版本
路线图
- 测试模式
- 创建 / 删除 / 编辑群组和灯
- 功能 API
- 更新处理(网桥 & 灯更新)
- 实现更多实体:计划、场景、传感器、规则等。
- 配置过渡时间
贡献
请参阅CONTRIBUTING 以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件mail@jkniest.de报告,而不是使用问题跟踪器。
鸣谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅许可证文件。