This is a rewrite of the Govee API I wrote a while back. Govee changed the API to be more robust, so I am rewriting the code to accommodate.
NOTE: This is still a work in progress. As I commit more to it, it will become more stable, but for now it's not fully baked.
- PHP >8
You can install the package using the Composer package manager. You can install it by running this command in your project root:
composer require dutchie027/govee-api-v2
Rename .env.sample
to .env
and set the variables accordingly.
To use any of the Govee API functions, you first need a connection reference. The connection refrence can then be fed to either the Lights library or the Plugs library, or even both if you have both Govee Lights and Plugs.
Using the full name:
// Ensure we have the composer libraries
require_once ('vendor/autoload.php');
// Instantiate & Connect
$govee = new dutchie027\GoveeApiV2\Connect();
Using a namespace:
// Ensure we have the composer libraries
require_once ('vendor/autoload.php');
// Namespace
use dutchie027\GoveeApiV2\Connect;
// Instantiate with defaults
$govee = new Connect();
print $govee->getDeviceCount();
$array = $govee->getDeviceList();
NOTE: This function takes a boolean parameter. If the parameter is set to true it will return an array based on the Govee API. If it's set to false, it returns raw JSON.
$macArray = $govee->getDeviceMACArray();
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
)
If you're having problems, spot a bug, or have a feature suggestion, file an issue. If you want, feel free to fork the package and make a pull request. This is a work in progresss as I get more info and the Govee API grows.