diogodourado/smartlife-control-php

SDK PHP para integrar e controlar dispositivos Smart Life (Tuya Cloud).

Maintainers

Package info

github.com/diogodourado/smartlife-control-php

pkg:composer/diogodourado/smartlife-control-php

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2025-11-25 21:11 UTC

This package is auto-updated.

Last update: 2026-03-25 21:49:43 UTC


README

SDK em PHP para integrar e controlar dispositivos Smart Life / Tuya Cloud via API oficial.

Permite:

  • Obter token da Tuya Cloud
  • Listar dispositivos vinculados ao seu usuário
  • Consultar status
  • Enviar comandos (ligar, desligar, ajustar, etc.)
  • Usar assinatura HMAC-SHA256 conforme documentação oficial

📦 Instalação

Via Composer:

composer require diogodourado/smartlife-control-php

⚙️ Configuração

Antes de usar, crie um projeto na Tuya IoT Platform e obtenha:

  • Access ID

  • Access Secret

  • Região/endpoint correto

    • https://openapi.tuyaus.com (USA)
    • https://openapi.tuyacn.com (China)
    • https://openapi.tuyaeu.com (Europa)
  • UID do usuário (obtido ao vincular o app Smart Life)

Edite:

examples/config.php

Exemplo:

return [
    'accessId'     => 'SEU_ACCESS_ID',
    'accessSecret' => 'SEU_ACCESS_SECRET',
    'endpoint'     => 'https://openapi.tuyaus.com',
    'tokenFile'    => __DIR__ . '/smartlife_token.json',
    'userId'       => 'SEU_UID_TUYA',
];

▶️ Fluxo básico

1) Obter o token e salvar

php examples/get_token.php

Isso salva automaticamente o token em:

examples/smartlife_token.json

2) Listar dispositivos

php examples/list_devices.php

3) Ligar / Desligar um dispositivo

php -S localhost:8000 -t examples

Depois acesse no navegador:

http://localhost:8000/toggle_device.php?deviceId=SEU_DEVICE_ID&on=1
http://localhost:8000/toggle_device.php?deviceId=SEU_DEVICE_ID&on=0

🧰 Estrutura do projeto

src/
  SmartlifeClient.php
  SmartlifeTokenStore.php

examples/
  config.php
  get_token.php
  list_devices.php
  toggle_device.php

README.md
composer.json
LICENSE

🛠 Tecnologias usadas

  • PHP 8+
  • Curl
  • HMAC-SHA256
  • Tuya OpenAPI v1.0

📌 Melhorias futuras

Estas são possíveis evoluções planejadas para versões futuras:

  • Suporte a WebSockets (receber status em tempo real)
  • Dashboard com Bootstrap
  • Listagem + status + controle em tempo real

👤 Autor

Desenvolvido por: Diogo Dourado

📧 diogo@dourado.net GitHub: https://github.com/diogodourado

📄 Licença

Este projeto é distribuído sob a licença MIT.