heatingpro-efficiency
v1.0.8
Published
Utility functions for MonitoringPro efficiency calculations with flexible unit support (GJ, kWh, MWh)
Maintainers
Readme
MonitoringPro Utils
Utility functions for MonitoringPro efficiency calculations with flexible unit support.
Installation
npm install heatingpro-efficiencyUsage
const { computeEfficiency, areMetersBeingWrittenOff } = require('heatingpro-efficiency');
// Compute efficiency for data in GJ (default)
const result1 = computeEfficiency(row, prevRow, monthlyEffectivityConstant);
// Compute efficiency with field units mapping
const result2 = computeEfficiency(row, prevRow, monthlyEffectivityConstant, fieldUnits);
// Check if meters are being written off
const metersActive = areMetersBeingWrittenOff(valuesData, fieldUnits);Functions
computeEfficiency(row, prevRow, monthlyEffectivityConstant, fieldUnits)
Computes efficiency based on heat meter readings and gas consumption.
Parameters:
row- Current row data objectprevRow- Previous row data objectmonthlyEffectivityConstant- Monthly effectivity constant valuefieldUnits(optional) - Object mapping field names to their units (e.g.,{ "VO1": "mwh" })
Returns: Object with ucinnost (efficiency) and heatUnits values
areMetersBeingWrittenOff(valuesData, fieldUnits)
Checks if heat meters (VO1-VO8, MT TUV) exist and are being written off.
Parameters:
valuesData- Array of row data objectsfieldUnits(optional) - Object mapping field names to their units
Returns: true if meters exist and are being written off, false otherwise
Supported Heat Units
- GJ (Gigajoules) - Default unit, converts using 1 GJ = 277.778 kWh
- kWh (Kilowatt-hours) - No conversion needed
- MWh (Megawatt-hours) - Converts using 1 MWh = 1000 kWh
Version History
- 1.0.8 - Fixed efficiency calculation bug:
- Removed incorrect
* 10multiplier that caused efficiency values to be 10x too high - Added meter reset detection for gas and heat meters
- Improved validation for negative differences and edge cases
- Added comprehensive test suite
- Removed incorrect
- 1.0.7 - Added
areMetersBeingWrittenOfffunction to check if heat meters exist and are being written off - 1.0.6 - Previous version
- 1.0.5 - Added flexible unit support for heat calculations
Testing
Run tests with:
npm testRun tests in watch mode:
npm run test:watchGenerate coverage report:
npm run test:coverageLicense
ISC
