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