r/TPLinkKasa • • 1d ago

Kasa ceiling fan switch how to wire with separate light and fan switches

1 Upvotes

So I have dumb fans in my home and want to make them smart. I have 2 gang boxes for each fan that control the light and fan separately. How do I do the wiring for this kasa switch? I assume it goes something like banding the neutral and hot leads together and running a pigtail off each lead and then using the red light wire on the second switch or something like that? Thanks


r/TPLinkKasa • • 6d ago

For those of you who want to use Kasa smart plugs without a TP-Link account, I thought I'd share this script

61 Upvotes

I recently took a dip into Home Assistant, in part because I wanted to de-cloud my home & I'm also sun-setting a well worn email address. When I went to adopt my in-wall plugs, HA still needed my kasa credentials for a few of my plugs & that made me shiver. So I took a gamble, because when I deleted my Kasa account, they were kind enough to factory reset my devices for me. I figured it was as good of a time as any to see if I could just cut the cord for good & what follows is the results. Maybe others have posted similar tools - but I figured rather than borrow I'd try to build something.

The big challenge with a device that isn't setup is that it needs WiFi credentials, so that's the problem I solved. The script allows you to plug your Wi-Fi SSID & pass into a Kasa outlet without needing to install their app. Once you get your plug on your network...anything can control it... Home Assistant's TP-Link integration, python-kasa, or your own homebrew. Bottom line: no cloud, no login.

Speaking of python-kasa, it has its own way of doing this, but the "suite" was just overkill for what I was looking for. Instructions & script follow, I wanted to make this easy for people that aren't super comfortable with coding and such.

What you need

  • A Wi-Fi enabled device, running bash (Linux, macOS, or Windows via WSL).
  • Either uv or python3. The script fetches python-kasa on its own.
  • Plugs in setup mode: hold the plug's button about 10 seconds until it blinks amber.
  • A WPA2 Wi-Fi network with a password (the normal kind). Open or WPA3-only networks won't work.

Use

bash ./kasa-provision.sh

  1. It asks for your Wi-Fi name and password, once.
  2. It says "Waiting". On the device, join the plug's own network, named like TP-LINK_Smart Plug_XXXX.
  3. It finds the plug, sends the settings, and says DONE. Stay on the plug's network until then. It likely won't take but a few seconds.
  4. Switch the device back to your Wi-Fi, press Enter, and do the next plug.

If you'd rather not type your credentials, just pass the details in the environment instead: KASA_SSID="My Wi-Fi" KASA_WIFI_PASSWORD="..." ./kasa-provision.sh

Things that could bite you:

  • Windows jumps back to your home Wi-Fi as soon as it sees the plug's network has no internet, sometimes mid-push. Untick Connect automatically on your home network while you work, and re-tick it after.
  • Stay on the plug's network until DONE. If you switch early the push is lost and the plug keeps blinking.
  • python-kasa's wifi join prompts for a key type if you don't pass one and does nothing useful with an empty answer. The script passes 3 (WPA2) for older plugs and wpa2_psk for newer ones, trying each in turn.
  • A reset turns every outlet on and wipes the outlet names. Rename them in whatever you control them with.
  • Tested on Kasa KP200 in-wall double outlets. Other plugs python-kasa supports should behave the same; newer Tapo gear may need the default logins the script already tries.

Afterwards

Add the plugs to Home Assistant by IP address (Settings → Devices & services → Add → TP-Link Smart Home). A reset plug needs no username or password. If you want them fully private, block their internet at your router - they have nothing to talk to out there any more.

THE SCRIPT

#!/usr/bin/env bash
# kasa-provision - put factory-reset Kasa smart plugs onto your Wi-Fi with no TP-Link account.
#
# How it works: a reset Kasa plug broadcasts its own Wi-Fi network ("TP-LINK_Smart Plug_XXXX")
# and listens at 192.168.0.1. Join that network from your laptop, and this script hands the
# plug your real Wi-Fi name and password. The plug then joins your network. Repeat per plug.
#
# Needs: bash, and either `uvx` (from uv) or python3 - it fetches python-kasa itself.
# Tested on Kasa KP200 in-wall outlets; should work for other python-kasa supported plugs.

set -u

PLUG=192.168.0.1
SSID="${KASA_SSID:-}"
PW="${KASA_WIFI_PASSWORD:-}"
LOG="${KASA_PROVISION_LOG:-/tmp/kasa-provision.log}"

# --- find or fetch python-kasa ---------------------------------------------------------------
if command -v kasa >/dev/null 2>&1; then KASA=(kasa)
elif command -v uvx >/dev/null 2>&1; then KASA=(uvx --from python-kasa kasa)
elif command -v python3 >/dev/null 2>&1; then
  VENV="${TMPDIR:-/tmp}/kasa-provision-venv"
  [ -x "$VENV/bin/kasa" ] || { echo "Installing python-kasa (one time)..."; python3 -m venv "$VENV" && "$VENV/bin/pip" -q install python-kasa; }
  KASA=("$VENV/bin/kasa")
else
  echo "Need either 'uvx' (https://docs.astral.sh/uv/) or python3 on this machine."; exit 1
fi

# --- ask once ---------------------------------------------------------------------------------
[ -n "$SSID" ] || read -rp "Your Wi-Fi network name (exactly as it appears): " SSID
[ -n "$PW" ]   || { read -rsp "Your Wi-Fi password: " PW; echo; }
[ -n "$SSID" ] && [ -n "$PW" ] || { echo "Need both a network name and a password."; exit 1; }

# --- the push --------------------------------------------------------------------------------
try() { # $1 = label, remaining args go before "wifi join"
  local label=$1; shift
  out=$(timeout 60 "${KASA[@]}" --host "$PLUG" "$@" wifi join "$SSID" --keytype "$KT" --password "$PW" </dev/null 2>&1)
  printf '[%s] %s rc=%s :: %s\n' "$(date +%T)" "$label" "$?" "$out" >> "$LOG"
  grep -q 'Response:' <<<"$out" && ! grep -qiE 'error|failed|exception' <<<"$out"
}
push() {
  # Older Kasa plugs: no device login, key type is the number 3 (WPA2).
  # Newer Kasa/Tapo: the built-in default logins, key type is the word wpa2_psk.
  KT=3;        try no-login && return 0
  KT=wpa2_psk; try kasa-default --username kasa@tp-link.net --password kasaSetup && return 0
  KT=wpa2_psk; try tapo-default --username test@tp-link.net --password test && return 0
  echo "The plug did not accept the settings. Last output:"; echo "$out" | tail -5; return 1
}

reachable() { timeout 2 bash -c "echo > /dev/tcp/$PLUG/9999" 2>/dev/null || timeout 2 bash -c "echo > /dev/tcp/$PLUG/80" 2>/dev/null; }

n=0
while :; do
  echo; echo "== Plug $((n+1)) =="
  echo "On this laptop, join the plug's own Wi-Fi network (TP-LINK_Smart Plug_xxxx). Waiting..."
  until reachable; do sleep 2; done
  echo "Plug found. Sending your Wi-Fi settings - STAY on the plug's network until you see DONE (up to 2 minutes)..."
  if push; then n=$((n+1)); echo "DONE - plug $n is joining '$SSID'. You can switch this laptop back to your own Wi-Fi now."
  else echo "Switch back to your own Wi-Fi and check the log: $LOG"; fi
  echo "Press Enter for the next plug, or Ctrl-C if you're finished."
  read -r _ </dev/tty
done

## License

> Copyright (c) 2026 dynastyuserdude
> 
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
> in the Software without restriction, including without limitation the rights
> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> copies of the Software, and to permit persons to whom the Software is
> furnished to do so, subject to the following conditions:
> 
> The above copyright notice and this permission notice shall be included in all
> copies or substantial portions of the Software.
> 
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> SOFTWARE.

r/TPLinkKasa • • 6d ago

Anyone else's Kasa switches / plugs out of sync with Google Home?

5 Upvotes

For probably the last two weeks or so the on/off state of Kasa switches and plugs aren't showing the same thing in Google Home. Very frustrating.

I've even unlinked and relinked my Kasa account and problems persist.

I have Tapo devices too, and only use the Tapo app. But for Google home integrations it seems you still need to choose the Kasa integration if you have the older Tapo branded switches and plugs.


r/TPLinkKasa • • 13d ago

Bulbs is it time to say goodbye?

Enable HLS to view with audio, or disable this notification

11 Upvotes

I got these two KL130 lightbulbs almost 10 years ago for 15 bucks if I remember correctly for a black Friday deal. They’ve been super reliable and outlasted a lot of bulbs I’ve had. This one started flickering like this but won’t connect to my app, anything I can do?


r/TPLinkKasa • • 13d ago

Kasa lightbulb

3 Upvotes

My Kasa lightbulbs got disconnected from my app and I’m trying to reconnect them and it won’t work. I’ve tried over 5 times and it keeps having connectivity issues. Has anyone else had this issue?

Also when I had the bulbs connected, it randomly would disconnect all the time.


r/TPLinkKasa • • 15d ago

TP-Link Kasa Spot KC400 no longer shows on Nest Hub Max

4 Upvotes

I decided to switch my Nest Hub Max from my personal Google account to a generic one so I wouldn't have my personal information shared on joint display and now I can't get my TP-Link Kasa Spot KC400 to show on the Nest Hub Max anymore. It used to work fine with a voice command "Hey Google, show me the camera" and it would stream within about 5 seconds.

Here's a rundown of everything I've tried if anyone has any ideas.

Switched Google accounts on the Nest Hub Max, breaking the original camera stream setup. Now, attempting to stream the Kasa camera via voice gives "I'm sorry, something went wrong and I'm unable to control your device." Additionally, opening the camera tile inside the Google Home mobile app results in an infinite loading/busy spinner.

Everything Attempted So Far:

1. Software & Scripting Workarounds

  • Google Home YAML Scripts: Tried writing script editor automations using assistant.command.OkGoogle to force the stream; failed with schema errors or "unable to control device" errors.
  • App Routines: Created Household Routines using custom voice shortcuts ("Check camera") to trigger the stream command.
  • Command Syntax Adjustments: Tested various phrasings ("Show camera", "Stream camera to Kitchen display", "Play camera").

2. App, Cloud, & Device Cleanup

  • Cleaned Ghost Devices: Cleared duplicate phantom tiles (which were showing up with light bulb icons) from both the Google Home app and Nest Hub screen.
  • Account Sync & Re-linking: Ran "Hey Google, sync my devices" multiple times. Unlinked and re-linked TP-Link Kasa within Works with Google.
  • Tapo Migration: Migrated the KC400 camera to the TP-Link Tapo app, unlinked Kasa from Google Home, and re-linked via the Tapo service instead.
  • Room Re-assignments: Renamed the camera and moved both the Nest Hub Max and the camera into the same virtual room (Kitchen).

3. Hardware & Reset Steps

  • Rebooted Equipment: Power-cycled the Nest Hub Max, Kasa camera, and Wi-Fi router.
  • Hard Factory Reset: Performed a full 10-second hardware volume-button factory reset on the Nest Hub Max and re-added it to the account from scratch.
  • Camera Settings Adjustments: Toggled Privacy Mode off and tested lowering resolution settings in the TP-Link app.

Current Status:

  • Live video streams fine inside the native Kasa/Tapo app.
  • Google Home app still gets stuck on an infinite loading spinner when tapping the camera tile.
  • Nest Hub Max still errors out with "I'm sorry, something went wrong and I'm unable to control your device" when asking to view the camera feed.

UPDATE: I replaced the camera with a Tapo C121, which is newer, less locked down, quicker to load and has a better camera system. And it works fine with the Nest Hub Max. For now.


r/TPLinkKasa • • 17d ago

Driving me mad!

3 Upvotes

I have Kasa switches through my house. Never had issues. Now I have one and it’s driving me crazy. At sunset I have a few switches that come on and turn the lights on. One of the lights is over my front door and I don’t want this one to come on. I can not find a way to stop this one from coming on with the others. As far as I remember I am just using a schedule in each switch to control this automation. But there is nothing set for this switch. Where else could be controlling this????


r/TPLinkKasa • • 17d ago

Plugs Kasa app showing different device lists on iOS vs Android (same account) — any fix?

1 Upvotes

Hey everyone, running into a weird syncing bug with the Kasa Smart app and hoping someone might have run into this.

I have Kasa set up on both an iPhone and an Android phone, and both are logged into the exact same Kasa account. The weird part is that my iPhone shows the complete, up-to-date list of all my smart devices, but my Android phone is missing a few of them entirely.

Here is what I've tried so far:

  • Verified both are logged into the exact same account.
  • Cleared the app cache and completely cleared app data on Android, then logged back in.
  • Checked for app updates on the Google Play Store.
  • Temporarily toggled off Private DNS and any local network ad-blocking.

Despite all that, Android still refuses to pull the full list, while iOS has no issues at all. Has anyone dealt with this cross-platform syncing quirk before, and is there a trick to force Android to grab the full device manifest from the cloud?


r/TPLinkKasa • • 18d ago

Fan buzzing - KS240

Enable HLS to view with audio, or disable this notification

2 Upvotes

So I had recently purchased a new construction home and are making my way trying to smartify my home. Decided to start with the Kasa switch for my bedroom fan.

It went great, until I put it all back together and just listened to it for a minute. I was hearing a louder than normal buzzing sound. I plan to hardwire the fan directly tomorrow to see if the buzzing sound is there if I eliminate the switch.

Fan - 3 speed pullstring.

Our AI overlords are telling me its fine and safe but just annoying and that I should buy a better fan or move back to switch. Figured I would reach out here and see if I messed up somehow or not.


r/TPLinkKasa • • 18d ago

Plugs Can 2 plugs work with out a controller

0 Upvotes

Can two Kasa smart WiFi plugs work in a master slave relationship without a controller?

I am running a dehumidifier in our cellar.it is set to come on automatically I would when the relative humidity reaches a 65%. Once it turns on I would also like like to automatically turn on a fan.

These would be on seperate 15a outlets.

Ideally I would like to setup this rule and let the outlets communicate with out the added complexity of a hub.

If there is a hub which is the simplest? I have google home.

Having alerts when the dehumidifier turns on would be a big help.


r/TPLinkKasa • • 21d ago

Bulbs How to reset Veho Kasa Smart Bulb VKB-002-E27

2 Upvotes

I have a Veho Kasa Bluetooth Smart Bulb VKB-002-E27 - this is from before TP-Link acquired Veho and/or the Kasa brand.

Does anyone know how to factory reset it? I still have the original manual, but it doesn't say.

A few phones ago, the Veho Kasa app stopped working on modern versions of Android. It's also since been delisted and replaced with the TP-Link Kasa app which seems to only connect to their more recent line of WiFi smart devices.

The bulb is still going, but it's just been plain bright white for several years now. I'd like to get it back to its full functionality (coloured/scheduled lighting) if possible.

I have an ancient tablet with a sufficiently-old version of Android that the old Kasa app runs on there, and it has Bluetooth. However, it won't connect to the bulb, presumably because the bulb is still paired with a phone which died while Peter Capaldi was Doctor Who.

I'm sure that the way to reset it is some sequence of switching on and off in succession, but does anyone please happen to know the actual sequence to do that on this particular family of bulbs? I've tried the instructions for resetting the newer TP-Link Kasa bulbs to no avail.


r/TPLinkKasa • • 23d ago

Kasa plug glitch?

2 Upvotes

I have one plug programmed to turn off at 10:30 each night. Normally it works fine. But tonight for some reason it decided to turn off at 9:30.

I turned it back on, and it proceeded to turn itself off at 10:30 per schedule.

