Giter Site home page Giter Site logo

cityssm / emile Goto Github PK

View Code? Open in Web Editor NEW
9.0 1.0 0.0 3.18 MB

"Energy Monitoring in Less Effort" - An application to aggregate energy consumption data across several municipal assets and report usage to monitor and manage emissions. Makes bringing together Green Button and CSV data sources a breeze!

Home Page: https://cityssm.github.io/EMILE/

License: MIT License

JavaScript 42.86% TypeScript 47.07% SCSS 0.30% EJS 6.59% Batchfile 0.01% HTML 3.17%
energy-data energy-monitoring energy-usage greenbutton connect-my-data download-my-data green-button municipal-software

emile's Introduction

EMILE (Energy Monitoring in Less Effort)

Emile

DeepSource Maintainability codecov EMILE

Pronounced like Emily

An application to collect and aggregate energy consumption data across several municipal assets and report usage to monitor and manage emissions.

Makes bringing together Green Button® and CSV data sources a breeze!

Available Inputs

Outputs, Exports, and Reports

About this Project

EMILE Dashboard

📘 User Documentation (In The Works)

Although the system is quite niche, it's being released in an open source environment in hopes to pool developer resources from other municipalities looking to solve the same problems and move away from older, legacy systems.

It is being shared to start the dialog among other municipalities and present an option to those who may be looking to refresh or upgrade their energy usage tracking.

More Projects from the City of Sault Ste. Marie

EMILE's energy usage monitoring is made possible using the City of Sault Ste. Marie's Green Button® Parser for Node and Green Button® Subscriber for Node.

The City of Sault Ste. Marie also has several other open source applications available for managing municipal operations.

Browse our GitHub account for more of the City's offerings.

Trademarks

® GREEN BUTTON is a registered trademark owned by Departments of the U.S. Government.

The City of Sault Ste. Marie is a Liaison member of the Green Button Alliance.

emile's People

Contributors

dangowans avatar deepsource-io[bot] avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

emile's Issues

[FEATURE REQUEST] Support Enbridge's Green Button Implementation

What feature are you suggesting?

Support for Enbridge's upcoming Green Button Connect My Data Implementation.

Is your feature request related to a problem?

No.

Are there any workarounds? Are there any alternative solutions that would work?

Download the data manually for 30+ assets using Green Button Download My Data, and upload it into EMILE. Note that manually generated Green Button files from Enbridge are importing successfully, so node-green-button-parser should be ready.

Are there any other helpful details?

  • 🛑 Enbridge's Third Party Application is not yet ready.

  • ‼️ The requirements to become a third party are more extensive than PUC, based on Enbridge's FAQ page.

  • 😩 The bulk download endpoint appears significantly more complicated compared to PUC. Rather than providing the data on request like PUC, Enbridge's solution requires a public facing notify URL to notify when data is ready to download over SFTP. Updates to node-green-button-subscriber will be required.

EnergyData table too large

After scaling up to over 150 polled assets, the EnergyData table is too large to poll. It needs to be split!

Ending Support For Node 14 and Node 16 in November 2023

More and more dependencies are dropping support for Node 14 and Node 16 since both versions have reached end-of-life.

In November 2023, this project will follow suit, stop testing against these older versions of Node, and fully embrace Node 18 and Node 20.

  • Update engines block in package.json to >=18.0.0.
  • Unblock dependency updates that discontinue support for Node 14 and Node 16.
  • Remove helpers/polyfills as they are no longer needed.
  • Update Node versions in coverage.yml.

Try optimizing file processing.

Parsing a 10MB xml file is pretty slow currently.

I don't have a good intuition for what part is slow. Do you think there might be some low hanging fruit here? Any hunches?

The first step would be profiling.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.