tapo 0.5.0

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

Tapo

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

Device support

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

* The P105 devices can be interacted with using the P100 API.
** The P115 devices can be interacted with using the P110 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.