Tapo

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

Device support

| Feature | GenericDevice | L510, L610 | L530, L630, L900 | L920, L930 | P100, P105 | P110, P115 | | --------------------- | ------------: | ---------: | ---------------: | ---------: | ---------: | ---------: | | on | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | off | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | getdeviceinfo | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | getdeviceusage | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | getenergyusage | | | | | | ✓ | | getenergydata | | | | | | ✓ | | setbrightness | | ✓ | ✓ | ✓ | | | | setcolor | | | ✓ | ✓ | | | | sethuesaturation | | | ✓ | ✓ | | | | setcolortemperature | | | ✓ | ✓ | | | | setlightingeffect | | | | ✓ | | | | set() API * | | ✓ | ✓ | ✓ | | |

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

Examples

```bash export IPADDRESS= export TAPOUSERNAME= 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

powershell choco install openssl

or with vcpkg

powershell 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

Credits

Inspired by petretiandrea/plugp100.