jphutchins / open-energy-view Goto Github PK
View Code? Open in Web Editor NEWView resource consumption trends, history, analysis, and insights.
Home Page: https://www.openenergyview.com
License: Other
View resource consumption trends, history, analysis, and insights.
Home Page: https://www.openenergyview.com
License: Other
It would be nice if all of the services could be spun up simply to test things out. I think docker compose could be a useful tool for this. I'm going to take a crack at writing up a docker compose
Research viability of PDS to minimize bandwidth necessary for incremental updates.
Problem: User has a large database which is different to the structure in their HTML 5 local storage by perhaps 1%
Goal: Send only this 1% of data to update the user's structure rather than sending the entire structure again.
While I was successful in getting past the #37 issue, electrical data only updated through October 12, 2021. No data past that date are shown despite no changes on the utility service side.
Thanks for inviting me to try out Open Energy View!
Steps I've taken:
I've signed up using my Google account. After, I connected it to my PG&E Account.
Issue:
I saw that the graphs and charts weren't populated and thought it would take a some time for the data to populate. I checked a few days later and the graphs were still blank. I realized that the dates were for the year 1969 (I wasn't a customer at that point in time lol)
Additionally, when I go to change the date range, I only can select the year 1969:
Any thoughts?
This project is becoming more complex since the user should be greeted with a flexible graph of their data.
User should be able to choose the date range and the interval displayed should adjust intelligently. This means that sums need to be calculated (add up all hourly intervals for a day sum, add up days for weeks, months, etc.) The question is whether this should be calculated in advance and if so what is the appropriate key to store it under in the database? The current database is keyed by a start time that is hourly - should there be other databases keyed by daily, weekly, and monthly intervals?
Analytics need to be implemented quickly (before Alpha) so that the user is presented with useful information that can impact a reasonable change in habits with measurable outcome.
Goal - provide user a "baseline usage" that helps them to find "phantom power" suckers in their home. Baseline will generally be the lowest Wh recorded recently.
Daily averages.
Weekly averages.
Daily lows.
Daily highs.
More complex:
Usage characteristics:
Sleep, daytime, appliance, evening? Rely on user definition?
It would be nice to verify that data has been received and then request it directly after some timout if for some reason it was not received.
I believe I'm having a similar issue to #46 - the same symptoms anyway. I've attached a screenshot, I'm getting a 500 error it seems.
Remove the =None s in the constructor.
Instead take a keyword method=get_auth_file
argument which is the function that will provide the credentials. RI is that client_id, client_secret, cert_crt_path, cert_key_path
are not None so constructor will fail of the the supplied function does not fill these class attributes. Validation can wait for later if at all.
Customization of daily time periods seems now to work until logout. When logging back in, previous customizations are forgotten.
Beta website appears to be down right now.
Not sure if this should really be a new issue since it seems to be a recurring thing, but as best I can tell things seemed to have been working for others ~a week ago? I can authorize permissions with PG&E but then it gets stuck loading when it returns to the app, and if I check the console and try to look at what's going on there's a GET request receiving a 502.
After going through the PG&E authorization process without error, I am receiving a 502 bad gateway error and cannot proceed any further on Open Energy View. If I go back to my PG&E authorizations page, I do not see Open Energy View on the list.
OEV currently does not parse gas records even though it receives them. This issue is closed when gas records are supported.
Create a new dev environment and document procedure. This should provide sample account data for 3600/900 electrical as well as gas so that the gas API can be started.
Need to add a timeout and retry mechanism on requests?
Is this issue supposed to be resolved? I just registered and it shows a date of Dec 31, 1969.
A user's baseline usage is given by averaging the 3 lowest readings each day. Imagine graphing this daily value over a long period of time. One is likely to see a plateaus in this graph representing periods of time where 24/7 devices remained relatively consistent. Now imagine a user has changed or added a new appliance at some point. This point should be identifiable as a change from one plateau to another. In other words, a section of the graph that has positive or negative slope relative to the sections of no slope around it. Once the point of change is identified an analysis can be delivered to the user to assess the impact on their Wh.
It's working now, although there are some data gaps:
Originally posted by @ChrisMD123 in #38 (comment)
I lazily hardcoded the frontend to only ask the DB for intervals that match 3600 duration (1 hour). PGE has made more meters support 900 duration.
Easy fix: DB translates higher resolution intervals to 1 hour (not cool)
Better fix: Add "interval agnostic" raw data interval to the frontend and force the frontend to parse all standardized intervals from it.
open-energy-view/open_energy_view/frontend/js/api/DatabaseService.js
Lines 48 to 62 in e4265dc
open-energy-view/open_energy_view/resources.py
Lines 527 to 571 in e4265dc
Your excellent OpenEnergyView project is one of the easiest ways to get programmatic access to PG&E data, especially once the gas meter support is added! PG&E's StreamMyData provides access to electricity readings (after the purchase of compatible hardware) but there seems to be no other access to the gas meter information.
It would be wonderful to have the cumulative readings available in HomeAssistant's energy dashboard (from this feature request thread).
The server (currently just server.py) should be isolated from the rest of the program and serve only one purpose :
This will allow to port the server to:
API indicates this is possible but it has not been accomplished yet with a "self access user" account. Needs further effort.
After authorizing PG&E I'm redirected back to https://www.openenergyview.com/api/utility/pge/redirect_uri?...
but nginx shows a 502 Bad Gateway error.
Not sure if it's because my account with PGE is new, but I am unable to link my accounts and met with a spinning circle after the step you name your gas and electric meters.
The night slider isn't allowed to start before 12am; recommendation to allow it to be arbitrary.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.