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 |
|
src-esp32 |
Firmware for the ESP32 (measuring device) |
|
(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:
In a nutshell:
- The ESP32 has a MQTT connection with AWS IoT Core
- Every 30 seconds, 30 measurements are sent to AWS
- These measurements are stored in DynamoDB (IoT Rule)
- Once a day, all readings from the previous day are archived to S3
- A GraphQL API (hosted on Lambda) exposes the data stored in DynamoDB
Screenshots
Web dashboard, built on top of the GraphQL API:
What is displayed on the ESP32 OLED display:
DIY Requirements
To build your own Energy Monitor you need the following hardware:
- ESP32
- CT sensor: YHDC SCT-013-030 (30A/1V)
- 10µF capacitor
- 2 resistors (between 10k-470kΩ)
Other requirements:
- AWS Account (Should be able to run in free-tier)
- Install PlatformIO on your system
- Drivers for your ESP32 board
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.