phlak / lifx-client
PHP client library for the LIFX API (v1)
Fund package maintenance!
PHLAK
Patreon
paypal.me/ChrisKankiewicz
Installs: 5 723
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 4
Forks: 3
Open Issues: 2
Requires
- php: >=7.1
- guzzlehttp/guzzle: ^6.0 || ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.3
- phlak/coding-standards: ^1.1
- phpunit/phpunit: ^9.0
- psy/psysh: ^0.10
- vimeo/psalm: ^4.0
This package is auto-updated.
Last update: 2024-11-29 05:09:35 UTC
README
PHP client library for the LIFX API (v1) -- by, Chris Kankiewicz (@PHLAK)
Introduction
LIFX Client is a LIFX API client library for PHP built with GuzzleHttp.
Refer to the full LIFX API documentation for more information about each method and it's available parameters.
Requirements
- PHP >= 7.1
Install with Composer
composer require phlak/lifx-client
Initializing the Client
First, import LIFX:
use PHLAK\LIFX;
Then instantiate the class with your LIFX OAuth 2 access token. You can generate an access token from your account settings page:
$lifx = new LIFX\Client('YOUR_APP_TOKEN');
Usage
List one or more lights via a selector:
$lifx->listLights($selector = 'all');
Set the state of one or more lights via a selector:
$lifx->setState($selector, array $params);
Set multiple states across multiple selectors:
$lifx->setStates(array $states, array $defaults = []);
Toggle the power of one or more lights via a selector:
$lifx->togglePower($selector, $duration = 1);
Cause one or more lights to breathe via a selector:
$lifx->breatheEffect($selector, $color, array $params = []);
Cause one or more lights to pulse via a selector:
$lifx->pulseEffect($selector, $color, array $params = []);
Make the light(s) cycle to the next or previous state in a list of states:
$lifx->cycle($selector, array $states, array $params = []);
Get a list of available scenes:
$lifx->listScenes();
Activate a scene:
$lifx->activateScene($sceneUuid, $duration = 1.0);
Validate a color string:
$lifx->validateColor($string);
Handling Exceptions
use GuzzleHttp\Exception\ClientException; try { $lifx->togglePower('id:123456789abcd'); } catch (ClientException $exception) { // Handle this exception here... }
See the GuzzleHttp exceptions documentation for more details.
Changelog
A list of changes can be found on the GitHub Releases page.
Troubleshooting
For general help and support join our [Spectrum Community](https://spectrum.chat/phlaknet or reach out on Twitter.
Please report bugs to the GitHub Issue Tracker.
Copyright
This project is licensed under the MIT License.