@powerhouse-solutions/node-red-contrib-twinhub-energymanagement 1.1.0
TwinHub Energy Management nodes for Node-RED for Modbus-based meter acquisition, live data handling, local persistence, and MES or SQL upload.
node-red-contrib-twinhub-energymanagement
TwinHub Energy Management – A complete Node-RED toolkit for collecting, processing, storing, and uploading machine energy data based on Modbus devices.
This package is provided by Powerhouse Solutions GmbH.
What this package does
This package provides a full pipeline for energy data processing:
- Read energy values from Modbus devices (e.g. Siemens PAC2200)
- Parse raw register data into usable numeric values
- Store live energy data per device
- Calculate consumption differences from counters
- Persist data in a local database
- Upload data to MES or SQL systems
Installation
Option 1 – via npm
cd C:\Users\Username.node-red npm install @powerhouse-solutions/node-red-contrib-twinhub-energymanagement
Option 2 – via Node-RED UI
- Open Node-RED
- Go to Manage Palette
- Search for "twinhub energymanagement"
- Click Install
Included Nodes
Data Acquisition
energy-request-builder
Creates Modbus request messages for energy signalsenergy-value-parser
Converts Modbus register data into numeric values
Live Data Handling
- energy-live-data
Stores current energy values per device and can export or push them via API
Persistence
energy-store-counter
Calculates consumption (diff) from counter valuesenergy-db-functions
Creates and manages the local database structure
Upload Pipeline
energy-select-pending
Selects not-yet-uploaded recordsenergy-upload-data
Uploads data to:- MES API
- SQL Server (Stored Procedure)
Config Nodes
- energy-request-builder-config
- energy-live-data-config
- energy-upload-config
- energy-upload-sql-config
Typical Flow
energy-request-builder
↓
Modbus Flex Getter
↓
energy-value-parser
↓
energy-live-data
↓
energy-store-counter
↓
MySQL
↓
energy-select-pending
↓
MySQL
↓
energy-upload-data
Supported Topics
- currentvalue
- countervalue
- frequency
- apparentpower
- reactivepower
Data Model (example)
{ "deviceId": "machine-001", "topic": "currentvalue", "value": 228.06, "unit": "W", "timestamp": "2026-04-10T11:30:00.000Z" }
Local Database
The package uses a local table (default: EnergyData):
- Counter values
- Calculated diffs
- Upload flags (UploadedSQL, UploadedMES)
The structure can be created using:
msg.topic = "create"
→ send into energy-db-functions
Important Notes
- deviceId is mandatory for most nodes
- Designed for multi-device environments
- Modbus communication is NOT included
→ use external nodes like Modbus Flex Getter - Time is stored as numeric timestamps (yyyyMMddHHmm)
Target Use Case
This package is designed for:
- Industrial energy monitoring
- MES integration
- Machine-level energy tracking
- Multi-device environments