Skip to content

ameesme/openapi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A TypeScript wrapper for Tuya's OpenAPI

XO code style Build Status

Why?

There is another package called @tuyapi/cloud. Why does this one exist?

The other package deals with Tuya's 'mobile' API, which has limited usefulness as Tuya seems to be phasing it out.

This package instead uses their 'OpenAPI', the solution that they recommend third-party applications use.

Installation

npm i @tuyapi/openapi

Example Usage

(The schema value is your unique app ID from the Tuya console.)

const OpenAPI = require('@tuyapi/openapi');

const api = new OpenAPI({key: '10101010', secret: '1010101010', schema: '10101010'});

(async () => {
  // Must be called before any other operations to get auth token
  await api.getToken();

  const uid = await api.putUser({
    countryCode: '1',
    username: 'your-username',
    password: 'your-password',
    usernameType: 1});

  console.log(uid);

  const token = await api.getDeviceToken({uid, timezone: 'America/Chicago'});

  console.log(token);

  console.log(await api.getDevicesByToken('EkjQjlbo'));
})();

Packages

No packages published

Languages

  • TypeScript 100.0%