Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

inverse/tuya-client-php

Repository files navigation

API Client for Tuya

CI codecov Author Software License Packagist Version Total Downloads

An WIP API Client for controlling Tuya products, heavily inspired by tuyapy.

From my understanding the API that this library uses is no longer supported and as such you'll have better luck leveraging a package such as: https://github.com/ground-creative/tuyapiphp

Currently Supporting

  • Switch devices

Installation

composer require inverse/tuya-client

Example

<?php

require __DIR__ . '/vendor/autoload.php';

use Inverse\TuyaClient\Session;
use Inverse\TuyaClient\ApiClient;
use Inverse\TuyaClient\Device\SwitchDevice;
use Inverse\TuyaClient\BizType;

// Setup credentials
$username = getenv('TUYA_USERNAME');
$password = getenv('TUYA_PASSWORD');
$countryCode = getenv('TUYA_COUNTRYCODE');
$bizType = new BizType(BizType::TUYA);

// Make client
$session = new Session($username, $password, $countryCode, $bizType);
$apiClient = new ApiClient($session);

// Get all devices
$devices = $apiClient->discoverDevices();

// Switch on all switches
foreach ($devices as $device) {
    if ($device instanceOf SwitchDevice) {
        if (!$device->isOn()) {
            $apiClient->sendEvent($device->getOnEvent());
        }
    }
}

Testing

Copy phpunit.xml.dist to phpunit.xml and replace the server variables with your credentials.

Licence

MIT

About

An API client for Tuya

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages