You’re telling me I need yet another account to use my Tapo and Kasa “smart” devices? Thanks, but no thanks. Here’s how to connect these to your Wi-Fi network without giving out personal information. This post assumes you have a Home Assistant instance up and running to manage your IoT devices.
Install python-kasa
pip install python-kasa
Join device to your home network
Some devices might require authentication, mine does not.
Scan for Wi-Fi access points:
$ kasa --host 192.168.0.1 wifi scan
Discovering device 192.168.0.1 for 10 seconds
Scanning for wifi networks, wait a second..
Found 5 wifi networks!
WifiNetwork(ssid='<SSID>', key_type='wpa2_psk', cipher_type=2, bssid='1E4D73E63290', channel=8, rssi=None, signal_level=2)
...
Scanning might fail. I got the following error after a reset of my Kasa HS100 (can’t rememeber if scaning worked the first time):
Raised error: Error on smartlife.iot.common.softaponboarding.get_scaninfo: {'err_code': -1, 'err_msg': 'module not support'}
In that case, join your network directly:
kasa --host 192.168.0.1 wifi join "<SSID>"
The keytypes are as follows:
0 - Open
1 - WEP
2 - WPA
3 - WPA2
4 - WPA3
Your device is now joined, you can add it in your Home Assistant instance to manage it.
If you ever change your Wi-Fi SSID and/or password: reset your Tapo/Kasa smart devices, join them to your network, and Home Assistant will recognize them automatically. They will be usable again right after joining.
Tapo cameras (Nov. 2025 update)
I got my hands on Tapo C210 indoor cameras, and they unfortunately must be setup in the Tapo app with a TP-Link account before they can be used in Home Assistant. You must enable “Third-Party Compatibility” under “Services” in the “Me” menu, as well as create a “Camera Account” under “Advanced Settings” for each of your cameras. Only then will you be able to add them into the TP-Link integration in Home Assistant.
While you have the app installed, make sure to update the firmwares and reboot the cameras after making the abovementioned changes (I couldn’t login in the integration at first, maybe the reboot helped, not sure).
The TP-Link integration unfortunately lacks a lot of features. Instead, you can take a look at Juraj Nyíri’s integration, which is specific to Tapo cameras and offers much more control. Your TP-Link password is required during setup, but the integration remains fully local according to the Readme. This means you can probably delete your account after adding your Tapo devices to HA. That’s probably true for the native integration as well, but I didn’t test it.
The app is however still useful to configure some settings not available in HA like framerate. If you no longer need it, you can archive it in recent versions of Android instead of uninstalling it completely, so that your account data remains on the device (no need to login again). And for good measure, I blocked any traffic from my cameras to WAN and vice-versa in my router.
References
https://python-kasa.readthedocs.io/
https://github.com/python-kasa/python-kasa/issues/1325
https://www.home-assistant.io/integrations/tplink#troubleshooting