CharlesGillanders / homeassistant-alphaESS

Monitor your energy generation, storage, and usage data using the official API from Alpha ESS.
MIT License
101 stars 22 forks source link

use open api of alphaess #71

Closed fsievers22 closed 11 months ago

fsievers22 commented 1 year ago

I modified the code to allow the usage of the openAPI branch of the alphaess python library

CharlesGillanders commented 1 year ago

Thank you for all this work. I have one comment and one conversation I need to have....

First the easy comment - even if this isn't part of core Home Assistant I am trying to follow their best practices. One best practice is only to use modules that are hosted on Python Package Index PyPI. I'd suggest modifying the PR to use a manifest.json file that refers to a named and version specific library rather than a github connection to an external module.

Which brings me on to the conversation. I had originally hoped to just cut-over to the official Open API for AlphaESS as soon as it was available. Unfortunately the Open API is still missing some data which is available in the unofficial API. Should I continue to hold off on publishing a true release of both the library and/or the Home Assistant integration or should I go ahead and effectively internally fork my own work to be able to chose which to run - legacy setup or new stuff.

DavidqStokes commented 1 year ago

Thank you for all this work. I have one comment and one conversation I need to have....

First the easy comment - even if this isn't part of core Home Assistant I am trying to follow their best practices. One best practice is only to use modules that are hosted on Python Package Index PyPI. I'd suggest modifying the PR to use a manifest.json file that refers to a named and version specific library rather than a github connection to an external module.

Which brings me on to the conversation. I had originally hoped to just cut-over to the official Open API for AlphaESS as soon as it was available. Unfortunately the Open API is still missing some data which is available in the unofficial API. Should I continue to hold off on publishing a true release of both the library and/or the Home Assistant integration or should I go ahead and effectively internally fork my own work to be able to chose which to rune - legacy setup or new stuff.

To facilitate that conversation can you share what data is available in the current integration that isn't supported via the official API?

CharlesGillanders commented 1 year ago

To facilitate that conversation can you share what data is available in the current integration that isn't supported via the official API?

The most significant difference is in the aggregation of detail, for example the current unofficial API is able to provide instantaneous power details for two separate strings of panels. The official API only provides an overall combined figure. I know there are some folk using the Home Assistant integration who like to have the figures broken out (for example south facing compared to another orientation). Anyone needing the more segregated information will be taking a step backwards if there is just one set of code. @Spookster was it yourself who had asked for the more detailed figures? I know there is an open request from @joitde to add individual voltage figures, again I presume those are unlikely to be available from the Official API as it is today.

I am interested in trying to get consensus or at least a majority point of view on the trade off between moving entirely to the Official API vs forking this code base to provide options for Official vs Unofficial.

DavidqStokes commented 1 year ago

I'm not using AlphaESS PV - just a battery - so this would not effect me. However, I can understand what others would choose not to lose functionality, so I think am option to adopt the official API or stay with the legacy unofficial API would be best for this community.

Spookster commented 1 year ago

To be fair, I havent had a look at the 'official' API as I didnt want to beta test the interface. I was hoping for a more fully featured option from them, but it seems to be a hobby project at present

Spookster commented 1 year ago

One of the initial concerns from the 'official' developer was the number of server requests that would be handled My preference and #1 want is network access to the data, hence I wasnt interested in another external option. Local data, Problem solved

CharlesGillanders commented 11 months ago

Closing as the integration has now moved to using the Official Open API.