Home

Awesome

Tuya Smart Plug API (.NET Standard 2.0)

This .NET Standard 2.0 API allows programmatic control over the basic functions of Tuya Smart Plugs, including getting and setting Power status.

<img src="tuya-plug.jpg">

Requirements

Known-working devices:

Many Smart Plug devices compatible with the Tuya Smart Life and Jinvoo Smart app also appear to be compatible with the Tuya protocol.

Installation

Install-Package m4rcus.TuyaCore

Retrieving Tuya Plug ID and LocalKey values:

Check out the instructions at codetheweb/tuyapi

Usage

Console utility

> dotnet m4rcus.TuyaCore.Console.dll -i <ip> -k <localKey> -d <deviceId> [status|power-on|power-off]

Querying status, toggling power (async)

using m4rcus.TuyaCore;
var device = new TuyaPlug()
{
    IP = "192.168.0.101",
    LocalKey = "5f5f784cd82d449b",
    Id = "0120015260091453a970"
};
var status = await device.GetStatus();
await device.SetStatus(!status.Powered); // toggle power

Credits

Protocol details from @codetheweb and @clach04: