dutchie027 / govee
一个简单的PHP包,用于通过其API控制Govee Wi-Fi系统
Requires
- guzzlehttp/guzzle: ^7.2
- monolog/monolog: ^2.1
- dev-main
- v1.5.1
- v1.5.0
- v1.3.2
- v1.3.1
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.0
- dev-dependabot/composer/phpstan/phpstan-1.10.11
- dev-dependabot/composer/friendsofphp/php-cs-fixer-3.16.0
- dev-dependabot/composer/phpunit/phpunit-9.6.6
- dev-dependabot/composer/vimeo/psalm-5.9.0
- dev-dependabot/composer/monolog/monolog-2.9.1
This package is auto-updated.
Last update: 2024-09-10 06:06:28 UTC
README
一个简单的PHP包,允许您通过他们的API控制Govee智能灯。
要求
- PHP >7.2
安装
您可以使用Composer包管理器安装此包。您可以在项目根目录中运行以下命令进行安装
composer require dutchie027/govee
基本用法
实例化客户端
要使用Govee API的任何功能,您首先需要一个连接引用。然后,此连接引用可以传递给灯光库或插头库,或者如果您同时拥有Govee灯光和插头,也可以同时传递给这两个库。
// Ensure we have the composer libraries require_once ('vendor/autoload.php'); // Instantiate with defaults $govee = new dutchie027\govee\Connect("GOVEE-API-KEY"); // Instantiate without defaults, this allows you to change things // like log location, directory, the tag and possible future settings. $settings = [ 'log_dir' => '/tmp', 'log_name' => 'govee-api', 'log_tag' => 'mylights', 'log_level' => 'error' ]; $govee = new dutchie027\govee\Connect("GOVEE-API-KEY", $settings);
设置
默认设置就很好,但是您可能想要覆盖默认设置或使用自己的设置。注意:所有设置都是可选的,您不需要提供任何设置。
连接(核心)函数
获取设备数量
print $govee->getDeviceCount();
获取所有设备的数组
$array = $govee->getDeviceList();
示例返回数组
Array ( [0] => Array ( [device] => 46:F1:CC:F6:FC:65:FF:AA [model] => H6159 [deviceName] => Office-Color [controllable] => 1 [retrievable] => 1 [supportCmds] => Array ( [0] => turn [1] => brightness [2] => color [3] => colorTem ) ) )
获取所有可调用的MAC地址数组
$macArray = $govee->getDeviceMACArray();
MAC返回数组
Array ( [0] => A9:E9:0A:04:AD:CD:12:34 [1] => FA:8F:50:B2:AD:A7:00:12 [2] => E0:94:41:AC:62:13:56:78 )
获取所有设备名称数组
$nameArray = $govee->getDeviceNameArray();
设备名称返回数组
Array ( [0] => My-Living-Room [1] => Hallway [2] => Fire-House )
获取日志文件的存储位置
print $govee->getLogLocation();
示例返回字符串
/tmp/2Zo46b.1607566740.log
灯光函数
控制灯光
要控制灯光,您首先需要建立连接,然后引用连接
// Ensure we have the composer libraries require_once ('vendor/autoload.php'); // Instantiate with defaults $govee = new dutchie027\govee\Connect("GOVEE-API-KEY");
一旦您获得了灯光的引用,它将预加载所有设备MAC地址和名称。
打开灯光
要打开灯光,只需提供MAC地址或灯光名称即可。
$govee->lights()->turnOn("AC:14:A3:D5:E6:C4:3D:AE"); or $govee->lights()->turnOn("Office-Wall");
关闭灯光
与打开灯光类似,要关闭灯光,只需提供MAC地址或灯光名称即可。
$govee->lights()->turnOff("AC:14:A3:D5:E6:C4:3D:AE"); or $govee->lights()->turnOff("Office-Wall");
调整灯光亮度
要调整亮度,只需提供名称或MAC以及亮度,一个介于0和100之间的INT。
$govee->lights()->setBrightness("AC:14:A3:D5:E6:C4:3D:AE", 75); or $govee->lights()->setBrightness("Office-Wall", 75);
更改灯光颜色
要调整颜色,只需提供名称或MAC以及亮度,然后提供您想要设备设置为的R、G、B颜色。 注意 红色、绿色和蓝色的值必须在0到255之间。
$govee->lights()->setColor("AC:14:A3:D5:E6:C4:3D:AE", 255, 255, 0); or $govee->lights()->setBrightness("Office-Wall", 255, 0, 0);
调整灯光温度
要调整温度,只需提供名称或MAC以及名称,然后提供温度。 注意 温度必须是介于2000和9000之间的INT。
$govee->lights()->setTemp("AC:14:A3:D5:E6:C4:3D:AE", 5000); or $govee->lights()->setTemp("Office-Wall", 5000);
获取灯光状态
要获取有关灯光的所有详细信息,只需将名称或MAC地址传递给getDeviceState。您将得到一个JSON返回,您可以选择读取或将其传递给json_decode
并将其转换为数组以使用/读取。
$govee->lights()->getDeviceState("AC:14:A3:D5:E6:C4:3D:AE"); or $govee->lights()->getDeviceState("Office-Wall");
{ "data": { "device": "AC:14:A3:D5:E6:C4:3D:AE", "model": "Office-Wall", "properties": [ { "online": true }, { "powerState": "on" }, { "brightness": 100 }, { "color": { "r": 255, "b": 0, "g": 255 } } ] } }
插头函数
打开插头
$govee->plugs()->turnOn("AC:14:A3:D5:E6:C4:3D:AE"); or $govee->plugs()->turnOn("Office-Wall");
关闭插头
$govee->plugs()->turnOff("AC:14:A3:D5:E6:C4:3D:AE"); or $govee->plugs()->turnOff("Office-Wall");
贡献
如果您遇到问题、发现错误或有功能建议,请提交问题。如果您愿意,可以随意分支包并提交拉取请求。这是一个正在进行中的项目,随着我获取更多信息以及Govee API的增长而不断发展。