You are on page 1of 23

Open Energy Dashboard

_____________________________________________

Capstone Proposal

______________________________________________

In Partial Fulfillment

of the Requirements for the Degree

Bachelor of Science

in

Computer Science

______________________________________________

By: Fernando Arozqueta, Jerridan Bonbright,

Andrew Bundy, Delaney Nikoofekr, Austin Stewart,

Katherine Vickstrom, Thomas Wooten

Summer 2022
2

Executive Summary

The purpose of this project is to provide an open-source, browser-based dashboard for

monitoring various types of metering devices. The Open Energy Dashboard (OED) provides a

tool for users of any skill level to access and display current and historical data from their

metering system or related equipment. A primary goal of the project is to produce a product that

is simple to use, reduces implementation complexities, and lowers the overall cost of operating

and maintaining a metering system. OED aims to accomplish its goals by implementing a simple

and intuitive dashboard that interfaces effortlessly with equipment and is easily configurable, yet

remains portable and implementable across many organizations. OED was designed with reliable

open-source software that is constantly maintained, ensuring the dashboard will have a long life

and be competitive with the latest technologies.

As utility costs rise and become more of a financial burden on businesses and

communities, access to information about how we use our resources becomes increasingly

important to consumers. The ability to understand, visualize, and evaluate how and when we use

resources is crucial. Monitoring resource usage is important not only for saving money, but for

preserving the limited resources we have available. With OED, any organization with the ability

to monitor energy usage can have a reliable means of displaying and manipulating these data in

order to cut down on cost and optimize resource utilization.

We are in a time where reducing energy usage, no matter the amount, is more important

than ever. Having an easy and cost-free way to monitor energy usage data in order to reduce it

encourages more organizations to take advantage of it. Be it environmentalist efforts or

businesses looking to raise their bottom line by cutting costs, regardless of reason the end result
3

is a lower carbon footprint. As the perspective of how we consume our resources continues to

change, this tool, with its low cost and easy implementation, has the potential to increase in

prospective value to society. While it is likely that organizations with large utility costs will

comprise the majority of interest in this project, anyone can take advantage of the project’s

functionality if they desire to do so.


4

Table of Contents
Page

Executive Summary................................................................................................................. 2

Introduction/Background......................................................................................................... 5

Project Goals and Objectives................................................................................................... 7

Environmental Scan................................................................................................................. 10

Stakeholders............................................................................................................................. 12

Ethical Considerations............................................................................................................. 12

Legal Considerations............................................................................................................... 14

Timeline................................................................................................................................... 16

Milestones................................................................................................................................ 18

Resources................................................................................................................................. 19

Risks & Dependencies............................................................................................................. 19

Preliminary Usability Test Plan............................................................................................... 20

Final Deliverables.................................................................................................................... 20

Approach & Methodology....................................................................................................... 21

References............................................................................................................................... 22
5

PART I

Introduction/Background

As utility costs rise, and become more of a financial burden on businesses and

communities, access to information about how we use our resources becomes increasingly

important to consumers. The ability to understand, visualize, and evaluate how and when we use

resources is crucial. Monitoring resource usage is important not only for saving money, but for

preserving the limited resources we have available. Southern California utility provider, San

Diego Gas & Electric (SDG&E), has recently come under some scrutiny for its new rate

increases approved by the California Public Utilities Commission (2022, San Diego Union

Tribune Editorial Board). As a result, local news teams interviewed many San Diego residents

across the county. A recurring response from residents was that the rate hikes not only imposed a

significant impact to their financial bottom line, but they would also have to start monitoring

their use of electricity. Residents would now have to find tools or use SDG&E’s data analysis

tools to help ensure that their bill was kept within a budget or did not incur additional charges.

While others sought to seek alternative sources for power, such as point of use solar systems, and

other renewable energy sources, each approach concluded that they would need to monitor their

usage of energy. What tools would be available to these residents? And how much would it cost

to implement such a system?

The Open Energy Dashboard (OED) is a free, open source project that provides a

web-based application to display energy information in a web browser. It was designed from the

ground up to be portable so that it can be used at many organizations. OED is driven by the

needs of its end users where their goal is to take care of the underlying technologies so that its

users can more easily do their important work. OED seeks to provide the ability for anyone to
6

have a tool to monitor their energy consumption at no cost to the user. A fundamental goal of the

project is that the system works for all types of systems. Anyone interested in tracking their

power consumption can use Open Energy Dashboard to track, visualize and report historical and

real-time energy consumption. They can then use that data to monitor their energy consumption

and use that information to make better decisions about how they use their energy. This can lead

to resource conservation and cost savings for the end users.

Issue in Technology

Dashboards have become essential for monitoring data gathered by organizations; it

allows for the business to visualize their data. With regards to energy usage, dashboards have

allowed organizations not only to visualize their data but monitor it to better understand their

efficiency. Existing energy dashboards are generally not portable, have limited functionality,

target a single organization, or are not free. Some energy dashboards even cost over $110

(Pricing).

Solution

Energy dashboards as they are now have very little flexibility across many spectrums,

some of which were mentioned in the previous section. Remedying the flexibility issue will cost

any organization a significant amount of time and money, which is not ideal. The simplest

method for solving the issue of cost is to create an energy dashboard through open source, as it is

free. As for portability and functionality, deploying the dashboard through a container removes

the need for installing and maintaining dependencies, and making it accessible through a browser

instead of an application allows for most machines to run it with ease. Lastly, to avoid the
7

targeting of single organizations, the application can be designed to allow the acquisition of data

from different sources and be built around feedback from users of all backgrounds.

Evidence

This project is needed by a number of people and organizations for several reasons. OED

is filling a gap in energy dashboard options by creating an application that meets several criteria

not achieved by other similar applications. The most essential difference that OED brings to the

table is the fact that it is free and open source. A quick google search for other energy dashboards

will present numerous options for paid software, usually through a subscription, including

Datapine, Bold BI, and Automated Logic. The fact that OED is free shows that this project is

being developed in the best interest of its users and since it is open source, it is able to constantly

be improved by people who are truly passionate about the project. OED is also focusing on

portability, an aspect that is not commonly met by other energy dashboards. While similar

software often requires a standalone application to be installed, OED can be accessed from a

browser on almost any device. Lastly, the ease of use element that this project aims to achieve is

a necessity as it enables even those with minimal technological experience to operate the

application. All of these factors combined prove this project to be extremely useful and capable

of filling needs that have yet to be met by its competitors.

Project Goals and Objectives

Open Energy Dashboard is a free, open source project that provides a web-based

application to display energy information in a web browser. Our goal is to make a meaningful

contribution to this open source project that aligns with what the project intends to deliver. We

hope to aid in expanding to many local communities and enhancing their energy information by
8

providing them with a graphical representation of the data they collect, as well as obtaining raw

data from the end user such as electrical usage or water consumption from meters. Our objectives

are smaller contributions to the overall goal of the project as the app has already been in

development for some years, so we will be building upon the existing application with

improvements and bug fixes. There will be the opportunity to both work on new features as well

as work through some technical debt which the project has incurred over the years, such as fixing

inconsistencies and streamlining processes.

GOALS

● Users will be able to import and export data

● Users will be able to determine the type of graphical representation of their data:

○ Line

○ Bar

○ Compare Data

○ Map Data

● User will have the ability to create roles such as:

○ Admin

○ CSV - Importing CSV data

○ Export - Exporting data into CSV

○ Obvius - Upload Obvius data

● User will have the ability to integrate OED onto their websites

● Users will be able to to chart links

○ End users might want to have a link on their websites to let the public easily see

how they are reducing energy usage


9

● Ability to work on any reasonable device from a cell phone to large monitors

● Admin pages, so that non-IT person can get the site running

● The ability to collect data from Obvius AcquiSuite, which can collect data from many

meter types.

OBJECTIVES

Our objective for this project is to further assist our client (OED) to enhance the

functionality of their product. By performing the following tasks:

● Code reviews

● Automating pipeline testing environment

● Coding functions to enhance product performance

○ Translation of strings: Client wants all strings shown to the user to honor the

selected language and the ones for CSV files do not.

○ Make improvements to the feature that allows users to export their data.

● Coding functions to streamline the front end appearance of the application

○ Client states that there are several modals that are formatted differently for

different pages of the site, this needs to be streamlined so they all use the same

formatting with a cohesive appearance.

● Coding functions to apply logic to what is displayed in drop down menus depending on

input

○ Client states that some logic is needed to determine what is displayed in drop

down menus, for example, depending on energy type selected, the unit of
10

measurements to choose from should be limited to units that apply to that type of

energy.

○ Fixing other minor display related bugs.

● Miscellaneous tasks for team members who are keen on these topics

○ Writing various JavaScript functions.

○ Database work with Postgres.

Environmental Scan

There are many applications out there that offer management and overseeing capabilities

