[DEPRECATED] Kasa Plug, Switch, and Bulb integration

A quick tutorial on TP-Link firmware (from my study early on):

  • The firmware is in groups of devices
    • bulbs except the Edison
    • Edison Bulbs
    • Single Plugs / Switches
    • Dimming switch
    • EM Plug
    • EM Multi-Plug
    • Multi-plug
  • Each group has up to three versions due to different regulations
    • European Union
    • US
    • Australia

So, it will be very extensive to ID those units that TP-Link is updating. There were KNOWN security issues with the EU versions (and the US also). See link: https://www.softscheck.com/en/blog/tp-link-reverse-engineering/

My Device Versions:

  • HS300(US): 1.0.19 Build 200224 Rel.090814
  • HS105(US): 1.5.6 Build 191114 Rel.104204
  • HS200(US): 1.2.6 Build 200727 Rel.121953
  • HS107(US): 1.0.10 Build 200622 Rel.142540
  • LB130(US): 1.8.11 Build 191113 Rel.105336
  • KL130(US): 1.8.11 Build 191113 Rel.105336
  • LB120(US): 1.8.11 Build 191113 Rel.105336
  • KL60(US): 1.1.12 Build 200814 Rel.134827
1 Like

Ah, ok. I already had the EM Multi Plug driver installed so I was able to go to modify a package and select the driver for the plug. It's installed and working now. Thanks!

1 Like

My Kasa switches/plugs are on a different subnet from Hubitat.

Does subnet make a difference when installing devices manually? For some reason driver is unable to communicate to any of my devices. I tested local communication using python-kasa and everything works correctly so it isn't a routing issue, but I can't figure out why sockets keep timing out.

dev:1972020-12-01 13:19:43.240 warnGarage lights sendCmd: Check your IP address and device power.

dev:1972020-12-01 13:19:43.235 debugGarage lights SendCmd: Unable to connect to device at 192.168.84.100. Error = java.net.SocketTimeoutException: connect timed out

dev:1972020-12-01 13:19:17.180 warnGarage lights rawSocketTimeout: Retry on error limit exceeded. Error count = 3. If persistant try SavePreferences.

dev:1972020-12-01 13:19:13.137 debugGarage lights sendCmd: Attempting to connect.....

dev:1972020-12-01 13:19:13.123 debugGarage lights sendCmd

dev:1972020-12-01 13:19:13.119 debugGarage lights refresh

dev:1972020-12-01 13:19:13.081 debugGarage lights setRefresh: pollInterval = off, refreshRate = 60

Alex, welcome. The devices probably need to be on the same subnet. What switch/plug do you have?
Dave

HS200 and KP200
Is there something specifically in the driver or in Hubitat that forces the limitation of the same subnet? I understand why discovery wouldn't work, but I don't use the app. I installed the drivers manually and added devices by manually specifying IP.

Just to be clear:
I am able to control casa switches using another device on the same subnet as Hubitat so routing is not an issue. Hubitat is absolutely able to comminicate to Kasa devices as far as networking is concerned.

I am not a network expert and I am not going to argue with anyone. I do this for pleasure and it is not pleasant arguing with someone.

Please see the link below:

Hey DJ,

Thanks for this great integration mate.

I couldnt find a kasa device in my device page, and eventually figured out it reverted to older version of the name (possibly replacing the Device Label with the Device Name OR).

Figured it out, but in the process discovered an error with the latest build 5.3.3, getting an error when selecting Advanced Kasa Device Tools

As far as I can determine, it's not affecting anything, but I cant get to that page. Errors out.

1 Like

I'm an idiot. It absolutely was a network issue that I fixed and can now control both devices without issues.

After reading every comment in the thread you linked I kept thinking that there is simply no way that devs randomly decided to block all communication outside of hub subnet and it turns they didn't. I'm now not really sure what that thread is about at all.

1 Like

I'm trying to install the cloud version using HPM and I get an error

Unsupported Hubitat Firmware

Your Hubitat Elevation firmware is not supported. You are running 2.2.4.153 and this package requires at least 2.3.0. Please upgrade your firmware to continue installing.

As I understand it having done a hub update just before trying 2.2.4.153 is the latest version. Thank you for your help!

Looks like it is testing 2.3.0 instead of 2.2.3.0...

1 Like

Fixed. Give HPM a few minutes. Typo.

Dave

Installing now, thanks Dave! I guessed it was missing a digit.

Is there a way around the same-vlan requirement to add a device?

My HE is on a separate vlan to my IoT, so that it can talk with my Unifi controller for presence.

Can I add a Kasa device to my main vlan, then change the IP address once integrated with HE?

You might try a manual installation.

..of the app/drivers or of the devices?

I have the app/drivers installed and worked well to install previous devices, but as the network structure has changed, the integration doesn't see old or new devices. Although the old ones still work.

If you meant manually install the Kasa devices, then that would be awesome - how do I do that? Is there somewhere in the integration to add the IP location of the device?
Thanks :slight_smile:

It is in the instructions. You simply add a Virtual Device with the appropriate driver. When the device is created, there will be preferences to set the IP address and for multi-outlets, the number of the device. Then save preferences.

2 Likes

Thanks so much. I hadn't felt the need to read the instructions, as I already had the integration and most devices working already.

2 Likes

I get these warning from time to time in my log for different tp-link switches. This particular one took 30 sec to turn on this morning.

All my kasa stuff are on fix ip.

Edit: uploaded a longer log screenshot and revised time to turn on.

Need identification of the switch type. I assume HS200, but not sure.

Most of my switches are HS200 but these messages happen also with an HS100.