POWERMETER: Power Meter
The POWERMETER entity represents a power metering point in the electrical distribution chain, tracking real-time load, consumption, and cost allocation.
POWERMETER definition shipped with DemandFlow. Administrators can add, remove, rename, or re-type fields, change which ones are required, and alter the layout from the Definitions screen in Settings. Your tenant's current schema may differ from what is shown here. To read the current definition at any time, GET the DEFINITION object whose id matches POWERMETER.Entity properties
| Property | Value |
|---|---|
| Entity code | POWERMETER |
| Display name | Power Meter |
| Plural | Power Meters |
| Level | 277 |
Use cases
Power Meter represents a physical or virtual metering point in the electrical distribution chain. Data centres have meters at multiple levels: utility entrance, main switchgear, UPS input/output, floor distribution boards, room panel boards (RPPs), rack PDUs, and sometimes individual circuits. This entity models WHERE each meter sits in the hierarchy and WHAT it measures, enabling power chain traceability and PUE calculation. The location uses optional objectLookups to BUILDING, FLOOR, ROOM, and RACK rather than forcing a single parent - a utility entrance meter belongs to a building but not to any room, while a PDU meter belongs to a specific rack. meterPoint (indexedSelect) classifies where in the power chain the meter sits, which is critical for PUE: the ratio between a 'Utility Entrance' meter and an 'IT Load' meter gives the facility PUE. The Readings panel is all readonly fields designed for BMS/SCADA/SNMP integration via API patches. The Billing panel tracks energy consumption and cost allocation - linking to SITE.costPerKwh for rate calculations. CT ratio and accuracy class fields are included because revenue-grade metering (Class 0.2S) vs monitoring-grade (Class 1.0) matters for utility billing disputes and compliance. The entity deliberately does not store historical readings - those belong in a time-series store - but does track rolling period consumption (daily/monthly/annual kWh) for dashboard and reporting use.
Fields
General
| Field | Type | Required | Notes |
|---|---|---|---|
name | text | Yes | Unique meter identifier or asset tag. |
meterName | text | Descriptive name (e.g., Building A Main Utility, Room 101 RPP-A). | |
meterPoint | enum | Yes | Metering Point. Valid ids: 1 (Utility Entrance), 2 (Main Switchgear), 3 (ATS / Transfer Switch), 4 (Generator Output), 5 (UPS Input), 6 (UPS Output), 7 (Floor Distribution Board), 8 (Room Panel Board / RPP), 9 (Rack PDU), 10 (Branch Circuit), 11 (IT Load), 12 (Mechanical / Cooling Load), 13 (Lighting Load), 14 (Virtual / Calculated). |
status | enum | Yes | Status. Valid ids: 1 (Active), 2 (Planned), 3 (Offline), 4 (Fault), 5 (Decommissioned). |
description | text (multi-line) | Description. | |
building | reference → BUILDING | Building. | |
floor | reference → FLOOR | Floor. | |
room | reference → ROOM | Room. | |
rack | reference → RACK | For PDU-level metering. | |
panelBoardRef | text | Name of the panel board, switchgear, or distribution unit this meter monitors. | |
feedPath | enum | Feed Path. Valid ids: 1 (A Feed (Utility)), 2 (B Feed (UPS/Generator)), 3 (C Feed), 4 (Combined / Total). | |
manufacturer | reference → VEN | Manufacturer. | |
model | text | Model. | |
serialNumber | text | Serial Number. | |
meterType | enum | Meter Type. Valid ids: 1 (Revenue Grade), 2 (Monitoring Grade), 3 (Inline PDU), 4 (CT Clamp), 5 (Virtual / Calculated). | |
accuracyClass | enum | IEC 62053 accuracy class. Revenue billing typically requires 0.2S or 0.5S. Valid ids: 1 (Class 0.2S (Revenue)), 2 (Class 0.5S), 3 (Class 1.0), 4 (Class 2.0), 5 (Unknown). | |
ctRatio | text | Current transformer ratio (e.g., 400:5, 800:5). | |
ptRatio | text | Potential transformer ratio if applicable. | |
protocol | enum | Protocol. Valid ids: 1 (Modbus TCP), 2 (Modbus RTU), 3 (BACnet), 4 (SNMP), 5 (Pulse Output), 6 (Analog 4-20mA), 7 (API / REST), 8 (Manual Read). | |
ipAddress | text | IP Address. |
Readings
| Field | Type | Required | Notes |
|---|---|---|---|
currentKw | number | Real Power (kW). Read-only. | |
currentKva | number | Apparent Power (kVA). Read-only. | |
currentAmps | number | Current (A). Read-only. | |
voltage | number | Voltage (V). Read-only. | |
powerFactor | number | Power Factor. Read-only. | |
frequency | number | Frequency (Hz). Read-only. | |
loadPercent | number | Percentage of rated capacity. Read-only. | |
lastReadingTime | datetime | Last Reading. Read-only. | |
ampsPhaseA | number | Phase A Current (A). Read-only. | |
ampsPhaseB | number | Phase B Current (A). Read-only. | |
ampsPhaseC | number | Phase C Current (A). Read-only. | |
voltagePhaseA | number | Phase A Voltage (V). Read-only. | |
voltagePhaseB | number | Phase B Voltage (V). Read-only. | |
voltagePhaseC | number | Phase C Voltage (V). Read-only. | |
phaseImbalance | number | Deviation from balanced load across phases. Read-only. | |
neutralCurrent | number | Neutral Current (A). Read-only. |
Consumption
| Field | Type | Required | Notes |
|---|---|---|---|
kwhToday | number | Today (kWh). Read-only. | |
kwhYesterday | number | Yesterday (kWh). Read-only. | |
kwhThisMonth | number | This Month (kWh). Read-only. | |
kwhLastMonth | number | Last Month (kWh). Read-only. | |
kwhThisYear | number | This Year (kWh). Read-only. | |
kwhLastYear | number | Last Year (kWh). Read-only. | |
kwhLifetime | number | Cumulative meter reading since installation. Read-only. | |
peakDemandKw | number | Peak Demand (kW). Read-only. | |
peakDemandDate | datetime | Peak Demand Date. Read-only. | |
peakDemandKwMonth | number | Monthly Peak (kW). Read-only. | |
averageDemandKw | number | Average Demand (kW). Read-only. | |
costPerKwh | number | Override rate for this meter, or inherited from site. | |
costThisMonth | number | This Month Cost. Read-only. | |
costLastMonth | number | Last Month Cost. Read-only. | |
costThisYear | number | This Year Cost. Read-only. | |
currency | reference → CURRENCY | Currency. |
Thresholds
| Field | Type | Required | Notes |
|---|---|---|---|
ratedCapacityKw | number | Maximum rated load for this metering point. | |
ratedCapacityAmps | number | Rated Capacity (A). | |
warningThresholdPercent | number | Alert when load exceeds this percentage of rated capacity. | |
criticalThresholdPercent | number | Critical Threshold (%). | |
voltageHighThreshold | number | Voltage High (V). | |
voltageLowThreshold | number | Voltage Low (V). | |
powerFactorMinThreshold | number | Alert when power factor drops below this value. | |
phaseImbalanceMaxPercent | number | Max Phase Imbalance (%). |
Maintenance
| Field | Type | Required | Notes |
|---|---|---|---|
installDate | date | Installation Date. | |
lastCalibrationDate | date | Last Calibration. | |
nextCalibrationDate | date | Next Calibration Due. | |
calibrationIntervalMonths | number | Calibration Interval (months). | |
calibrationCertificate | text | Certificate Reference. | |
lastVerificationDate | date | Last Accuracy Verification. | |
verificationResult | enum | Verification Result. Valid ids: 1 (Pass), 2 (Marginal), 3 (Fail), 4 (Not Tested). | |
notes | text (multi-line) | Notes. |
Relationships
- Lookups:
buildingpoints atBUILDINGrecord;floorpoints atFLOORrecord;roompoints atROOMrecord;rackpoints atRACKrecord;manufacturerpoints atVENrecord;currencypoints atCURRENCYrecord.
Creating a Power Meter via the API
POST /v1/objects
Authorization: Bearer <your-pat>
Content-Type: application/json
{
"entity": "POWERMETER",
"level": 277,
"comboKey": "SUB:<your-sub-id>|ENT:",
"name": "Example",
"meterPoint": 1,
"status": 1,
"meterName": "Example"
}
Listing POWERMETER records
# All power meters in your tenant
GET /v1/entities/POWERMETER/SUB