seamapi / seam
Installs: 5 590
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 5
Forks: 3
Open Issues: 12
Requires
- guzzlehttp/guzzle: ^7.5
Requires (Dev)
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
- dev-main
- v2.0.0-alpha.0
- v1.0.0
- dev-fix-online_access_codes_enabled
- dev-setup-for-sdk-generator
- dev-allow-unmanaging-access-codes
- dev-allow-external-modification-when-updating
- dev-allow-external-modification
- dev-add-serial-number
- dev-feat/node-script
- dev-feat/merge-for-workflow-dispatch
- dev-fix/error-code
- dev-andrii-ac-errors-warnings
- dev-andrii-null-params-issues
This package is auto-updated.
Last update: 2023-12-04 16:36:29 UTC
README
Control locks, lights and other internet of things devices with Seam's simple API.
Check out the documentation or the usage below.
Usage
$seam = new Seam\SeamClient("YOUR_API_KEY"); # Create a Connect Webview to login to a provider $connect_webview = $seam->connect_webviews->create( accepted_providers: ["august"] ); print "Please Login at this url: " . $connect_webview->url; # Poll until connect webview is completed while (true) { $connect_webview = $seam->connect_webviews->get( $connect_webview->connect_webview_id ); if ($connect_webview->status == "authorized") { break; } else { sleep(1); } } $connected_account = $seam->connected_accounts->get( $connect_webview->connected_account_id ); print "Looks like you connected with " . json_encode($connected_account->user_identifier); $devices = $seam->devices->list( connected_account_id: $connected_account->connected_account_id ); print "You have " . count($devices) . " devices"; $device_id = $devices[0]->device_id; # Lock a Door $seam->locks->lock_door($device_id); $updated_device = $seam->devices->get($device_id); $updated_device->properties->locked; // true # Unlock a Door $seam->locks->unlock_door($device_id); $updated_device->properties->locked; // false # Create an access code on a device $access_code = $seam->access_codes->create( device_id: $device_id, code: "1234", name: "Test Code" ); # Check the status of an access code $access_code->status; // 'setting' (it will go to 'set' when active on the device) $seam->access_codes->delete($access_code->access_code_id);
Installation
Run composer require seamapi/seam
Development Setup
- Run
yarn install
to get prettier installed for formatting - Install composer.
- Run
composer install
in this directory - Run
composer exec phpunit tests
To run a specific test file, do
composer exec phpunit tests/MyTest.php
Running Tests
You'll need to export SEAM_API_KEY
to a sandbox workspace API key.