Your rating: None Average: 5 (6 votes)

Kasa is an app to control TP-Link Kasa smarthome devices.

The code is part of my own Qt based smarthome project (never finished ;-)).
Here it comes to new life!

Hope I am not the only one in this community with TP-Link devices!

Supported Devices

  • HS100
  • HS110
  • KL110 (thanks to 24mu13 for his help)

I only own these devices, so no chance to test other ones. The protocol should be the same on all devices.
If somebody can test other devices, please contact me. We can try to get them working.

Supported Features

  • Add device by IP/Hostname
  • Turn on/off
  • Turn LED on/off
  • Show device info and energy consumtion (HS110 only)
  • Restart the device
  • Change cloud url to prevent the device from calling home
  • Change MAC address
  • Change device alias
  • Cloud registration active / inactive
  • Energy consumption chart for actual month / year (HS110 only) (WIP)

Planned Features

  • Autodetect of devices in the network
  • Charts for energy consumption (use device internal data / HS110 only)
  • Reset device
  • Setup device (factory new /reset)
  • Schedule support
  • Change WiFi settings
  • ...

Special Thanks

Development Support

If you want to support the development of this app, especially if you have an unsupported TP-Link device, please enable debugging in the app settings.
Please send me the debug log data in "Documents/harbour-kasa" folder on your device.

For testing unkown Devices I need you help. I will provide you some commands wich you can test inside the app, so please contact me for this. This option you find in the context menu of the device in device list page. You need to add the device via IP address first. Before sending the command in the app, it is a good idea to delete old debugging logs first. After sending the commands, send me the files in "Documents/harbour-kasa".

Intention of this project

This app is part of my plan to replace all android apps I use with native ones. If they don't exist, I will try to create one.


Your language is not available? You are welcome to support this project by translating it on my self hosted Weblate server:


Source code is available on Github:



If you like my work you can buy me a beer.


Donate using Liberapay

Application versions: 
File harbour-kasa-0.1.0-1.armv7hl.rpm93.54 KB13/09/2020 - 17:52
File harbour-kasa-0.1.1-1.armv7hl.rpm98.13 KB13/09/2020 - 22:13
File harbour-kasa-0.1.2-1.armv7hl.rpm109.26 KB14/09/2020 - 10:33
File harbour-kasa-0.1.3-1.armv7hl.rpm121.22 KB14/09/2020 - 14:58
File harbour-kasa-0.1.4-1.armv7hl.rpm122.41 KB15/09/2020 - 16:27
File harbour-kasa-0.1.5-1.armv7hl.rpm122.67 KB25/10/2020 - 21:59
File harbour-kasa-0.1.6-1.armv7hl.rpm122.57 KB27/10/2020 - 22:58
File harbour-kasa-0.1.7-1.armv7hl.rpm122.49 KB30/10/2020 - 23:00
File harbour-kasa-0.1.8-1.armv7hl.rpm124.29 KB07/11/2020 - 11:18
File harbour-kasa-0.1.9-1.armv7hl.rpm125.62 KB08/11/2020 - 19:53
File harbour-kasa-0.1.10-1.armv7hl.rpm129.08 KB12/11/2020 - 22:33
File harbour-kasa-0.1.11-1.armv7hl.rpm132.07 KB09/03/2021 - 21:54
File harbour-kasa-0.1.11-1.i486.rpm141.73 KB09/03/2021 - 21:54
File harbour-kasa-0.1.12-1.armv7hl.rpm133.84 KB11/03/2021 - 20:47
File harbour-kasa-0.1.12-1.i486.rpm143.4 KB11/03/2021 - 20:47
File harbour-kasa-0.2.0-1.i486.rpm147.63 KB18/12/2021 - 15:35
File harbour-kasa-0.2.0-1.armv7hl.rpm137.71 KB18/12/2021 - 15:35
File harbour-kasa-0.2.0-1.aarch64.rpm141.6 KB18/12/2021 - 15:35
File harbour-kasa-0.2.1-1.i486.rpm149.96 KB09/01/2022 - 08:41
File harbour-kasa-0.2.1-1.armv7hl.rpm140.33 KB09/01/2022 - 08:41
File harbour-kasa-0.2.1-1.aarch64.rpm144.15 KB09/01/2022 - 08:41
* Sun Jan 09 2022 Black Sheep <blacksheep@nubecula.org> 0.2.1-1
- Fixed Sailjail settings
- Add Russian language by potap14108
- Bugfixes and Improvements

* Sat Dec 18 2021 Black Sheep <blacksheep@nubecula.org> 0.2.0-1
- SailJail support
- Switched to id based translation

* Thu Mar 11 2021 Black Sheep <blacksheep@nubecula.org> 0.1.12-1
- Added polish translation (thanks to atlochowski)

* Tue Mar 09 2021 Black Sheep <blacksheep@nubecula.org> 0.1.11-1
- Code improvements
- Add translation info

* Thu Nov 12 2020 Black Sheep <blacksheep@nubecula.org> 0.1.10-1
- Added support for KL110 dimmable light bulb (thanks to 24mu13 for his help)

* Sun Nov 08 2020 Black Sheep <blacksheep@nubecula.org> 0.1.9-1
- Add function to send custom commands to device for testing (available in device list context menu when debugging is on)
- Preperations to support KL110 light bulb

* Sat Nov 07 2020 Black Sheep <blacksheep@nubecula.org> 0.1.8-1
- Adding a debug option in settings for development purpose
- Code improvements

* Fri Oct 30 2020 Black Sheep <blacksheep@nubecula.org> 0.1.7-1
- Code cleanup

* Tue Oct 27 2020 Black Sheep <blacksheep@nubecula.org> 0.1.6-1
- UI improvements
- Code improvements

* Sun Oct 25 2020 Black Sheep <blacksheep@nubecula.org> 0.1.5-1
- UI improvements
- Code cleanup

* Tue Sep 15 2020 Black Sheep <blacksheep@nubecula.org> 0.1.4-1
- Handle device getting offline or occurance of network errors

* Mon Sep 14 2020 Black Sheep <blacksheep@nubecula.org> 0.1.3-1
- Add energy consumption chart for current month / year

* Mon Sep 14 2020 Black Sheep <blacksheep@nubecula.org> 0.1.2-1
- Add cloud login/logout
- Add expert settings page
- changed icon style
- Many bugfixes

* Sun Sep 13 2020 Black Sheep <blacksheep@nubecula.org> 0.1.1-1
- More device settings and bugfixes

* Sun Sep 13 2020 Black Sheep <blacksheep@nubecula.org> 0.1.0-1
- Initial release