Giter VIP home page Giter VIP logo

tuyapi's Introduction

TuyAPI ๐ŸŒง ๐Ÿ”Œ

XO code style Build Status Coverage Status

A library for communicating with devices that use the Tuya cloud network. These devices are branded under many different names, but if port 6668 is open on your device chances are this library will work with it.

Installation

npm install codetheweb/tuyapi

Basic Usage

const TuyaDevice = require('tuyapi');

let tuya = new TuyaDevice({
  id: 'xxxxxxxxxxxxxxxxxxxx',
  key: 'xxxxxxxxxxxxxxxx',
  ip: 'xxx.xxx.xxx.xxx'});

tuya.get().then(status => {
  console.log('Status:', status);

  tuya.set({set: !status}).then(result => {
    console.log('Result of setting status to ' + !status + ': ' + result);

    tuya.get().then(status => {
      console.log('New status:', status);
      return;
    });
  });
});

This should report the current status, set the device to the opposite of what it currently is, then report the changed status.

See the setup instructions for how to find the needed parameters.

๐Ÿ“ Notes

  • Only one TCP connection can be in use with a device at once. If using this, do not have the app on your phone open.
  • Some devices ship with older firmware that may not work with tuyapi. If you're experiencing issues, please try updating the device's firmware in the offical app.

๐Ÿ““ Docs

See the docs.

TODO

  1. Document details of protocol
  2. Figure out correct CRC algorithm
  3. Keep connection open between requests

Contributors

Related

Ports

Projects built with TuyAPI

To add your projects to either of the above lists, please open a pull request.

forthebadge forthebadge

tuyapi's People

Contributors

cajonka avatar clach04 avatar codetheweb avatar dresende avatar ellneal avatar jepsonrob avatar kaveet avatar northernman54 avatar renovate-bot avatar renovate[bot] avatar tjfontaine avatar vkoop avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.