Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Implement the new protocol (HTTP over 80/tcp, 20002/udp for discovery) #115

@rytilahti

Description

@rytilahti

Help needed! New firmware versions are replacing the old, insecure local communication protocol.

If you update your devices to the newer firmware versions, you won't be able to use this library to control your devices until someone adds support for this new protocol.

This issue is for tracking the implementation of the new communication protocol used at least by some newer firmwares.
The previously used 9999/udp is not used anymore, and the new protocol uses stronger encryption for the communication. A response from tplink for some background information: home-assistant/core#43088 (comment)

Related to #114, potentially #113.

Steps required for implementation:

  • Adapting the discovery process. Both ways for discovery could be used per default, an enum to allow limiting discovery using a specific discovery could be added.
  • Extending TPLinkSmartHomeProtocol to allow changeable encryption handling, as the change does not change the payloads, only the encryption.
    • This likely requires breaking the API, or alternatively, adding a separate method to add username/password if those are used for the encryption as hinted in one of the comments above. Latter is preferred, using empty values (which seems to work for non-cloud connected devices).

Help needed from someone who wants to implement this! I have personally no plans nor time in the foreseeable future to brick my own devices, sorry, but I will gladly help however else I can with code reviews etc. :-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions