revolution/laravel-switchbot

SwitchBot API for Laravel

1.2.0 2024-02-20 04:53 UTC

This package is auto-updated.

Last update: 2024-11-29 09:30:21 UTC


README

tests Maintainability Test Coverage

https://github.com/OpenWonderLabs/SwitchBotAPI

Requirements

  • PHP >= 8.1
  • Laravel >= 10.0

Versioning

  • Basic : semver
  • Drop old PHP or Laravel version : +0.1
  • Support only latest major version (main branch)

Installation

composer require revolution/laravel-switchbot

Configuration

Get tokens from the SwitchBot app.

.env

SWITCHBOT_TOKEN=
SWITCHBOT_SECRET=

Usage

Built as a Laravel HTTP client macro.

use Illuminate\Support\Facades\Http;

$response = Http::switchbot()->get('devices');

dump($response->json());

$deviceId = $response->json('body.deviceList.0.deviceId');
if (filled($deviceId)) {
    $response = Http::switchbot()->get("devices/$deviceId/status");
    dump($response->json());
}
use Illuminate\Support\Facades\Http;

$response = Http::switchbot()->get('scenes');
dump($response->json());

Testing

use Illuminate\Support\Facades\Http;

Http::fake([
    '*' => Http::response([
        "statusCode" => 100,
        "body" => [
            "deviceList" => [],
            "infraredRemoteList" => [],
        ],
        "message" => "success",
   ]),
]);

$response = Http::switchbot()->get('devices');

$this->assertSame(100, $response->json('statusCode'));

LICENSE

MIT