TP Link Kasa Devices with new official integration (July 2019): reviews needed

I’m having some issues with the native Kasa integration. Here’s what I have found so far:

Classic App

  • Can’t change device state (toggle switch)
  • Can’t rename Kasa Devices
  • It does report the correct state of the devices however

New App

  • Adds all devices associated with your Kasa account, whether you want them added or not
  • If you delete a Kasa device, it will be added back again automatically

TP-Link Kasa Account

  • There’s no way to unlink your account from SmartThings
  • There’s no way to change to a different Kasa account


  • Able to add Kasa devices
  • Kasa devices have no functionality in webCoRe

Smart Lighting Smart App

  • Seems to work

Also, energy monitoring doesn’t work in the native integration.

I would like to remove my Kasa account from SmartThings and go back to using Dave’s device handlers. His were working perfectly for me, but I decided to try out the native integration at his recommendation. For now, I am just resorting to renaming the duplicate devices and dumping them into a “junk” virtual room.

Update: I was able to remove my Kasa account from SmartThings. I didn’t know the gear icon in the new app was clickable. Also, I should probably note that I tested using HS300 and HS200 devices. I’m not using my HS100, HS105, or HS110 plugs at the moment.


Ain’t Technology Wonderful!

I guess official integration does not mean cross-platform (classic - new apps) performance. It only implies new application operation is acceptable.

Functionality: I also find the functionality limited. Example: Energy Monitor plugs in the official integration do not display any of the EM values (particularly power, energy). The unofficial integration does this now in the new app and even more data in the classic app.

Going Back: In the new app, you can stop automatically adding in the settings. Then you can remove the devices, go to the classic app, add my app again (sigh), etc. With auto add off in the new app, the bulbs will not be added back (so no duplicate bulbs).

Devices reinstalling after being deleted in new app: Again, you can turn off auto-add devices in the setting of the new app.



The TP-Link Kasa devices are CST (Compatible With SmartThings) submitted via the developer workspace. As such they are not using a Groovy DTH. For the most part they will work with Groovy SmartApps but there are a few groovy SmartApp actions that will fail for these devices. You should see the device in the Classic app but they are not controllable via the Classic app.

This is likely to change but currently the Kasa integration does not implement a callback. Controlling the device in SmartThings will reflect in the Kasa app but if you turn an outlet on via the Kasa app, that will not reflect in SmartThings. The caveat to that is that there is a refresh every 6 hours that will update SmartThings on the status from Kasa. This refresh is also what will re-add the devices to SmartThings if you delete them. The integration is similar to SmartThings LAN devices in this sense (Sonos, Bose, Samsung speakers, Hue, WeMo).

To remove the link between Kasa and SmartThings, use the new app and navigate to the overflow menu (three horizontal lines), tap the gear icon, tap “Connected services”, tap “TP-Link | Kasa Smart”, tap “Delete”, and hit “Ok”.


Device events will show in the IDE but you will not see states for the device. If you actuate the device using the new app or an automation, the device status should update in the Classic app. You can see the current status and device events in the Classic app but you cannot actuate the device.

Same device visualized in three places (IDE, Classic app, and new app):


Thank you. I’m still somewhat new to SmartThings and didn’t even realize the gear icon in the new app was clickable. I now have my TP-Link devices working as needed using Dave’s device handlers.

Also, I just want to thank you guys for your hard work. I know software development isn’t easy and takes time. Just know that it doesn’t go unappreciated.



You can see the current status and device events in the Classic app but you cannot actuate the device.

Brad_ST. Thanks for joining in.

Is there a smartThings plan to make the devices controllable via the Classic app?

This is likely to change but currently the Kasa integration does not implement a callback.

This is going to cause your tech support problems - people will blame you, not TP-Link. And it is your problem even if it is not your fault (in their opinion). In my unofficial integration, I got a lot of “I turn it on via a switch, but the status did not update”.

I am impressed with how well the IDE (groovy) DTHs work in the New app when properly defined on the IDE. It would be nice to have a reference to the OIC and VID variables that will cause the display in the new app. This would help this transparency for those unofficial, niche applications and drivers.

Thanks, Dave


Perhaps, but that’s not the model SmartThings seems to be moving to. Think of this, and all the other CST devices, as Alexa skills. Amazon doesn’t support a companies skill implementation, and just the same Samsung/SmartThings doesn’t support CST implementations. Win-win for Samsung. Gets companies on their platform faster and puts the support ultimately on that company.


One random issue that comes up is that my Kasa bulbs are being reported as c2c-dimmers and showing as dimmer switches in the apps. I can control them without issue but having a different icon can be confusing.

1 Like

Just integrated my Kasa TP-link outlets via the new native support. Everything went smooth but then I noticed that smartthings doesn’t show accurate status…and found this thread.

Super annoying…

From what I’ve read here, am I understanding correctly that this isn’t likely a simple bug that will be fixed soon…but will likely remain this way for the foreseeable future??

It can change if TP link adds callbacks to their integration.


Wanted to say thanks to Dave Gutheinz who’s code I have used for a few years now with tremendous success!

Recently I acquired some HS108. I thought they were tp-link, but their brand name is Acashna. They use a different cloud. Could it be possible to HiJack the TPLink and cut/paste a few adjustments or has anyone seen drivers for this HS108 device? It’s a ‘mini’ plug, small in stature. I have a bathroom fan that has limited space and needed this low profile device. The device works with Alexa but the automation I made in Smartthings can’t be connected :frowning:

Without an API (or understanding thereof), it will be virtually impossible.:confused::frowning_face:

1 Like

Since it works with echo, you can use echo routines as a “man in the middle“ for your automations. This can be quite successful as far as adding the devices to your SmartThings automations. :sunglasses:

However, it’s a one-way integration. If someone manually turns on the device, there’s no way to tell smartthings about that. But that may not matter, it just depends on the details of what you need.

See the following FAQ. ( The topic title is a clickable link.)

It looks like Acashna uses the Smart Life app which I believe has IFTTT support which you could potentially use as a middle man. You can create virtual devices in Smartthings to represent your Acashna outlets. Then connect your Smartthings and Smart Life accounts to IFTTT to add your virtual and real outlets. From there create IFTTT applets to trigger the real outlets when the virtual ones are triggered, and vise versa. It will be clunky and there will be some delay but it’s something. Hope this helps.

1 Like

Derakkon - that was a really bright suggestion. I’ve used IFTTT and virtuals before, it just might do the trick! I won’t give it a try for a few days as I’m out bowling tournaments both today /Sunday. :slight_smile:

1 Like

I use the custom setup on Classic & then it works perfect on both classic & new…

1 Like

Hi there,

New to WebCoRE, and trying to set up TP-Link mini plugs. Had to manually add to webcore (they are recognized in the Smartthings classic app), but ‘device’ commands in WebCoRE do not appear (only ‘location’ commands show up). I notice that under settings in groovy IDE, “Type” show as ‘placeholder’. Can anyone point me to the correct device handlers for these plugs?

Thanks in advance for any help!

Have you tried using the custom automation creator in the new app? It’s like a webCoRE lite. If it won’t work, you’ll have to install the community TP link integration and setup the devices again so they will work with older apps like webCoRE.

1 Like

Update: the official integration has now implemented callbacks, so it is two way/bi-directional. And it’s quite quick. I can make the change in the Kasa app, flip back to the SmartThings app and it updates within 2-3 seconds. AND it is now Works With SmartThings certified.


Awesome! :sunglasses:

1 Like