codeforboston / home-energy-analysis-tool

https://www.codeforboston.org/projects/
MIT License
7 stars 25 forks source link

Parse Green Button Data #193

Open AdamFinkle opened 1 month ago

AdamFinkle commented 1 month ago

Green Button is a national standard electric / natural gas utility button on billing websites to download an XML (which is standardized across utilities) or CSV file (which is not) with billing / energy use data. We should find or write a library to parse this data to allow our parser to parse this Green Button data from natural gas companies besides National Grid and Eversource, in other words the vast majority of natural gas / electric utilities in the United States.

One reason we want to look at Green Button data beyond standardization across natural gas billing is that it also includes electric billing, which would let us review the use of electricity to run electric furnaces, which heat pumps could also more efficiently replace.

Here are our candidate libraries / packages.

First. It is old, and the documentation could be better, but the sole contributor is still around GitHub, and it might meet our needs. The biggest problem is that it is not a Python Package.

Second. It is old too, the sole maintainer is possibly still around but even less active, and there is hardly any documentation, but it is a Python Package. A first examination by Steve suggests it does not output usage during a billing period but rather provides access to meter readings whence we might calculate billing period usage with custom code.

Regardless, there is the opportunity to share upstream any improvements we might make to documentation and functionality because both GitHub users might still be around. Unless we can find further libraries, our best case scenario choice seems to be between manually including one library or running custom code on top of a package, and we remain unsure of whether either one works satisfactorily yet. Further research into the documents of these libraries, and that of the very well documented Green Button XML standard, might better elucidate their function.

The HeatSmart Alliance needs to collect some GreenButton XML files to review and test these libraries on.

jkwan2011 commented 3 weeks ago

Thanks for the investigation! Any of these approaches sounds reasonable to me, and would be a good enhancement for the project.