All Projects → JPHutchins → open-energy-view

JPHutchins / open-energy-view

Licence: other
View resource consumption trends, history, analysis, and insights.

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
CSS
56736 projects
shell
77523 projects
HTML
75241 projects

Projects that are alternatives of or similar to open-energy-view

Raspberry-Pi-Electricity-Monitor
Software for monitoring the electricity consumption of a home with a Raspberry Pi
Stars: ✭ 33 (+3.13%)
Mutual labels:  energy, energy-monitor, energy-data, electricity-consumption
building-data-genome-project-2
Whole building non-residential hourly energy meter data from the Great Energy Predictor III competition
Stars: ✭ 112 (+250%)
Mutual labels:  energy-consumption, electricity-consumption, electricity-meter
PowerSimulations.jl
Julia for optimization simulation and modeling of PowerSystems. Part of the Scalable Integrated Infrastructure Planning Initiative at the National Renewable Energy Lab.
Stars: ✭ 202 (+531.25%)
Mutual labels:  energy, electricity
SpineOpt.jl
A highly adaptable modelling framework for multi-energy systems
Stars: ✭ 25 (-21.87%)
Mutual labels:  energy, electricity
ioBroker.sourceanalytix
Detailed analysis of your Energy, gas and liquid consumptions
Stars: ✭ 61 (+90.63%)
Mutual labels:  energy, energy-monitor
edimax-smartplug
Unofficial Edimax Smartplug Libary. Control SP-1101W and SP-2101W from Node.js.
Stars: ✭ 25 (-21.87%)
Mutual labels:  energy-monitor, energy-consumption
SenseLink
A tool to create virtual smart plugs and inform a Sense Home Energy Monitor about usage in your home
Stars: ✭ 34 (+6.25%)
Mutual labels:  home-automation, energy-monitor
ESPproMon
ESPproMon © Smartphone App for Energy Monitoring with Appp © Technology
Stars: ✭ 15 (-53.12%)
Mutual labels:  energy-monitor, energy-consumption
energy-data
Data on energy by Our World in Data
Stars: ✭ 139 (+334.38%)
Mutual labels:  energy, electricity
carbon-footprint
Calculate your carbon footprint 🏭👣 from food, transport, purchases, fashion, electricity and digital activities like streaming, NFT or blockchain.
Stars: ✭ 59 (+84.38%)
Mutual labels:  electricity, climate-change
scout
A tool for estimating the future energy use, carbon emissions, and capital and operating cost impacts of energy efficiency and demand flexibility technologies in the U.S. residential and commercial building sectors.
Stars: ✭ 34 (+6.25%)
Mutual labels:  energy-data, energy-consumption
ashrae-great-energy-predictor-3-solution-analysis
Analysis of top give winning solutions of the ASHRAE Great Energy Predictor III competition
Stars: ✭ 44 (+37.5%)
Mutual labels:  energy-data, energy-consumption
TrueRMS
Average, RMS, Power and Energy measurement library for Arduino.
Stars: ✭ 42 (+31.25%)
Mutual labels:  energy-monitor, energy-consumption
Home Assistant octopusagile
Octopus Agile custom component for Home Assistant
Stars: ✭ 30 (-6.25%)
Mutual labels:  home-automation, energy
evergy
A simple utility that you can use to access your Evergy account and retrieve you meter readings.
Stars: ✭ 22 (-31.25%)
Mutual labels:  electricity-consumption, electricity-meter
flexmeasures
The intelligent & developer-friendly EMS to support real-time energy flexibility apps, rapidly and scalable.
Stars: ✭ 79 (+146.88%)
Mutual labels:  energy, energy-data
emhass
emhass: Energy Management for Home Assistant, is a Python module designed to optimize your home energy interfacing with Home Assistant.
Stars: ✭ 54 (+68.75%)
Mutual labels:  home-automation, energy
opensolar
Opensolar is a platform powered by openx for funding smart solar infrastructure using the Stellar blockchain.
Stars: ✭ 20 (-37.5%)
Mutual labels:  energy, climate-change
pi-eco-indicator
Display at-a-glance data of carbon intensity or Octopus Agile prices on a Pimoroni Blinkt! display or a Pimoroni Inky pHAT display.
Stars: ✭ 15 (-53.12%)
Mutual labels:  climate-change
Home-Assistant-Config
🏠 My huizebruin Home Assistant configuration, Be sure to 🌟 this repository for updates! huizebruin
Stars: ✭ 29 (-9.37%)
Mutual labels:  home-automation

Open Energy View

The goal of this project is to analyze and present resource consumption data to users empowering them to conserve and save money.

Open Beta!

https://www.openenergyview.com

If you are a PG&E customer you can link your account now! If you are not a PG&E customer you can try the demo and talk to J.P. about integrating your utility.

User Interface

Interface

Design

Design

Development

Environment Setup (Ubuntu 20.04)

Process notes here: #31

The following notes are for setting up the environment with a Windows 10 host and Ubuntu 20.04 on WSL2. Please submit a PR if you find necessary adaptations on your environment.

