Savjee / home-energy-monitor

ESP32-based Home Energy Monitor
https://savjee.be/2019/07/Home-Energy-Monitor-ESP32-CT-Sensor-Emonlib/
221 stars 76 forks source link
arduino aws dynamodb energy esp32 iot lambda serverless

Home Energy Monitor

Home Energy Monitor (v2)

[![GitHub Issues](https://img.shields.io/github/issues/Savjee/home-energy-monitor.svg)](https://github.com/Savjee/home-energy-monitor/issues) [![GitHub Pull Requests](https://img.shields.io/github/issues-pr/Savjee/home-energy-monitor.svg)](https://github.com/Savjee/home-energy-monitor/pulls) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE) **⚠️ This is a work in progress. By no means is this production ready.**

ESP32-based Home Energy Monitor: monitors electricity consumption of your entire house with a single CT sensor.

Structure

This project consists out of multiple components:

Folder Description Build status
src-app Mobile app (Ionic) n/a
src-aws Serverless AWS backend + GraphQL API AWS Build Status
src-esp32 Firmware for the ESP32 (measuring device) Firmware Build Status

(TODO: add instructions on how to deploy all of this. 😅)

Video explanation

[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/ah3ezprtgmc/0.jpg)](https://www.youtube.com/watch?v=ah3ezprtgmc) *[https://www.youtube.com/watch?v=ah3ezprtgmc](https://www.youtube.com/watch?v=ah3ezprtgmc)*

Read my blog post for more instructions: https://savjee.be/2019/07/Home-Energy-Monitor-ESP32-CT-Sensor-Emonlib/

Cloud Architecture

This is the cloud architecture that powers the energy meter and the app:

AWS Cloud Architecture

In a nutshell:

Screenshots

Web dashboard, built on top of the GraphQL API:

Screenshot Web Dashboard

What is displayed on the ESP32 OLED display:

Screenshot ESP32 OLED

DIY Requirements

To build your own Energy Monitor you need the following hardware:

Other requirements:

Read my blog post for more instructions: https://savjee.be/2019/07/Home-Energy-Monitor-ESP32-CT-Sensor-Emonlib/

Contribute

I'm happy to merge in any pull requests. Also feel free to report bugs or feature requests.