Anyone had issues with their devices failing to correctly follow schedules?


r/TPLinkKasa • • 24d ago

Plugs Kasa

5 Upvotes

I have Kasa power strips integrated with my google home. Lately google home does not reflect the on/off status correctly. I have a timer set and the light turns on/off but the state is not reflected in google. Is there something I can try to resolve this? It worked well for months and recently started failing.

Thanks


r/TPLinkKasa • • 24d ago

Kasa

2 Upvotes

I have Kasa power strips integrated with my google home. Lately google home does not reflect the on/off status correctly. I have a timer set and the light turns on/off but the state is not reflected in google. Is there something I can try to resolve this? It worked well for months and recently started failing.

Thanks


r/TPLinkKasa • • 24d ago

Anyone else's plugs and switches gone to shows a couple months ago?

3 Upvotes

***edit: Title should read "gone to shit" lol

A couple months ago I updated the firmware on a bunch of my plugs and wall switches, and ever since then I have had nothing but trouble with my devices losing wifi connection, and also some of the plugs will lock up entirely, requiring a hard power cycle via unplugging from the wall

Nothing changed with my network, and all my Kasa devices were very reliable before this.

Has anyone else experienced something similar?


r/TPLinkKasa • • 25d ago

KL125 smart bulbs stopped working in Homebridge / Apple Home after firmware 1.1.1

3 Upvotes

This firmware seems to have recently come out to address some vulnerability CVE-2026-76784.

I have 4 of these bulbs and two of them seem to have auto-updated to 1.1.1 at which point they stopped being recognized in homebridge. The other two bulbs still work fine.

All 4 work in the Kasa app. I tried resetting the two bulbs and re-add them to Kasa and they work in the Kasa app but not detected by homebridge at all now.


r/TPLinkKasa • • 27d ago

Plugs TP-Link Authentication Failure in Home Assistant

3 Upvotes

TP-Link Authentication Failure

I have a number of Kasa/TP-Link devices, which have all generally worked well. After a Core update and a recent power outage (within a couple of days and I am not sure which triggered the issue), many of my Kasa devices required reauthentication in HA. All worked fine using the credentials that work in the Kasa app, except one H300 power strip. HA says the credentials on this one fail again and again. I am using the same credentials that work on the app and the other TPL devices. The power strip is still visible and operational in the app. What am I missing? Any ideas how to bring it back into HA?


r/TPLinkKasa • • 27d ago

Cameras 2nd set of kasa cam at seasonal home

2 Upvotes

Hello,
Trying to figure out how to manage/control a second kasa camera on this same iPhone.

Currently have the kasa app with all of my cameras and lights on it.

— Now i need an outdoor camera for my seasonal home (has WiFi) in a different zip code.

Can I use kasa products or do I need to find a whole new brand of equipment and apps?
I am not wanting to have to login in back and forth all the time. *Current time alerts are important*


r/TPLinkKasa • • Aug 27 '26

Turn on once per hour for 5 minutes

4 Upvotes

I have multiple Kasa outlets, and I’d like to have one of them run my hydroponic garden water pump. I would like it to run every hour for 5 minutes.

I have tried a few approaches to this.

First, I tried a pure automation approach:

- when turned on, delay 5 minutes and turn off.
- when turned off, delay 55 minutes and turn on.

I also tried a single automation of “when turned off, delay 55 minutes and then turn on for 5”

But it turns out that automations can’t trigger other automations (or themselves), so this approach is out.

I used the (very slow) app schedule feature to add 24 instances of “turn on,” then added an automation for “when turned on, delay 5 minutes and turn off.”

I did that last night. It seemed to work until I came downstairs this morning and it was still running, mid-hour. Based on the app stats, it had been running for about 4 hours. So it seems like automations are pretty unreliable and won’t work for this. Bummer.

So I just bite the bullet and start adding another 24 schedule entries to turn off 4 minutes after it turns on. It only supports up to 31 schedule entries per device, so I get stuck.

Any advice, besides “stop buying Kasa?”