Personally I use VSCode from the Windows host utilizing the "Remote - SSH" and "Remote - WSL" extensions.

Clone this repository

git clone [email protected]:JPHutchins/open-energy-view.git
cd open-energy-view

Install backend dependencies

  • Install python requirements

    Note: check your python3 version

    sudo apt install python3.8-venv build-essential python3-dev
    
  • Create the virtual environment and install packages

    python3 -m venv venv
    source venv/bin/activate
    pip3 install -r requirements.txt
    
  • Install and configure rabbitmq

    • Install erlang:
      sudo apt update
      sudo apt install software-properties-common apt-transport-https
      wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -
      echo "deb https://packages.erlang-solutions.com/ubuntu focal contrib" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
      sudo apt update
      sudo apt install erlang
      
    • Install rabbitmq
      curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.deb.sh | sudo bash
      sudo apt install rabbitmq-server
      
    • Start rabbitmq-server
      sudo service rabbitmq-server start
      
    • Verify that rabbitmq-server is running
      sudo service rabbitmq-server status
      
    • Configure rabbitmq
      sudo rabbitmqctl add_user jp admin
      sudo rabbitmqctl set_user_tags jp administrator
      sudo rabbitmqctl add_vhost myvhost
      sudo rabbitmqctl set_permissions -p myvhost jp ".*" ".*" ".*"
      

Install frontend dependencies and build

  • Install nvm (if you don't have it)

    notes: https://github.com/nvm-sh/nvm

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    
  • Install npm

    nvm install 10.19.0
    
  • Install frontend packages

    cd open_energy_view/frontend
    nvm use 10
    npm install
    
  • Build frontend

    Assumes you are at path: */open-energy-view/open_energy_view/frontend

    nvm use 10
    npm run build
    

Run the development server and workers

  • Start the server and workers

    • Open four terminals (example from VSCode)

    Four-Terminals

    • First terminal: ./run-wsgi-dev
    • Second terminal: ./run-io-worker
    • Third terminal: ./run-cpu-worker
  • Open the development site in a browser

    • Fourth terminal: ip a
    • Note the IP address of your WSL2 instance, in this case 172.31.30.203

    ip-a

    • On your host OS, open a Chrome or Firefox web browser and navigate to http://<YOUR_WSL2_IP>:5000

    browser-address

Example account setup

For first time setup you must register a user to your local database. Use something easily memorable and keep in mind that you can register as many users as you need while testing.

  • Click "Register now!"
  • You are prompted to add energy sources. This is local development so there would be no way to add a real PGE account here. In the dropdown select "Fake Utility" and click "Authorize".
  • You are prompted to name the fake energy source. Enter dev, for example, then click "Add Source".

After simulating API calls and parsing the retrieved ESPI data (J.P.'s old data) you will be greeted with an OEV instance that will respond to changes in your local Python/Flask/Celery backend and React frontend.

Data Analysis

Averages

Data is presented always by Watt hour (Wh). This is so that the user can compare different time intervals to one another. It is not meaningful to compare 630,000 Watts consumed in the month of June to 30,000 Watts consumed last Tuesday. Rather, we would like to understand the intensity of usage (average) of different time intervals. Usefully, we can see that the average 1,250 Watt hours consumed last Tuesday is higher than the average 875 Watt hours consumed during June.

Partitions

A partition is a time interval that recurs each day. The default partitions are:

  • Night: 12AM -> 7AM
  • Day: 7AM -> 6PM
  • Evening: 6PM -> 12AM

These partitions allow the user to develop conclusions about what activities are using the most resources.

Passive Consumption

Passive consumption is the amount of a resource a building will use even when no person is actively utilizing the energy. This is calculated statistically using a rolling mean and rolling standard deviation. This passive consumption metric can account for an outsized amount of electricity utilized in a building since it is by definition always consuming energy.

Presentation of this very useful metric allows users to understand the impact of passive appliances on their resource consumption as well as empowers them to find and disable devices that they do not need 24/7.

Activies Pie Chart

The activities pie chart shows the user how much power each activity consumed over the current time window.

Trends

Various trends are calculated to give the user realtime feedback on their resource conservation efforts.

Seasonal Trend

This tend shows about how much power the user is using during this "time of the year" this year vs this "time of the year" last year. The time range is +/- 14 days to attempt to mitigate the impact of statistical outliers like unseasonably hot or cold weather.

Active Use Trend

This trend shows the active use trend up to this point. Examples of active use:

  • Appliances
  • TVs
  • Computers
  • Lighting

Background (Passive) Trend

This trend shows the passive used trend up to this point. Examples of passive use:

  • Network Equipment
  • Security Systems
  • HVAC
  • IoT devices

Resources

Green Button and ESPI

https://www.energy.gov/data/green-button

https://green-button.github.io/developers/

http://www.greenbuttondata.org/

https://github.com/GreenButtonAlliance

https://github.com/JPHutchins/pgesmd_self_access

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].