Skip to content

Energy Monitor is an app to visualize energy related properties and power consumption of connected devices

License

Notifications You must be signed in to change notification settings

b-haytham/energy-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Energy Monitor

Energy Monitor is an application to process, analyze, store and monitor energy usage.

⚠️ This project is incomplete and is not for production.

Energy monitor dashboard

Description

Components

  • web: dashboard (admin/users) to manage resources.
  • backend: monolith handle everything (cron jobs, alerts, users, email notification ..)
  • hivemq extension: plugin written with the help of hivemq extension sdk to authenticate devices and to react to device connection lifecyle
  • cli: tool to help seed/drop database and pub/sub to mqtt topics in development

Features

  • Realtime visualisation of device messages (power, voltage, current..)
  • daily, monthly, annual power consumption
  • Automatically generated monthly reports and bill estimation
  • Alerts

Getting Started

Dependencies

Installing

git clone --recurse-submodules https://github.com/b-haytham/energy-monitor 

Run

copy the example envirement variables

cd energy-monitor

cp envs/examples/backend.example.env envs/backend.env
cp envs/examples/hivemq.example.env envs/hivemq.env
cp envs/examples/dashboard.example.env envs/dashboard.env

change super admin credentials or leave the default

# envs/backend.env
SUPER_USER_EMAIL=superadmin@gmail.com
SUPER_USER_PASSWORD=superadmin

optionally set email configuration

# envs/backend.env
SMTP_HOST=
SMTP_PORT=
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM_ADDRESS=No Reply <engy-monitor@mail.com>

run docker compose

docker compose up
# --- or --- (depends on how you installed docker compose) 
docker-compose up

Name Url
Dashboard http://localhost:3001
Admin login http://localhost:3001/admin/auth/login
User login http://localhost:3001/auth/login
backend Api http://localhost:3000
Socket io url http://localhost:3000/socket.io
Mqtt broker (hivemq) tcp://localhost:1883

now navigate to http://localhost:3001/admin/auth/login
and use email & password you setup in previous step.


your can follow more detailed guide on how to navigate the application GUIDE.

Licence

This project is licensed under the MIT License - see the LICENCE file for details

About

Energy Monitor is an app to visualize energy related properties and power consumption of connected devices

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages