Tuya Smart Plug API (.NET Standard 2.0)
August 24, 2019 ยท View on GitHub
This .NET Standard 2.0 API allows programmatic control over the basic functions of Tuya Smart Plugs, including getting and setting Power status.
Requirements
- .NET Core 2.0
Known-working devices:
- Zentec Living Smart Plug Outlet with USB Port
- ISELECTOR Mini Smart Plug
- Xenon Smart Plug PW701U
- Teckin Smart Plug SH-SP23-2-UK
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: