[DEPRECATED] Kasa Plug, Switch, and Bulb integration

HPM says there's an update but throws an error when I try to update the package. Anything I can do to fix this?

Just tested, no issues. I do not know what may have occurred.

Are you running the Cloud or Local version of app? I currently have KP115 operational on local app (KP115 firmware version 1.0.7, hardware v1.0) unbinded on local app so hopefully will not update via Kasa App.

I installed the cloud version due to Dave's very top comment "There are now a local and cloud version of the Kasa Integration. The cloud version is intended for use when your firmware has been upgraded to the latest version. If that occurs, the local version will not work."

Everything is working great and it's reporting to the Sense Energy monitor and Hubitat(->InfluxDB->Grafana) quite well. It's also reporting fine to the Kasa app which I don't use (only to install the device initially.) My 3 TP115s are all hardware v1.0 and firmware v1.0.10 so there's a chance the "latest version" that Dave refers to is somewhere between yours (1.0.7) and mine (1.0.10.)

However, I'd much prefer the local version so if you end up upgrading your plugs to 1.0.10 and they still work with the local app, please let me know!

Hi Mike,
I plan to leave my KP115 at firmware 1.0.7 since I’m afraid to lose local only access. If they “accidentally” (meaning forced update) get updated, I’ll certainly let everyone know if they still work local only.

1 Like

I am running 4 HS105 smart plugs and have them running in the cloud. I have the app and driver installed and set up. Everything seems to be running fine howver, I cant create a tile on the dashboard. Although it shoes up in the devices, it does not show up in the "pick a device when setting up a tile.

How do I create a tile to control the HS105??

Did you add the device to the child app in the Hubitat Dashboard app?

1 Like

i forgot to add it...............thanks

2 Likes

Working on a major update. User added recommendations requested via Private Message.

Reason for Update: The traditional Hubitat integration has been using local wifi integration to control the devices. However, TP-Link is rolling out security updates that if installed will break the local integration. I want a single integration that handles both with a user preference on local or cloud control. This will allow users to rapidly change to the cloud if their device is upgraded with the security updates.

Plans:

  • New app
    • User selected cloud only, local only, cloud/local communications
      • Selecting cloud only will cause the app to check for and bind all unbinded devices to the Kasa Cloud.
    • Discovery using above to guide methods
  • New device driver preferences:
    • Cloud/Local device control selection
      • Automatically bind device to cloud on Cloud Control
    • Bind/Unbind the device with the Kasa Cloud
      • Locked out if device is bound to cloud.
    • Status LED ON/OFF
  • Potential capability changes:
    • Quick Polling. Determine best overall solution to avoid over accessing the Kasa Cloud.
    • Add device health and attribute to existing code
8 Likes

I love your work mate! It sounds awesome to have both cloud and local control available within the one app.

One question/feature request though: Will it be possible to set the cloud/local setting on a per device basis? The reason why I’m wondering is that all my current devices are local and since they haven’t got access to the Internet, they should not get a new firmware version that makes them cloud only. My strong preference is for them to stay local. However, if I buy a new device in the future that already has the newest cloud-only firmware, would I be able to configure only this device for cloud and keep the others local?

The plan is two fold:

  • User has to enable cloud access through the Application.
  • For each device, user can select cloud or local control. This can be changed without removing and reinstalling the device.
5 Likes

From what I gathered from the web, the security patch affected only one model with a specific hardware version. It looks like since then, tp-link released a firmware patch to reinstate the local control.

5 Likes

Scary. I will continue the update since I have no knowledge what models are (will be) effected and what the patch is that restores the patch w/o bring back the security risk they were addressing.

I've set up this integration and everything seems to be OK but when I check the log it looks like this is getting printed out upon hub boot.

ERROR: groovy.lang.MissingMethodException: No signature of method: user_driver_davegut_Kasa_Cloud_Plug_Switch_398.devVer() is applicable for argument types: () values: []
Possible solutions: every(), every(groovy.lang.Closure), driverVer(), refresh(), dump(), grep() (devVer)

I only have the basic on/off tplink switches and nothing else.

Understood. Not properly reading the driver version on update. Does not impact performance.

I am currently updating the entire package and the error will be absorbed in the update. It will take several weeks since the update is very complex.

1 Like

Sounds good! No worries, it's working now without "issues" so I'm happy :smiley:

Thanks for making this!

The update still doesn't seem to work. Logs say that it's a server error. Any ideas on what I might be able to do to resolve this?

If you are using HPM, that is NOT my package and I have no Idea what is wrong. Go to the Hubitat Package Manager thread for guidance.

You can do a manual update using the link provided in the driver/app and the import function of within the editor.

So I installed the cloud app via package manager and added the drivers for KP400 Dual plug and HS303 3 plug strip.
While the Kp400 dual plug created two child devices for plugs 1&2, the power strip driver installed as a single device. When I add the power strip it lists only 1 device in the found device drop down. How do I get the 3 devices to control each plug on the power strip in hubitat?

Log:

java.lang.NullPointerException: Cannot get property 'state' on null object on line 95 (updated)

dev:2372021-01-15 15:09:25.997 infoCloud TP-LINK_Power Strip_DB9B updated: Description text logging is true.

dev:2372021-01-15 15:09:25.996 infoCloud TP-LINK_Power Strip_DB9B updated: Debug logging is off.

dev:2372021-01-15 15:09:25.974 infoCloud TP-LINK_Power Strip_DB9B Updating device preferences....

app:2302021-01-15 15:09:23.954 info1.0.0 Installed Kasa KP303 with alias TP-LINK_Power Strip_DB9B

dev:2372021-01-15 15:09:23.940 infoCloud TP-LINK_Power Strip_DB9B Installing Device....

Thanks for the error report. There was a mistake in the code when I added the KP303 support. This has been fixed and updated.

Update Instructions:

  • Uninstall the existing KP303 device.
  • Using Hubitat Package Manager, Select Repair, then Kasa Cloud.
  • Rerun the application and it should detect the KP303 as 3 independent devices

Get back if this works. I do not have a KP303, so I need the feedback.

1 Like