Python code to read TP-Link HS110

Ahhh yes! Most of my code above originates from his work too. He did this blog on reverse engineering the tp-link devices.

which led to this code

which I shamelessly picked at for the bits I needed for the script above.

Your findings with the encryption changes inspired me to delve in a little closer and I found that 3yrs ago the code for that encryption was changed in his scripts “make it work with hs105”

so I suspect at some point since, the hs100 and hs110 FWs have changed to use a similar protocol to the HS105 and that has slipped under the radar as the changes needed for the later FW were already there for the HS105 perhaps.

I also noticed that the code was refactored for python3 8mths ago so the info is all there to update the script, maybe I’ll try the “hs-105 changes” here with my devices to see if it’s backwards compatible with older FW if I get a chance.

The python pack module is also used in emonhub form decoding/encoding packets of data used by OEM’s RFM devices such as emonTX/TH/Pi etc etc.

Thanks for sharing your fix :slight_smile: