azurre / php-broadlink
Broadlink 设备库
1.0.0
2018-07-30 14:57 UTC
This package is auto-updated.
Last update: 2024-09-22 08:27:33 UTC
README
基于 https://github.com/nick7zmail/MajorDoMo-dev_broadlink
支持设备
- BroadLink SP3S (0x947a)
使用方法
在本地网络中查找设备
$loader = require_once __DIR__ . '/vendor/autoload.php'; echo '<pre>'; $devices = \Azurre\Component\SmartDevice\Broadlink\Transport::discover(); print_r($devices);
输出
Array
(
[0] => Array
(
[ip] => 192.168.0.190
[mac] => 17:5e:be:34:ec:14
[type] => 38010
[name] => SP3S(16A)
)
)
获取授权数据
$loader = require_once __DIR__ . '/vendor/autoload.php'; echo '<pre>'; $device = new \Azurre\Component\SmartDevice\Broadlink\Device\SP3S; $response = $device ->setHost('192.168.0.190') ->setMac('17:5e:be:34:ec:14') ->auth(); print_r($response); $storage->saveAuthData('mydevice', $response); // Save auth data
输出
Array
(
[id] => Array
(
[0] => 1
[1] => 0
[2] => 0
[3] => 0
)
[key] => Array
(
[0] => 25
[1] => 243
[2] => 107
[3] => 167
[4] => 53
[5] => 201
[6] => 71
[7] => 251
[8] => 17
[9] => 63
[10] => 37
[11] => 245
[12] => 195
[13] => 89
[14] => 177
[15] => 55
)
[time] => 1532957735
)
获取电源状态
$loader = require_once __DIR__ . '/vendor/autoload.php'; echo '<pre>'; $device = new \Azurre\Component\SmartDevice\Broadlink\Device\SP3S; list($id, $key, $time) = $storage->getAuthData('mydevice'); // Get auth data $device ->setHost('192.168.0.190') ->setMac('17:5e:be:34:ec:14') if (time() - $time >= \Azurre\Component\SmartDevice\Broadlink\Transport::AUTH_KEY_EXPIRE) { $device->auth(); // Save auth data } else { // Authorize using saved credentials $device->auth($id, $key); } print_r( $device->getPowerState() );
输出
Array
(
[power_state] => 1
[light_state] => 0
)
获取当前电源
$loader = require_once __DIR__ . '/vendor/autoload.php'; echo '<pre>'; $device = new \Azurre\Component\SmartDevice\Broadlink\Device\SP3S; list($id, $key, $time) = $storage->getAuthData('mydevice'); // Get auth data $device ->setHost('192.168.0.190') ->setMac('17:5e:be:34:ec:14') if (time() - $time >= \Azurre\Component\SmartDevice\Broadlink\Transport::AUTH_KEY_EXPIRE) { $device->auth(); // Save auth data } else { // Authorize using saved credentials $device->auth($id, $key); } var_dump( $device->getCurrentPower() )
输出
float(268.32)
设置电源状态
$loader = require_once __DIR__ . '/vendor/autoload.php'; echo '<pre>'; $device = new \Azurre\Component\SmartDevice\Broadlink\Device\SP3S; list($id, $key, $time) = $storage->getAuthData('mydevice'); // Get auth data $device ->setHost('192.168.0.190') ->setMac('17:5e:be:34:ec:14') if (time() - $time >= \Azurre\Component\SmartDevice\Broadlink\Transport::AUTH_KEY_EXPIRE) { $device->auth(); // Save auth data } else { // Authorize using saved credentials $device->auth($id, $key); } $turnOn = true; $device->setPowerState($turnOn);