KNX Energy Meter Integration and Data Mapping
Integrate an energy meter with KNX using clear register maps, DPTs, units, CT scaling, import/export conventions, data-quality flags, and commissioning tests.

A meter value arriving on KNX is not yet a trustworthy measurement. You still need to know its unit, measurement boundary, sign convention, scaling, age, and behavior after a reset.
For most integrations, the right starting point is a small, verified point list: total active power, cumulative import and export energy where available, relevant phase currents, and communication quality. Add more points only when a dashboard or control function will use them.
There are three common routes: a meter with native KNX communication, a Modbus meter through a KNX gateway, or a metering system that exposes data through another supported interface. The route changes the mapping work, but not the obligation to prove what every value means.
Mark the measurement boundary on the drawing
“Building power” could mean the grid connection, a tenant feeder, the main distribution board excluding PV, or the sum of several submeters. Those are not interchangeable.
Give every meter a physical reference, circuit/feeder, direction convention, and statement of included loads. If PV, a battery, or EV charging sits on the same installation, show whether the measurement includes those assets. This prevents the controller from subtracting a load that is already included in the net value.
Have the qualified electrical team confirm meter wiring, phase association, and current-transformer installation. Do not open energized current-transformer secondary circuits as a controls test. Meter commissioning must follow the manufacturer’s procedure and site electrical safety arrangements.
Build a point contract before entering addresses
| Point | Meaning to agree | Suggested metadata | Why it is easy to misread |
|---|---|---|---|
| Total active power | Instantaneous or interval-derived power at the named boundary | W or kW, signed/unsigned, update period | “Power” may mean apparent rather than active power |
| Import energy | Cumulative energy drawn from the grid/feeder | Wh or kWh, counter width, persistence | A counter is mistaken for today’s consumption |
| Export energy | Cumulative energy delivered in the reverse direction | Separate counter and direction | Export is assumed to be negative import energy |
| Phase current | RMS current for the named phase | A, phase identity, scaling | L1 in software is not L1 in the installation |
| Quality | Whether the measurement is usable now | Validity, last successful update, fault code | An old number is displayed as live |
For each KNX group object, record the exact DPT supported by both ends, the engineering unit, source point, transformation, and intended consumers. Do not choose a DPT solely because it holds the same number of bytes. The KNX datapoint-type guide explains why representation and meaning must match.
Some native KNX meters expose energy in more than one resolution or format. Some gateways only offer a subset of suitable types. Check range and resolution against the expected lifetime total, not just today’s reading.
Modbus addresses: resolve the offset once
The Modbus application protocol specification defines zero-based addresses in the protocol data unit and 16-bit register transfers. Product manuals and gateway interfaces may present those addresses differently.
A manual might use a label such as 40001 for the first holding register, while a gateway expects offset 0. Another gateway may accept the displayed register number. Do not automatically subtract one everywhere; identify the convention of both products and prove one known value first.
| Mapping detail | Record explicitly |
|---|---|
| Function | Holding register or input register, using the documented function code |
| Address | Manual notation and actual gateway entry |
| Length | Number of consecutive 16-bit registers |
| Data type | Signed integer, unsigned integer, floating point, or documented format |
| Order | Byte/word arrangement required by this meter and gateway |
| Scaling | Multiplier, decimal places, or scale-factor register |
| Invalid value | Vendor-defined sentinel or exception behavior |
A 32-bit value occupies two registers, but its multi-register interpretation must come from the device map. As a concrete reminder, Schneider Electric’s Enercept installation guide and register map includes different integer and floating-point energy/power representations, with different register arrangements. It is an example of why a remembered map from another meter is unsafe to reuse—not a recommendation to select that legacy device.
Capture one raw response and the decoded result in the commissioning record. That small piece of evidence is valuable if a later gateway replacement produces values a thousand times too large.
Apply CT and unit scaling only once
Suppose a hypothetical meter is configured with a 200/5 A current transformer, a ratio of 40. If the meter already reports primary current, a displayed 40 A should reach the KNX consumer as 40 A. Multiplying by 40 again creates a plausible-looking but wrong 1,600 A.
Confirm whether the source is a primary engineering value, a secondary measurement, or a raw count. Then write the transformation as an equation. Keep the CT setting separate from a W-to-kW conversion or decimal scaling; combining them into one unexplained factor makes future diagnosis difficult.
Compare the meter’s local display, raw protocol result, gateway’s decoded value, KNX telegram, and dashboard. If they disagree, the first point in that chain where the value changes incorrectly identifies the problem’s location.
Give import and export unambiguous signs
Choose and document a site convention, for example positive grid power = import; negative grid power = export. Translate the meter’s convention if necessary. Do not assume every vendor uses the same one.
Where permitted, observe a known import condition and a known export condition with the electrical and energy-system teams. If export cannot be established safely during acceptance, document the untested condition and arrange an approved simulation at the integration boundary. Never change protective or utility settings merely to create a test value.
Keep cumulative import and export counters distinct if the meter provides them separately. Their difference is net energy over a period; neither counter alone necessarily represents the building’s total consumption when on-site generation is present.
Separate polling, KNX transmission, and control use
Polling a meter once per second does not mean every point should be broadcast on KNX once per second. A current-limiting controller and a monthly energy dashboard need different data behavior.
Configure polling according to the meter, gateway, network capacity, and required control response. For KNX transmission, consider a meaningful change threshold plus a periodic refresh. Energy totals can often be sent less frequently than fast-changing power, but select the values from the actual use case rather than copying a universal interval.
On timeout, preserve the last value only if it is clearly marked stale. A last-known 0 kW is not evidence of a stopped load. For discretionary automation, define whether stale data suspends the action, reduces an allowance, or hands control back to a local controller. The dashboard point-design guide covers how to expose those distinctions to operators.
Counter resets need a deliberate policy
Daily consumption is normally a difference between two valid cumulative readings. If the later reading is smaller, investigate replacement, reset, rollover, or a mapping change before accepting a negative consumption value.
Store the meter identity, reset/replacement events, and counter baseline alongside the values. A historian may need to segment the series at replacement and add approved offsets for reporting. Do not silently clamp all negative differences to zero; that hides a problem rather than reconciling the record.
Avoid resetting the physical meter daily simply to produce a daily chart. Keep the source total intact where the device supports it, and calculate reporting periods in the appropriate data layer.
Acceptance tests that catch useful mistakes
| Test | Expected evidence |
|---|---|
| Known stable load | Local display and decoded power agree within an agreed tolerance and timing window |
| Phase identity | Each documented phase matches the electrical installation |
| Unit conversion | Raw, gateway, KNX, and display values reconcile numerically |
| Lost communication | Stale/invalid indication appears; dependent automation follows its fallback |
| Gateway restart | Mapping and quality behavior return without resetting energy history unexpectedly |
| Counter discontinuity simulation | Historian flags or segments the event instead of inventing consumption |
Agree tolerances from meter accuracy, measurement conditions, and update timing. The table is a functional mapping test plan, not a calibration certificate or evidence that the system is approved for tenant billing.
Can KNX meter data be used for billing?
Monitoring capability alone does not establish billing suitability. Meter approvals, installation, data handling, and local legal requirements need a separate assessment by the responsible specialists.
Why does the dashboard show exactly 1,000 times the expected value?
Check W versus kW and Wh versus kWh first, then the register scaling. A clean factor of 1,000 often points to a unit conversion rather than faulty measurement hardware.
Is a gateway heartbeat enough to prove data quality?
No. The gateway can be alive while the meter is unreachable. Track the quality and age of the source measurement, not merely the network status of the intermediary.
Once this point contract is proven, it becomes a sound input for solar surplus control and EV load management. Without it, a sophisticated control algorithm is only acting confidently on uncertain numbers.