chanshige / sesame
sesame智能锁API封装。
v2.1.1
2024-02-13 17:01 UTC
Requires
- php: ^8.3
- ext-crypto: *
- guzzlehttp/guzzle: ^7.8
- koriym/http-constants: ^1.1
- psr/http-message: ^1.0
Requires (Dev)
- doctrine/coding-standard: ^11.0
- mockery/mockery: ^1.6
- phpmd/phpmd: ^2.10
- phpmetrics/phpmetrics: ^2.8
- phpstan/phpstan: ^1.9
- phpstan/phpstan-mockery: ^1.1
- phpunit/phpunit: ^10.0
- psalm/plugin-mockery: ^1.1
- psalm/plugin-phpunit: ^0
- slevomat/coding-standard: ^8.14
- squizlabs/php_codesniffer: ^3.8
- vimeo/psalm: ^5.0
This package is auto-updated.
Last update: 2024-09-13 18:21:11 UTC
README
CandyHouse的Sesame智能锁API使用的库。
此库用于使用sesame3/4/5智能锁API。
※ 需要OpenSSL Crypto库(ext-crypto)。
安装
※準備中
$ composer require chanshige/sesame
使用
<?php
// initialize
use Chanshige\SmartLock\Sesame\Action;
use Chanshige\SmartLock\Sesame\Client;
use Chanshige\SmartLock\Sesame\Device;
$sesame = Client::newInstance('sesame-api-key');
$device = new Device(
uuid: '488ABAAB-164F-7A86-595F-DDD778CB86C3', // Sesameデバイス固有のID
secretKey: 'a13d4b890111676ba8fb36ece7e94f7d', // デバイスを操作するための鍵
);
// ※ 2023/12現在、https://partners.candyhouse.co/login から取得可能でした。
获取Sesame的状态
$response = $sesame(new Action\Status($device));
$response = >>>EOF
array (size=6)
'batteryPercentage' => int 100 // バッテリー残量
'batteryVoltage' => float 5.8627565982405 // バッテリー電圧(V)
'position' => int 256 //
'CHSesame2Status' => string 'locked' // locked | unlocked | moved
'timestamp' => int 1703000024 // Sesameの更新時間
'wm2State' => boolean true // wifiモジュールの状態
EOF;
获取Sesame的历史记录
$response = $sesame(new Action\History($device, 1, 100));
Sesame的锁/解锁操作
API请求成功返回200。body为空。(是否成功锁/解锁可以通过Status字段进行确认)如果WiFi模块未连接,将抛出404错误。
// 鍵をかける
$response = $sesame(new Action\Lock($device, 'chanshigeが鍵かけた'));
// 鍵をあける
$response = $sesame(new Action\UnLock($device, 'chanshigeが鍵あけた'));
// 鍵をひたすら回す
$response = $sesame(new Action\Toggle($device, 'chanshigeが操作した'));
测试
$ composer tests
贡献
请随意创建问题并提交pull请求。对于任何提交的PR,请确保它有测试覆盖或包含新的测试。
安全
如果您发现任何安全相关的问题,请通过作者邮箱而不是问题跟踪器进行报告。
许可协议
MIT