npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@tylerryork/homebridge-tuya-platform

v1.0.7

Published

Tuya plugin for Hombridge, forked from @0x5e, former employee of Tuya.

Downloads

22

Readme

@0x5e/homebridge-tuya-platform

npm npm mit-license verified-by-homebridge Build and Lint

Fork version of official Tuya Homebridge plugin. Brings a lot of bug fix and new device support.

Features

  • Optimized code, improved code readability and maintainability.
  • Improved stability.
  • Less duplicate code.
  • Less API errors.
  • Less development costs for new accessory categroies.
  • More supported devices.
    • [Light] Spotlight (sxd)
    • [Light] Motion Sensor Light (gyd)
    • [Dimmer] Dual Dimmer (tgq)
    • [Dimmer] Dual Dimmer Switch (tgkg)
    • [Switch] Scene Light Socket (qjdcz)
    • [Fanv2] Ceiling Fan Light (fsd)
    • [Window] Door and Window Controller (mc)
    • [WindowCovering] Curtain Switch (clkg)
    • [Thermostat] Thermostat (wk)
    • [Thermostat] Thermostat Valve (wkf)
    • [Valve] Irrigator (ggq)
    • [AirQualitySensor] PM2.5 Detector (pm25)
    • [TemperatureHumiditySensor] Temperature and Humidity Sensor (wsdcg)
    • [MotionSensor] Motion Sensor (pir)
    • [HumanPresenceSensor] Human Presence Sensor (hps)
    • [LightSensor] Light Sensor (ldcg)
    • [CarbonMonoxideSensor] CO Detector (cobj)
    • [CarbonDioxideSensor] CO2 Detector (co2bj)
    • [LeakSensor] Water Detector (sj)
    • [HumidifierDehumidifier] Humidifier (jsq)

Supported Tuya Devices

See SUPPORTED_DEVICES.md

Changelogs

See CHANGELOG.md

Installation

Before use, please uninstall homebridge-tuya-platform first. They can't run together. (But the config is compatible, no need to delete.)

For Homebridge Web UI Users

Go to plugin page, search @0x5e/homebridge-tuya-platform and install.

For Homebridge Command Line Users

npm install @0x5e/homebridge-tuya-platform

Configuration

There's two type of project: Custom and Smart Home. The differenct between them is:

  • Custom Project pull devices from project's asset.
  • Smart Home Project pull devices from Tuya App user's home.

If you are personal user and don't know which to choose, please use Smart Home.

Before configuration, please goto Tuya IoT Platform

  • Create a cloud develop project, select the data center where your app account located. See Mappings Between OEM App Accounts and Data Centers (If you don't know where it is, just select all.)
  • Go to Project Page > Devices Panel > Link Tuya App Account, link your app account.
  • Go to Project Page > Service API > Go to Authorize, subscribe the following APIs (it's free for trial):
    • Authorization Token Management
    • Device Status Notification
    • IoT Core
    • Industry Project Client Service (for "Custom" project)
  • ⚠️Extend the API trial period every 6 months here (first-time subscription only give 1 month): Tuya IoT Platform -> Cloud -> Cloud Services -> IoT Core

For "Custom" Project

For "Smart Home" Project

  • platform - required : Must be 'TuyaPlatform'
  • options.projectType - required : Must be '2'
  • options.accessId - required : Access ID from Tuya IoT Platform -> Cloud Develop
  • options.accessKey - required : Access Secret from Tuya IoT Platform -> Cloud Develop
  • options.countryCode - required : Country Code
  • options.username - required : Username
  • options.password - required : Password
  • options.appSchema - required : App schema. 'tuyaSmart' for Tuya Smart App, 'smartlife' for Smart Life App.
  • options.homeWhitelist - optional: An array of integer home ID values to whitelist. If present, only includes devices matching this Home ID value.

Limitations

  • ⚠️Don't forget to extend the API trial period every 6 months. Maybe you can set up a reminder in calendar.
  • The app account can't be used in multiple HomeBridge/HomeAssistant instance at the same time! Please consider using different app accounts instead.
  • The plugin requires the internet access to Tuya Cloud, and the lan protocol is not supported. See #90

Troubleshooting

When your device is not working well, or not supported yet, please submit the issue and upload your device informations. If that's still not enough, you can enable the debug mode to get the detail log.

Get Device Information

After successful launching Homebridge, the device list will be saved inside Homebridge's persist path. You can get the file path from running log like this:

[2022/11/3 18:37:43] [TuyaPlatform] Device list saved at ~/.homebridge/persist/TuyaDeviceList.{uid}.json

Please remove the sensitive data such as ip, lon, lat, local_key, uid before uploading.

Enable Debug Mode

For Homebridge Web UI users:

  • Go to the Homebridge Setting page
  • Turn on the Homebridge Debug Mode -D switch
  • Restart HomeBridge.

For Homebridge Command Line Users:

  • Start Homebridge with -D flag: homebridge -D

Contributing

Please see https://github.com/homebridge/homebridge-plugin-template

PRs and issues are welcome.

Thank you for spend time using the project. If it helps you, don't hesitate to give it a star 🌟:-)