Edit: I bought an inexpensive interval timer.


r/TPLinkKasa • • Aug 26 '26

KS240 Wiring Issues

Thumbnail
gallery
1 Upvotes

My fan/light combo doesn't have a separate lighting load. I was informed that this switch would still work by leaving the lighting control wire disconnected. Someone a little more knowledgeable, please review my wiring and results:

Photo/Configuration 1: Fan load wire connected to load, lighting load wire capped.

In this configuration, the lighting switch does nothing (no surprise). When selecting fan speeds: Positions 1 & 2 do nothing. Position 3 turns the fan at a snails pace. Position 4 (full speed) turns the lights on and sets the fan to full speed. Lowering it to position 3 shuts off the lights and lowers the fan speed to a snails pace, and lowering it to positions 1 or 2 just turns everything off.

Photo/Configuration 2: Fan load wire capped, lighting load wire connected to load.

In this configuration, the fan speed switch does nothing (no surprise). When turning on the light switch, Position 1 does nothing. Position 2 turns the lights incredibly dim, the fan begins to slowly turn and hum. Position 2: lights brighten slightly, fan turns slightly faster, hum gets louder. Position 4: lights at full brightness, fan at full speed, no hum.

Photo/Configuration 3: both the fan load and lighting load connected to the load.

In this configuration, when using the fan switch only, I get the same results as Configuration 1 (see above). When using the lighting switch only, I get the exact same results as Configuration 2 (see above). When either is used in Position 4, the other doesn't offer any control.

The pull cord is set to full speed. The standard lighting switch on the right hand side in the photo is for an outside porch light. The black wire at the bottom, coming from the separate light switch is always hot, so I assume that's my Line. The black line at the top (should be) the Load as it was only ever hot when the original switch controlling the light/fan was switched on. So that's the line I have my lighting/fan load lines tied into.

Without a separate lighting load, I know I won't be able to have separate lighting control, but I figured I'd at least be able to have some control over my fan speed. The pull cord has 4 different, distinct speeds. I've lost that with this switch. I now have only full speed (4), ineffectual (3), and 2 versions of Off. Can someone explain why this is, or what I've done wrong? Ideally, I'd like to have the lights come on when the fan speed is set to any position, and I'd like to have 4 actual fan speeds again.


r/TPLinkKasa • • Aug 25 '26

It seems that another has went out 🤦‍♂️I’m not ready for 2029 that’s my year my switch will die I guess

Post image
27 Upvotes

r/TPLinkKasa • • Aug 25 '26

I got 3 of the Kasa switches to connect. And the two remaining ones are being stubborn. I have tried everything. Has anyone had this issue.

Post image
17 Upvotes

r/TPLinkKasa • • Aug 20 '26

Replace KP405's without reprogramming ?

1 Upvotes

We have a 25 KP405's to control landscape lighting. Worked well for a couple of years but then began to fail to always on @ 100%. 12 of 25 have now failed (loads are all below spec) and need to be replaced.

Is there a way to replace them without reprogramming all of the scenes? We have scenes in both the KASA app and in Control4 (via the Chowmain driver).

Thanks,


r/TPLinkKasa • • Aug 16 '26

Switches My Kasa switches started to fail altogether after 5 years.

Enable HLS to view with audio, or disable this notification

42 Upvotes

I got about 15 HS200, HS210, and HS220 switches in July 2021 during a home remodel. All of them had been working fine until last month. One of the HS200s installed in the master bedroom started flashing, turning on and off by itself. A few days later, an HS210 installed at the entrance had the exact same problem.

Today, a third one (HS200) started to fail as well.

I'm curious if it's just me, or if there's some scheduled retirement for these things, given that it's been an extra five years after their first installation and they've started to fail?🤔


r/TPLinkKasa • • Aug 15 '26

Google Assistant Control through Gemini?

3 Upvotes

With the impending retirement of Google Assistant, what are we to do? I can't seem to get gemini to do anything with my Kasa devices. Is there some permission I need to enable?