plasticrake / tplink-smarthome-api

TP-Link Smarthome WiFi API
MIT License
1.02k stars 142 forks source link

Contributions accepted? #126

Open iva2k opened 3 years ago

iva2k commented 3 years ago

This project is awesome! Well structured, good architecture, useful functionality, CI, tests and documentation - great!

However there are issues and features that I'd like to help fix and add.

Is there a roadmap? What contributions are welcome? What priorities are put on PR's?

  1. issue fixes
  2. test cases, coverage
  3. roadmap features
  4. non-roadmap features
cliffshaw commented 3 years ago

Sadly, it appears the developer has abandoned an amazing project. It's been half a year since you posted this. All new installations I've done of his code no longer work.

plasticrake commented 2 years ago

Had some health issues these past 2 years that made it difficult to code to fun, but I'm doing better so hope to be more available now.

@iva2k If I were starting over I would architect this very differently. There are so many similar devices but they all have weird quirks, and some are even different per firmware version or that behave differently on udp vs tcp. I would proably stay aware from the Class based structure and instead have functions that build customized API objects for each device and/or firmware version. I doubt this is something that is worth doing at this point.

The main deficiency is the lack of support of some of the newer firmware that uses a different mechanism of communication. I haven't had time to look into it, and it seemed to be affecting mostly users in the UK and Europe I believe.

@cliffshaw What issues are you referring to? It still works for me and my devices. Are you talking about the firmware updates that were pushed out to some devices?

pfahlstrom commented 2 years ago

It might be that cliffshaw has a Kasa cam attached to the same network, which causes tplink-smarthome-api to fail. I added details in the Kasa cam issue thread.

raythree commented 1 year ago

We built an aquarium monitor/control system and wanted to allow users to designate some of their smart plugs for our system to control. We just need to discover, get state (relay and current power), and set state (turn on or off) smart plugs. So far, this library has worked great. We have only tried with KP125 plugs just updated with the latest SW, but will also try the strips. Obviously, our concern is that future firmware updates will break things but as of now, with our limited tests, the library works great. We still need to understand the internals, but so far it seems that if we discover devices (on 'device-new') that the user has told us to use, we can get/set state, detect plug disconnects (TCP timeout exception), and when the device is plugged back in, future get/set operations work just fine (seems to be self healing).