whaleygeek / pyenergenie

A python interface to the Energenie line of products
MIT License
81 stars 51 forks source link

Test code, not production code #33

Closed whaleygeek closed 8 years ago

whaleygeek commented 8 years ago

I just wanted to cover many misconceptions about this code, and am raising it as an issue so that all my forks watchers and stargazers get to hear about it.

First of all this codebase is primarily (at the moment) focused on getting a 'works out of the box with no configuration' tester for Energenie products. As such, I am focusing my limited development time on getting the radio interface working, and adding low level support for all device types.

If you expect this to be a fully functional application, or a well written library that you can just import into your own application - please think again! It's not there, and it won't be until all of the low level device support is written and tested.

There are a number of open issues describing my rough plans for adding a device database with lovely object abstractions where you can just say mySwitch.on() and mySwitch.off() etc etc - but I'm not working on that for a while.

whaleygeek commented 8 years ago

monitor.py is now a monitor-only tester. I have tested it with the MiHome Adaptor Plus, and the MiHome House Monitor. It logs all of these to a csv file that you could use for simple energy monitoring without any modifications.

switch.py is a switching tester. I have tested it with the MiHome Control device. I have this turning 4 independent devices on and off. This is not a starting point for building an application, as it is missing the (yet to be designed) device abstractions.

legacy.py is a switching tester (in progress) for the ENER002 (green button) devices. It is not yet completed, but I have this working with 8 separate switches. I still have to add house code setting and device addressing to it, and also to test it with the 4-gang extension leads.

whaleygeek commented 8 years ago

I am closing this issue, as it is mainly to document the present state, of which all activities are handled in other issues. Please review the open issues to catch up with the present state of this project.