How rishishah1704/energy-ems works
Jetpace Energy EMS is a Node-RED energy-monitoring application. Meter readings flow from Modbus polling through parsing to the live dashboard and minute-limited SQL logging; separate report and email workflows query logged data and format downloadable or emailed output. Dashboard capabilities also cover device management, SMTP settings, and protected email access. The flows are documented in the README but their implementation was not sampled, so flow-node paths and links reflect that documentation rather than inspected source; runtime configuration is sampled in settings.js.
Main entry points: flows.json Email Access & Settings · settings.js File-backed Context · start.js Node-RED Runtime
Components 25
Metering & Live View
- Request Builder
flows.json - Modbus Reader
flows.json - Reading Parser
flows.json - Live Dashboard
flows.json - Log Rate Limiter
flows.json - Energy Log Writer
flows.json
Reports & Email
- Report Query Builder
flows.json - Report Query
flows.json - Report Formatter
flows.json - Report Page
flows.json - Email Request Handler
flows.json - Monthly Query Builder
flows.json - Monthly Query
flows.json - Email Formatter
flows.json - PDF CSV Sender
flows.json - Monthly Trigger
flows.json - Auto-send Gate
flows.json
Dashboard Controls
- Device Management
flows.json - Email Access & Settings
flows.json
Node-RED Runtime
- File-backed Context
settings.js - Node-RED Runtime
start.js
Other components
- Dashboard User
- Modbus Gateway
- MSSQL DATA
- Gmail SMTP
Connections 31
- Modbus Gateway → Request Builder: provides meter access
README.md - Request Builder → Modbus Reader: builds requests
README.md - Modbus Reader → Reading Parser: returns registers
README.md - Reading Parser → Live Dashboard: updates readings
README.md - Reading Parser → Log Rate Limiter: forwards readings
README.md - Log Rate Limiter → Energy Log Writer: limits to minute
README.md - Energy Log Writer → MSSQL DATA: inserts readings
README.md - Dashboard User → Live Dashboard: views dashboard
README.md - Dashboard User → Report Query Builder: selects report range
README.md - Report Query Builder → Report Query: builds query
README.md - Report Query → MSSQL DATA: queries readings
README.md - Report Query → Report Formatter: returns results
README.md - Report Formatter → Report Page: formats report
README.md - Dashboard User → Report Page: downloads report
README.md - Dashboard User → Email Request Handler: requests email
README.md - Email Request Handler → Monthly Query Builder: routes request
README.md - Monthly Query Builder → Monthly Query: builds query
README.md - Monthly Query → MSSQL DATA: queries readings
README.md - Monthly Query → Email Formatter: returns results
README.md - Email Formatter → PDF CSV Sender: formats attachments
README.md - PDF CSV Sender → Gmail SMTP: sends email
README.md - PDF CSV Sender → Live Dashboard: returns feedback
README.md - Monthly Trigger → Auto-send Gate: triggers monthly
README.md - Auto-send Gate → Monthly Query Builder: starts eligible send
README.md - Dashboard User → Device Management: manages devices
README.md - Device Management → File-backed Context: persists device list
README.md - Dashboard User → Email Access & Settings: configures email access
README.md - Email Access & Settings → File-backed Context: persists settings
README.md - Email Access & Settings → Live Dashboard: updates dashboard
README.md - Email Access & Settings → Gmail SMTP: configures credentials
README.md - Node-RED Runtime → File-backed Context: configures storage
settings.js