for information based on energy. For example, there is a company called Vitality that develops a

product that does just that. Vitality provides various options for different aspects that the end user

might want to manage, such as an energy dashboard for quick and easy access to different

measurable energy metrics. They also offer emission tracking to monitor the rates of emissions

based on energy consumption. Another interesting service they provide is anomaly detection.

This allows any user to oversee all measured energy fields from one location. Not only that, but

it also provides a way for users to be notified when one field is either over or underperforming.

Unfortunately, Vitality and its services are specially tailored for its own site. This makes

portability a challenge as not every smart phone, laptop, or desktop is capable of running it.

Lastly, all of the management systems that they offer are paid services. This makes it difficult for

companies with tight budgets to manage and control their energy information. Thankfully, Open

Energy Dashboard plans to solve all of these issues and more.

So what makes OED different from the rest of its competitors? Instead of creating an

application designed for a single organization, they are developing one that is suited for a wider

range of users. This means that not only do all end users have access to the same services, but
11

they can tailor the dashboards to their specific needs. With portability being an issue in most

other companies, OED runs in a container that is accessed via browser. This means that anyone

with a device that is connected to the internet can access their dashboard. This approach helps in

a number of ways because one of the biggest issues to tackle is ease of access. Furthermore, one

of the biggest reasons why OED is so different from its competitors, is that it is completely free.

OED achieves this by being an open source project. This means that anyone who desires to is

able to aid in project development and contribute to it in numerous ways, be it pitching a new

feature idea specifically suited for their needs, or helping to refine and speed up data transfer.

Open Energy Dashboard truly is the next step forward for energy information

management. With their main goal being to provide the best service to its end users, the lifespan

of this energy management system will forever grow. In fact, prior development of OED has

already come from the free contributions of several groups, and the largest number of

contributions have actually come from students. This is especially important for students because

it provides valuable experience for them as they get to work on a real large-scale project. In

conclusion, OED is the next step forward for energy information management and serves as a

valuable stepping stone for those pursuing a career in computer science.


12

PART II

Stakeholders

The stakeholders of this project are those in need of an application to monitor their

energy usage within their facilities. This can include organizations, such as schools and

businesses, or individuals, such as homeowners. These stakeholders will benefit through access

to free technology that will help them better manage their energy needs and costs. Through OED,

users will gain the valuable resource of easily being able to track their energy usage and manage

their data going forward .The project is designed to be easy for the end user to manage without a

technical expert, so there should not be an ongoing cost to maintain the technical aspects of the

project. The startup cost is the main hurdle. Though it is technically free, there is a nontrivial

startup cost for equipment, setup, and maintenance. Also, the cost of human resources like time

and money for setting up, and what they lose if the project does not work out.

The stakeholders and the entire project do stand to lose if we do not deliver on our

portion of the project. If we don’t work out resource generalization, the timeline will be pushed

back and we will have to release later and users will have access to features that will save them

time and money. If we deliver on our end, it can be released on schedule and the users will have

the features needed at their disposal sooner.

Ethical Considerations

Due to the nature of our project, there are not many major ethical concerns for us to

worry about. However, being open source does open our project to the common ethical issues

that open source projects tend to deal with. We must deal with the skepticism of misleading

people about the longevity of the project. Since we are a not-for-profit organization, we do not
13

have board members, shareholders, or any profit-seeking owners to answer to. This could raise

concerns about if the project will always be maintained. Indeed, there are less hurdles to

overcome for an open source project than to simply pull the plug and walk away. This can be

compounded with the concern that we are taking users from actual businesses. While that is not

bad in and of itself, it could spell disaster for users that decide to depend on open source

software, only to get the rug pulled out from under them and be left with a stack that depends on

software that is no longer maintained. Still, even with working and maintained software, we must

also ensure that it remains accessible.

In its current state, the project is somewhat unfriendly to non-English speakers. In fact,

that is one of the stories that is assigned to our group to tackle. Nonetheless, it is a current issue.

Furthermore, OED is not very accessible to those that are disabled. Dashboards are heavily

reliant on visuals and displaying data in a browser. This puts people with visual impairments at a

huge disadvantage when trying to use an OED site.

It is true that the project does not exist without fault. It can be challenging to solve the

issue of trust that comes with being an open source project. It is very likely that the only solution

is to continue to provide services and expand the reaches of our organization. Given a large

enough user base, an established and well communicated update history, and working and easily

available software, we hope to mitigate the concerns of project longevity and maintenance. Our

project being unavailable to non-English speakers will also continually be solved over time as we

add more languages. The issue of difficulty of use due to disabilities, however, is more difficult

to tackle. There have already been ideas of possible solutions such as making graphs tonal in

nature, or even converting them into braille so that those with visual impairments may also use

the software. However, given the organization’s current state these solutions will be challenging
14

to implement. As of now, websites are already run through a checker that flags things like images

without alternative text or bad page layout making things difficult to read. Also, the color palette

used in graphs is currently separated into groups and meters, with meters being separated by

steps in hex codes to make them as distinguishable as possible. In fact, UC Davis has gone even

further to make colors readable to the visually impaired on their own dashboard. Still, the

inaccessibility problem will likely remain for the foreseeable future.

In the end, OED would consider making changes if we were certain which changes could

be made. Being a small organization that is primarily reliant on student submissions, we do not

have a team dedicated to solving these kinds of issues. Though future updates for added

functionality have been planned, we still rely on user data and suggestions to know where the

project needs to be taken.

Legal Considerations

OED is an open project that accepts ideas and contributions from everyone. The project is

protected under Mozilla Public License Version 2.0, which is a copyleft license. MPL is designed

to encourage contributors to share their code and still allow them to combine their work with

code under other licenses (open or proprietary) with minimal restrictions. MLP requires users to

disclose their changes to the source code, but requires sharing of a narrower set of code. If an

author reworks any of the original files, they have to release those updates when distributing the

code and license them under the MPL. In addition to the requirement that developers disclose

updates to the original project’s source code, users must also include the original copyright

notice. In addition, the MPL obligates users to state that the code is under the MPL license and

share where they can find the license.


15

The MPL also includes what is known as a "patent claims" clause - section 1.11 - which

is designed to discourage patent infringement claims. These clauses essentially act to punish a

company for bringing a patent claim against another company. In the case of the MPL, the patent

peace provision is extremely broad. Under the MPL, if a user files a patent infringement lawsuit

against the "Initial Developer" or a "Contributor" (both are defined terms in the MPL) for "any

software, hardware, or device," the license to use and distribute the MPL code granted by such

Initial Developer or Contributor will be terminated.

Lastly, for those wanting to make a profit off of the software they’ve created, there are

certain restrictions in place. A lot of these restrictions depend on the license itself. For example,

if someone were to sell a product that uses our project’s code, they would have to inform the

buyer that our version is available for free. Also, if a contributor wants to make a profit off the

code they’ve created, then they must make it publicly available. OED lies in the middle ground

and doesn’t require its contributors to make all of their code available to the public.
16

PART III

Project Scope

Timeline

June 20 - July 3

● Set up the OED development environment.

● Install Docker & Visual Studio code with required extensions for remote container

development.

● Set up a developer account on OED Discord channel and sign release.

● Explore the applications current state and architecture, plan approaches for upgrades.

● Take time to fully understand the code from the Unit page so it can be used as a template.

● Make sure that we are comfortable with the code, comment if need be.

July 4 - July 18

● Review the Unit page for completeness and full functionality, update React and Redux to

new methods of React coding where applicable.

● Refactor or scrap and rebuild the conversion and meter pages using the Unit page as a

template, as it is the most complete page.

○ It may be possible to refactor the incomplete conversion and meter pages, but it is

likely that the pages may need to be re-developed from scratch for the sake of

consistency.
17

● Development work will likely continue until the last two weeks. If we finish early, we

can spend extra time updating how React hooks are used, or synchronizing the meter

groups and menu drop downs on the admin group pages.

July 18 - July 31

● Clean up and finalize documentation.

● Conduct Code reviews and perform testing of each other's code.

● Create a final pull request for OED manager review and acceptance before merging code

changes into projects.

OED Project Timeline

Figure 1. Project timeline


18

Figure 2. Project Board

Milestones

The major steps of the process toward completing the proposed project are outlined in

Figure 3.

Figure 3. Project Milestones


19

Resources

The resources needed for this project include a PC for development, open source software

such as Visual Studio Code and Docker, and access to Open Energy Dashboard GitHub

repository.

OED will rely on dozens of packages, both directly and indirectly, as well as several

types of software in order to create a workable, user-friendly dashboard.

The project frontend will utilize TypeScript, Promises, React, Redux, and Plotly. Our

backend will rely on JavaScript, Promises, pg-promise interface, and PostgreSQL. Testing will

be handled with Chai and Mocha.

Graphical functionality will in part be provided by Plotly.js, which is a JavaScript library

