Tapo
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
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.