Skip to content

UK Home Energy Analysis App with Blazor WebAssembly. Config is minimal, should work for most homes.

License

Notifications You must be signed in to change notification settings

zola-25/Explain-My-Energy

Repository files navigation

CodeQL Main App Playwright Tests

Explain My Energy

This is an open-source hobby project that provides a standalone, serverless Blazor WebAssembly app to enable UK-based users easy access to detailed insights on their energy usage and energy costs.

Full documentation can be found at docs.explainmyenergy.net

The application is essentially a client-side wrapper around the consumer API provided by n3rgy, providing detailed energy analysis not available to many consumers - maybe due to the limitations of their energy provider, and often requiring the use of pay-to-use energy apps for the same level of insight.

The analysis includes showing the effects of seasonal temperature on energy usage and costs, as well as daily, weekly and monthly summaries of historical, present and forecast energy usage and costs.

The best way to get a feel of the app is to try the demo site, pre-configured with dummy data.

Visual Example

Visual Demo Animation

Note on Browser Support and Security

The application should be fully functional on up-to-date desktop browsers. It has been tested on the latest desktop versions of Chrome, Firefox, Edge and Safari*.

The application currently makes extensive use of browser local storage and the initial app download size is quite large. Currently it may not be functional on some mobile browsers, as these browsers usually have comparatively smaller local storage and cache limits.

However both the main app and the demo site have been tested on iPhone 13* and Galaxy S8, although out of date mobile OS versions may have issues. For iOS ideally use the latest version (17.4 at time of writing), and likewise for Android (version 14 at time of writing). Your mileage may vary.

Initial App download size comes with the territory of Blazor WebAssembly apps right now. App size has been reduced with the cautious use of the .NET Trimmer, but there may be more to gain here.

Note

*WebKit based browsers such as Safari display intermittent issues using test emulators, regardless of the platform, but appear to be working fine in the wild.

Security

Important

Be aware that all data is stored unencrypted in the browser's local storage. No personal data is requested or stored by the application, but to function, the app requires a smart meter IHD (In Home Device) MAC ID, and energy meter MPAN and MPRN numbers. The documentation has more details on these numbers on the setup page.

There is a feature to lock and encrypt potentially sensitive data, given a user provided password: app lock docs. This doesn't require server-held user accounts or third-party authentication providers.

Data stored in browser local storage is only accessible by the web app that created it, and XSS attack risks have been minimized - however, don't use this app on a shared device or a device that you don't trust.

Getting Started

There's comprehensive documentation at docs.explainmyenergy.net.

Exploring the demo implementation, pre-configured with dummy data and requiring no setup, is recommended and available at demo.explainmyenergy.net

The live version that you can to analyze your own energy data, is available at explainmyenergy.net