tapo 0.3.1

Tapo API Client. Works with light bulbs (L530, L510), plugs (P110, P100), and others.
Documentation

Tapo

Crates Documentation CI license Crates.io
Unofficial Tapo API Client. Works with TP-Link Tapo smart devices. Tested with light bulbs (L530, L510) and plugs (P110, P100).

Device support

Feature L530 L510 P110 P100 GenericDevice
on
off
get_device_info
get_device_usage
get_energy_usage
set_brightness
set_color
set_hue_saturation
set_color_temperature
set() API *

* The set() API allows multiple properties to be set in a single request.

Examples

export IP_ADDRESS=
export TAPO_USERNAME=
export TAPO_PASSWORD=

cargo run --example tapo_l530

See all examples in /examples.

Contributing

Contributions are welcome and encouraged! See /CONTRIBUTING.md.

Troubleshooting

1. Installing openssl on Windows

With chocolatey

choco install openssl
[System.Environment]::SetEnvironmentVariable('OPENSSL_DIR', $Env:Programfiles + "\OpenSSL-Win64", "User")

or with vcpkg

git clone git@github.com:microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.bat
./vcpkg.exe install openssl-windows:x64-windows
./vcpkg.exe install openssl:x64-windows-static
./vcpkg.exe integrate install
[System.Environment]::SetEnvironmentVariable('OPENSSL_DIR', (Get-Location).Path + "\installed\x64-windows-static", "User")

Credits

Inspired by petretiandrea/plugp100.