home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.82k stars 30.91k forks source link

TPlink child entities report state of parent device #97487

Closed mmccool closed 1 year ago

mmccool commented 1 year ago

The problem

TP-Link integration for KP400 Kasa dual outlet plug incorrectly combines status for two plugs. If both are off, turning one “on” turns on that plug as expected, but also changes the status for the other to “on” (in HA; in reality, it remains off). Since HA seems to think the second outlet is already on, commands to turn it on do nothing, but it can be turned on manually. The symmetric conditions exist for trying to turn off only one device if both are on, or for starting from the other outlet. Possibly related, there is a single entity for an “LED” but two status LEDs on the device.

What version of Home Assistant Core has the issue?

core-2023.8.0b1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

TP-Link Kasa Smart

Link to integration documentation on our website

https://www.home-assistant.io/integrations/tplink/

Diagnostics information

no diagnostics abailable

Example YAML snippet

No response

Anything in the logs that might be useful for us?

nothing in the logs

Additional information

It was working correctly a week ago, so the breaking change was recent.

Kasa firmware version: Firmware: 1.0.2 Build 210105 Rel.165938 Hardware: 3.0

home-assistant[bot] commented 1 year ago

Hey there @rytilahti, @thegardenmonkey, mind taking a look at this issue as it has been labeled with an integration (tplink) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `tplink` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign tplink` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


tplink documentation tplink source (message by IssueLinks)

mtwalkup commented 1 year ago

Seeing same issue with KP303. Logs are hard to read but let me know if there's anything I can do to help.

Turning on one outlet makes it look like all 3 turn on (but they don't). Same with turning off one outlet

PrayerfulDrop commented 1 year ago

Same issue with KP200(US) Hardware Version: 3.0 Firmware Version 1.0.1

akballow commented 1 year ago

I have this issue with HS300(US) by TP-Link Firmware: 1.0.1 Build 180130 Rel.141406 Hardware: 1.0

But not with same device, which has different firmware apparently. HS300(US) by TP-Link Firmware: 1.0.21 Build 210524 Rel.161309 Hardware: 1.0

The behavior is basically if one plug is on, all of the plugs show as on in Home assistant

Another difference is one of them have the remote control toggle off. This might be the real reason if others can confirm that their issue device is due to remote not working.

thrasher204 commented 1 year ago

Im having the same issue with 2 HS300s: Firmware: 1.0.12 Build 220121 Rel.175814 and Firmware: 1.0.11 Build 211013 Rel.170827 @akballow where do you have the option to turn Remote on and off?

akballow commented 1 year ago

I got some beta powerstrips through someone i knew who worked there. It never had the ability to remote control. This toggle is from the early Kasa days. Now its always on by default. Depending on people firmware, the toggle may still be an option.

IMG_620386F3AE9D-1

bdraco commented 1 year ago

Tested with a KP200 Hardware 3.0, firmware 1.0.3

All ok.

Please post diagnostics if you have this issue as its not clear whats different

PrayerfulDrop commented 1 year ago

Not sure how this was tested and all ok. With 2023.8.0 you lose the ability to individually control each socket. Attached is log traces. home-assistant_tplink_2023-08-02T21-43-39.107Z.log

bdraco commented 1 year ago

I've also tried a few power strips and all working good for me

Nothing interesting in the log.

Can someone with the issue make a video showing the behavior in HA?

theSC commented 1 year ago

I'm working at the moment so can't do a video but I can try later on.

For now I can tell you that the outlet's state just turns on if any other outlet on the strip is on. They don't actually turn on but the state turns to on

russellmilliner commented 1 year ago

This is my current experience with a TP-Link HS300 firmware 1.0.21.

In the video linked below, I turn off a switch which controls the light also seen in the video. When the switch is toggled "off", it bounces back to an "on" state by itself. To turn on the light, I have to toggle to the "off" state and then toggle to the "on" state. Essentially, it appear in a constant "on" state. https://photos.app.goo.gl/bbKVXxeKb1oHzUgk8

In this second video linked below for a KP303 Firmware 1.0.3, you can see the all switches turning off behavior AND the bouncing switch behavior. https://photos.app.goo.gl/z834wy6ggq9wm6vq7

geekofweek commented 1 year ago

Running into the same issue on more than one HA instance. As other have described turning on one switch ghost turns on the other one, even if it's not actually turning the device on physically. Quick digging on the changes I think this pull request might be the culprit: https://github.com/home-assistant/core/pull/96246

Video and diagnostic attached:

https://github.com/home-assistant/core/assets/18582973/504ab9ee-781e-4272-8546-511e684fedb5

config_entry-tplink-8f87c708b9671abbba83284419e663c3.json.txt

bdraco commented 1 year ago

Thanks. I got it to break on a HS300

DozoG commented 1 year ago

Same issue here with HS300(US) The devices switch individually, but report status as a group. Meaning; if all are OFF.... I can toggle any one of them ON Also, the entity names (on my dashboards) have been changed to include the name of the device. e.g. name was "desklamp" after upgrade to 8.3 automatically changed to "powerstrip_office desklamp"

When one of the 6 outlets is switched ON, they all report as ON.. As a result, I have no control over any of the other 5. Pulling the switch on the dashboard gives HA the signal to switch OFF (which does nothing because it is off already) and a second later HA reports the outlet as ON because the desk_lamp is still ON.

thenoid commented 1 year ago

Same issue - any idea when this will be released? So many broken home automations this morning.

akballow commented 1 year ago

Revert to the previous HA version. HA normally does a backup for every update so that is how you can revert to non broken state. You will need to wait for next HA release that has the fix for the easiest solution. Otherwise, you can patch it manually but that is more effort.

mmccool commented 1 year ago

This is my current experience with a TP-Link HS300 firmware 1.0.21.

In the video linked below, I turn off a switch which controls the light also seen in the video. When the switch is toggled "off", it bounces back to an "on" state by itself. To turn on the light, I have to toggle to the "off" state and then toggle to the "on" state. Essentially, it appear in a constant "on" state.

https://photos.app.goo.gl/bbKVXxeKb1oHzUgk8

In this second video linked below for a KP303 Firmware 1.0.3, you can see the all switches turning off behavior AND the bouncing switch behavior.

https://photos.app.goo.gl/z834wy6ggq9wm6vq7

Since it seems the Kasa firmware version matters, I added that to my issue description. Here it is also:

Firmware: 1.0.2 Build 210105 Rel.165938 Hardware: 3.0

akballow commented 1 year ago

Confirmed fixed in latest HA update

mmccool commented 1 year ago

Also confirmed fixed on my system now.