FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Regression in python-kasa 0.11.0.1: KP100(US) Times Out on Combined IoT Requests (Works in 0.10.2) · Issue #1799 · python-kasa/python-kasa · GitHub

Repository navigation

Regression in python-kasa 0.11.0.1: KP100(US) Times Out on Combined IoT Requests (Works in 0.10.2) #1799

Open

Description

Description

After upgrading from python-kasa 0.10.2 to 0.11.0.1, four TP-Link KP100(US) smart plugs stopped initializing in Homebridge.

I reproduced the issue directly using python-kasa, independently of Homebridge. All four devices work with 0.10.2 but fail with 0.11.0.1.

Environment

  • Device: TP-Link KP100(US), hardware v3.0
  • Firmware: 1.0.1 Build 200831 Rel.142128
  • Python: 3.12 (Docker)
  • Affected version: python-kasa 0.11.0.1
  • Working version: python-kasa 0.10.2

Reproduction

Running:

kasa --host <DEVICE_IP> state --debug

Produces:

kasa.exceptions.TimeoutError:
Timeout after 5 seconds sending request to the device <DEVICE_IP>:9999

The devices respond to ping, accept TCP connections on port 9999, and return valid responses to direct system.get_sysinfo requests.

Root Cause Investigation

I instrumented IotPlug.update() to identify the failing query.

Initial query succeeds:

['system'] → SUCCESS

Combined query fails:

['system', 'smartlife.iot.homekit', 'schedule',
 'anti_theft', 'time', 'cnCloud'] → TIMEOUT

However, all six query groups succeed when sent individually.

Even combining just two groups reproduces the failure:

['system', 'smartlife.iot.homekit']
→ Timeout after 5 seconds

I also confirmed that splitting the queries individually allows 0.11.0.1 to initialize the KP100 successfully.

Confirmed Workaround

Downgrading to python-kasa 0.10.2 restores normal initialization for all four affected KP100 plugs.

This suggests a regression in combined legacy IoT/XOR requests introduced in 0.11.0.1.

Related Change

Version 0.11.0.1 added the smartlife.iot.homekit module to legacy device queries, which may be related

Activity

  1. psiberfunk commented on Oct 17, 2026

    This looks like the same regression as #1791 / #1788 (#1803 was closed as a duplicate of #1791). Some legacy firmware never answers a request where an unsupported module comes right after system, and 0.11.0.1 puts smartlife.iot.homekit in exactly that position. Your ['system', 'smartlife.iot.homekit'] → timeout result is that signature.

    The candidate fix is #1792, which queries HomeKit in its own request. It's been tested on EP10, HS103 and KP115, but not on a KP100. If you can try it on one of yours and report back on #1792, that adds a model:

    pip install "python-kasa @ git+https://github.com/cheeseandcereal/python-kasa@ee5061e37ccad6bd95cd2cacaa812a9db773817f"
    kasa --host <ip> state
    

    The same KP100 hw 3.0 / fw 1.0.1 is also reported in Home Assistant at home-assistant/core#185971.

  2. coffeeandubuntu commented on Oct 19, 2026

    Author

    I will post this to #1792.

    Tested against TP-Link KP100(US), hardware v3.0, firmware 1.0.1 Build 200831 Rel.142128.

    Results:
    PR #1792 (ee5061e): Successfully retrieves device state.
    Multiple consecutive state queries: Successful.

    This confirms the proposed fix resolves the regression on KP100(US) hardware v3.0.

    Thank you for working on this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL