TuyAPI was my first major, published entry into the world of open source. It's a collection of packages that enable the control of thousands of cheap IoT devices. Smart plugs, robot vaccums, and washing machines - TuyAPI can control them all. Although other scripts exist that allow you to flash custom firmware on Tuya devices, TuyAPI implements a reverse-engineered version of the manufacturer's protocol.

I originally created TuyAPI to allow Homebridge to control smart plugs, and decided to open-source it so other people could use it too. It's now by far my most popular project.

Although I learned a lot about TCP protocols, encryption, and Node.js; probably the most benifical aspect for me was the immense amount of collaboration. I learned first-hand what it was like to be an open source maintainer, with all the highs and lows that come with that.

There hasn't been much new development on TuyAPI for a while since the project is now fairly stable, but I still spend a decent amount of time every week replying to support-related issues.

return to home