This repository is now outdated and obsolete. Please use Tuya's official wrapper instead.
A TypeScript wrapper for Tuya's OpenAPI
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.
npm i @tuyapi/openapi
(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'));
})();