Kasa switches and outlets

Before I bought my SmartThings hub, I purchased several Kasa smart switches and plugs. Is there any way to make these work with the SmartThings hub?

Are those the TP Link versions?

If so, yes, there is a way, but you have to set up another device, such as a laptop or a raspberry pi, as a “man in the middle” and it requires some significant technical expertise. But you can see has some other people have done it:

There’s also a second Way which is cloud-based and doesn’t require the extra server device, but I don’t know how many people are using it yet or how well it works. But you can read about that one here:


The first link will support all the plugs and switches - on/off only. It does require an external bridge (PC, raspberry, etc.)

The second link supports all HS and LB series TP-Link bulbs, switches, and plugs. You have to first set up the devices in the Kasa app (get account, set devices to remote control). It does not require any other equipment. The Cloud-based version was an evolution from another series where cloud access was added. There are 360 accesses to the GitHub link to-date (since 27 July) with only minor problems (both resolved). I have used error free since 27 July on 8 devices (two bulbs, three switches, and three plugs).

(Disclaimer: I authored the series in the second link.)

Both approaches require installation of groovy scripts into the SmartThings IDE. It is easy. Even I (69 yo retiree) could do it.

1 Like

Thank you for the quick reply. I am going to have to study this. At 71, my brain may not be up to the task. I’m always trying to do something with gadgets that I can’t make work. Love the gadgets, hate the programming.
I’ve never even heard of raspberry pi (sounds like a kids toy—like easy bake oven) I’m sorry I bought the Kasa switches now. I saw they worked with Echo and thought I’d be safe. Then I found out they wouldn’t work with my SmartThings or Harmony hubs. I have a laptop, iPad, iPhone and iMac, but dont know about “man in the middle” either. I owned a printing business and mail order company and I really miss having a full time IT staff to “just make stuff work” for me. LOL. The Kasa app controls everything TP just fine, and so does Alexa, but I want to use SmartThings so that the devices can be turned on and off via presence sensors like our phones. Sometime talking to Alexa is not convenient or even possible.

1 Like

I am 69, so I understand. I had never done software until I jumped down this rabbit hole - but I have enjoyed ever since. (I always had an IT and Software Development working to call on for help.) My opinion:

The best for you is the cloud-based service at the link below. There are detailed installation instructions in the Documentation Directory and also a technical description. Basically, installation has the following steps (details in instructions:

  1. Assure you have a Kasa account.
  2. Configure devices in Kasa to be ‘remote control’.
  3. Get SmartThings Developer account (aka IDE account).
  4. Log in to IDE and your specific hub location.
  5. Copy the device handlers for your devices and add install them on the IDE.
  6. Copy the Service Manager and install it on the IDE.
  7. Run the Service Manager per the instructions.

The instructions are about two pages with details on the above.

Thanks. I will let you know if I get it to work.


1 Like

Hi Dave!

Thank you for taking the time to write this for us. :slight_smile: I have a TP LB230 bulb, and am trying to do the cloud based install. I tried to use the (Cloud)TPLinkLB130.groovy file, (should that work?! LOL), but unfortunately when I hit the create button I get this error code at the top:

No signature of method: script_app_metadata_6fa46d32_a417_46eb_86ed_b071c974d791.metadata() is applicable for argument types: (script_app_metadata_6fa46d32_a417_46eb_86ed_b071c974d791$_run_closure1) values: [script_app_metadata_6fa46d32_a417_46eb_86ed_b071c974d791$_run_closure1@68f625ae] Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)

I am COMPLETELY new to SmartThings script, so not sure if that is some super simple issue or not? Any advice would be appreciated. :slight_smile: :slight_smile: Thank you!

1 Like

I’m sorry, but my knowledge on WIFI is too limited to be of help to you. If I had had a problem, I’d be stuck too.


1 Like

Thanks for the kind words.

I have added the product to this new product to the Service Manager as a LB130-type device. The updated service manager is now at the link. This should work (however, I have not explicitly tested.

To update, just replace the file contents on the IDE then publish and run the Service Manager.

From you, I need confirmation if it works. If not, I will need more help from you on getting data I can use to update the Service Manager (This is unlikely).

Others - Have an unsupported TP-link bulb, plug, or switch. contact me. I can add and get your confirmation.!

Thanks for the assist. LOVE the ranch!

I’m a bit slow (more than a bit!) but getting back to this, and I realized I screwed up a step the first time - as in - I didn’t install the Cloud_TPLink_Unofficial_Groovy first. So I am trying to do that, but I don’t know how to “select my location” - when I click on “locations”, I see home… but nothing about how to select it. I can view the already existing Smart Apps and delete them, but there is no button under that sub window to create a smart app. So when I tried to create the unofficial Groovy file it shows published, but doesn’t list a location. So I deleted it/figure I need to try it again, but I can’t figure out how to select my location…? Am I missing something obvious?

(And Happy almost Thanksgiving to you & yours!)


Welcome to the quagmire and Happy Thanksgiving. A year ago, I was at the same place (more unsure of myself than slow which is probably true for you.

I just answered this yesterday on the main thread, so easy here (copy/paste).

To select a location, you do the following (each time you log on:

a. Log onto the IDE

b. Select the tab “My Locations” It will look similar to the below (your name instead of mine).

Name Events Notifications Devices Installed SmartApps
DGutheinz events notifications devices smartapps

c. Select the location name (for me “DGutheinz”) (i.e., click on the name)

This will cause the a new page with the location name at the top (I.e., “DGutheinz”). You have now selected your location. This is what is meant by selecting a location (some users have multiple locations (i.e, their house and their parents house) that they manage, therefore the necessity.

After you do this, follow the instructions carefully.

good luck and keep in touch if you have problems. Slow response, but we will get there!

I also have some TP-Link HS-200 WiFi switches that I would love to integrate with SmartThings.
Does your Cloud solution support 2-way communication? In other words, can I see the status of the HS-200 switches in my SmartThings App, as well as control those switches?

Yes. The design uses data from the bulb (through the cloud) to update the state after a command is sent. Additionally, there is a refresh of the data every 5minutes to 1 hour (user selected) to poll for the current status (in case someone manually uses the Kasa app or the switch itself plus there is a refresh button that can be pressed by the user at any time.

That sounds great. I will give it a try.

Do not hesitate to ask if you have problems.

1 Like

+1 for Dave’s TP-Link Bulbs and Plugs Control

I’ve been using this for months with 1 smart plug mini, 13 smart plugs, and 1 smart switch without issue. I have noticed if anything goes awry it usually is fixed if you go into the KASA app on your mobile device, select settings, firmware update, and make sure you keep your devices up to date. Can’t thank you enough for the work and documentation Dave.

1 Like

Fantastic work, really appreciate it!

I completed the install of the IDE yet my devices show as ‘Waiting’.
What did I possible miss to cause this?

Is remote control enabled on each of your devices in the kasa app? Did you update firmware in the kasa app? Did you perform all these steps in the read.me?