used to generate data charts. Database management will be handled using PostgreSQL. Our

JavaScript runtime environment will rely on Node.js. Additional software and packages will

include, but is not limited to, Express, Moment, React-intl, Webpack, and Lodash. Other

packages may be added, utilized, or updated as needed throughout the duration of this project.

Risks and Dependencies

In this project, our team will be building on top of code generated previously by other

contributors. This introduces many potential risks and dependencies, including ones that may

arise as we complete new tasks. In order to take an effective approach to these possibilities, it is

important that our team works hard to understand the code upon which we are building.

Due to the nature of our project, it is possible that some dependencies may arise from

incomplete code at the very beginning of our contribution. It is essential that we establish a solid
20

footing during this time by understanding what needs to be done. Then, we can begin to

complete new tasks and implement new features.

Preliminary Usability Test Plan

Open Energy Dashboard is in a unique position when it comes to testing the usability of

the service. Being open source means that any contributor, with access to GitHub, is able to help

test the product. Our testing process will primarily consist of using the product as is. Though

there may be standard testing procedures like implementing unit and integration tests, it is likely

that we will simply implement a change and test it manually. Furthermore, the features that we

will be working on will be tested primarily within our group. The company lead and other

individuals will also perform tests as well once our changes are committed to our branch and a

pull request is available for review.

Final Deliverables

Our final deliverables have already been clearly established. We are to modernize the use

of React/Redux on the unit page, and make any other desired changes so that it may be used as a

template. Then, we must refactor or recreate the Conversion and Meter pages so that the

functionality and design matches the Unit page. We are also to ensure that the pages are visually

consistent with each other. If we have more time, we will attempt to fix the state communication

between React and Redux for the user and admin menus, and also update the pages to use the
21

modern style of React coding. In the event that we do not complete our primary deliverables in

time, we must ensure that our code and progress is well documented so that the next group may

pick up where we left off.

Approach/Methodology

It is difficult for OED to follow a specific development approach or methodology. This is

due to the fact that it is both an open source project and a project with high turnover rate due to

the majority of contributions coming from students. Students who contribute to the project

usually do so for approximately eight weeks. After that, a new set of students will take their

place with little to no prior knowledge of the project, meaning that the development momentum

will be halted as the newcomers must learn the project from scratch. However, the project

manager makes an effort to assign ideal timeframes for getting specific tasks done. These

timeframes can be thought of as two-week sprints, which is similar to Agile even though we are

not fully incorporating it.


22

References

An introduction to Wattics & popular features. (n.d.) Wattics.

https://www.wattics.com/dashboard/

Dashboards. (n.d.) eSight Energy. https://www.esightenergy.com/dashboards/

Energy Dashboard. (n.d.) Dribbble. https://dribbble.com/tags/energy_dashboard

Energy Dashboard Examples. (n.d.) Datapine.

https://www.datapine.com/dashboard-examples-and-templates/energy

Energy Dashboards. (n.d.) Automated Logic.

https://www.automatedlogic.com/en/products/energy-reports-platform/energy-dashboards

Handy, S. (2022, May 17). SDG&E proposes double-digit rate hike in 2024. CBS8.

https://www.cbs8.com/article/money/amped/sdge-proposes-double-digit-rate-hike-startin

g-in-2024/509-8517a16d-88d9-42ac-a307-a0b18062c7fa

Mozilla Public License Version 2.0 (n.d.). Mozilla Public License, version 2.0. Retrieved June 1,

2022, from https://www.mozilla.org/en-US/MPL/2.0/

Open Energy Dashboard. (n.d.) Open Energy Dashboard. https://openenergydashboard.github.io

Pricing. (n.d.). EnergyPrint. Retrieved May 23, 2022, from

https://www.energyprint.com/pricing/

San Diego Union Tribune Editorial Board. (2022, June 9). Opinion: SDG&E wants a rate

increase while 1 in 4 customers can't pay their bills now. Absurd. San Diego Union

Tribune.
23

https://www.sandiegouniontribune.com/opinion/editorials/story/2022-06-09/opinion-sdge

-rate-case-increase-gas-electric

Sinha, S. & Taparia, S. (2013, August 28). 9 key attributes of energy dashboards and analytics

tools. Greenbiz.

https://www.greenbiz.com/article/9-key-attributes-energy-dashboards-and-analytics-tools

What’s new in energy rates and who sets them? (2022). SDG&E.

https://www.sdge.com/rates/why-did-my-energy-bill-recently-go

You might also like