Meter interfaces

P1 port guide: DSMR smart meter data

How Dutch DSMR and Belgian eMUCS P1 smart-meter ports work, including the RJ12 pinout, telegrams, OBIS codes, commissioning checks and the DSMR6/X1 transition.

A Dutch or Belgian smart meter already publishes its readings on a socket beside the display: the P1 port. It can expose electricity import and export, instantaneous power and, when the metering system has linked submeters, gas, water or thermal readings. It is useful precisely because it makes a defined utility-meter data set available locally.

The Dutch interface is specified by the Dutch Smart Meter Requirements (DSMR), and Belgium publishes its related eMUCS specification. Other countries use different interfaces, so identify the meter model, the country and the interface version before you choose a cable, a parser or a power arrangement.

What a P1 port is

DSMR defines P1 as the end-consumer interface between the metering system and an Other Service Module, such as an in-home display or energy-management reader. The meter sends a text telegram containing values identified by reduced OBIS codes.

The application data path is one way: the reader requests and receives telegrams but does not write billing registers or meter settings. The Data Request line is therefore not a general command channel. The specification also requires isolation and protection so that a device on P1 cannot influence the rest of the metering system.

Do not confuse P1 with the other labels in the DSMR architecture:

  • P0 is the local meter maintenance interface.
  • P1 provides end-consumer data to a local reader.
  • P2 links the electricity meter with gas, water, thermal or other meters inside the metering system.
  • P3 connects the metering system to the central system used by the grid operator.
  • P4 is the exchange between that central system and authorised market or service parties.

P1 can repeat readings received over P2, but that does not make P1 itself an M-Bus master or a multi-drop field bus.

DSMR 4, DSMR 5 or Belgian eMUCS

The interface version changes the data cadence and available objects. These three commonly encountered specifications should not be collapsed into one generic profile. All three use 115,200 baud and 8N1 framing, but their behaviour differs:

  • DSMR 4.2.2: sends a CRC-protected telegram every 10 seconds while requested.
  • DSMR 5.0.2: sends a telegram every second and specifies a continuous 5 V, 250 mA supply for the reader.
  • Belgian eMUCS P1 2.1: sends a telegram every second and adds Belgian objects including current and maximum demand.

Older Dutch meters may implement earlier DSMR versions with different serial and power characteristics. Read the version identifier in the telegram and the exact meter documentation instead of trying baud rates until text appears.

In Belgium, the DSO must enable the port before the meter will transmit. An electrically correct reader can therefore remain silent until the customer activates P1 through the DSO process.

RJ12 pinout and electrical interface

DSMR 5.0.2 and Belgian eMUCS specify a six-position RJ12 connection:

PinSignalPurpose
1+5 VSupply for the reader
2Data RequestReader holds this high to request telegrams
3Data GNDReference for the data interface
4Not connectedNo connection
5DataLogically inverted open-collector output from the meter
6Power GNDReturn for the 5 V supply

The Data output is not ordinary RS-232, RS-485 or a directly interchangeable microcontroller UART. It is an optically isolated, open-collector signal with inverted logical levels. A purpose-built P1 reader or an interface circuit designed to the selected specification must provide the correct pull-up, inversion and Data Request behaviour.

DSMR 5.0.2 specifies a 5 V supply capable of 250 mA continuously. That figure is not permission to assume every older meter supplies the same power. Check the meter and interface version before powering a radio or computer from the port, and include startup current as well as steady-state consumption.

What a telegram contains

A DSMR 5 telegram begins with /, carries identification and CR/LF-delimited data lines, then ends with !, a four-character CRC16 value and CR/LF. The CRC covers the bytes from / through !. Validate it before accepting any measurements.

This is an excerpt for reading the structure; it is not a complete wire-valid telegram and therefore has no CRC:

P1 telegram
/ISk5\2MT382-1000
1-3:0.2.8(50)
1-0:1.8.1(123456.789*kWh)
1-0:1.8.2(123456.789*kWh)
1-0:2.8.1(000123.456*kWh)
1-0:1.7.0(01.193*kW)
1-0:2.7.0(00.000*kW)
0-1:24.2.1(260919120000S)(01234.567*m3)

The identifier before the parentheses is a reduced OBIS code. The value and its unit are carried inside parentheses. Direction matters: in the specifications, import is energy delivered from the grid to the customer; export is energy delivered from the customer to the grid.

Common DSMR 5 electricity objects include:

MeaningReduced OBIS code
Cumulative import, tariff 1 / tariff 21-0:1.8.1 / 1-0:1.8.2
Cumulative export, tariff 1 / tariff 21-0:2.8.1 / 1-0:2.8.2
Instantaneous import / export power1-0:1.7.0 / 1-0:2.7.0
L1/L2/L3 voltage1-0:32.7.0 / 52.7.0 / 72.7.0
L1/L2/L3 current1-0:31.7.0 / 51.7.0 / 71.7.0
L1/L2/L3 import power1-0:21.7.0 / 41.7.0 / 61.7.0
L1/L2/L3 export power1-0:22.7.0 / 42.7.0 / 62.7.0

The exact set varies with meter type, phase configuration, linked meters and interface version. A single-phase meter does not invent L2 and L3 values, and an unoccupied submeter channel is not required to appear.

Electricity and submeter update rates

DSMR 5 and Belgian eMUCS update the electricity objects every second. Linked gas, water or thermal values are typically refreshed from the submeter every five minutes and then repeated in each one-second P1 telegram until the next submeter update.

Use the embedded capture timestamp to decide whether a submeter value is new. Counting every repeated gas line as a new sample produces false data density and can hide a stalled P2 link.

Belgian eMUCS 2.1 can represent up to eight linked submeters, while Dutch DSMR 5 describes channels 1 through 4. A parser should use the reported channel and device type, not assume that gas is always channel 1 or that four channels is a universal limit.

Belgian eMUCS differences

eMUCS means Extended Multi-Utility Companion Specification. Version 2.1 retains the DSMR-style physical interface and telegram framing but extends the published data model. In addition to import, export and phase measurements, its electricity objects include:

  • current average active-import demand, 1-0:1.4.0;
  • current-month maximum active-import demand, 1-0:1.6.0; and
  • maximum-demand history for the previous 13 months, 0-0:98.1.0.

Do not infer the settlement calculation from an OBIS label alone. The DSO's tariff rules determine the applicable interval, aggregation and billing treatment; the P1 telegram is the data interface, not the tariff contract.

Parser and commissioning sequence

  1. Record the meter manufacturer, model, country, P1 version and whether the DSO must enable the port.
  2. Use a reader designed for that electrical specification. Verify the pinout before connection; a modular plug fitting the socket does not prove compatibility.
  3. Hold Data Request high as specified and capture complete byte frames at the declared serial settings.
  4. Reject a frame whose CRC does not match. Do not calculate on a partial or concatenated telegram.
  5. Parse the reported P1 version, then interpret OBIS codes, timestamps, units and direction from the matching specification.
  6. Do not depend on line order. Belgian eMUCS explicitly allows the set and order of published objects to vary.
  7. Retain the raw telegram beside normalised values during commissioning so a unit, parser or mapping error remains diagnosable.
  8. Compare cumulative import and export with the meter display over a bounded period. Treat instantaneous power as a separate quantity, not as a replacement for the cumulative register.
  9. Alarm separately for a stopped telegram stream, repeated stale submeter timestamps, identity change and invalid CRCs.

Troubleshooting P1 data

No telegrams

  • Confirm that the port is enabled, especially on a Belgian installation.
  • Verify that Data Request is held at the required high level rather than driven low.
  • Check RJ12 orientation and pin numbering at both ends of the cable.
  • Confirm the interface version and its serial format.
  • Use an interface that handles the inverted open-collector Data signal.

Garbled or intermittent frames

  • Capture raw bytes and verify that each frame begins with / and ends with a valid CRC.
  • Check for the wrong serial profile, missing inversion, inadequate pull-up or power-supply collapse during radio transmission.
  • Keep the P1 lead within the limits of the meter and reader documentation; the companion standard does not grant an arbitrary long-cable allowance.

Gas or water appears frozen

Check the capture timestamp. A linked meter value may legitimately repeat for five minutes. If the timestamp does not advance beyond the expected interval, investigate the meter-to-meter link rather than the P1 serial receiver first.

Import and export look reversed

Use the standard's direction convention, not the sign convention of another platform. Import is grid to customer; export is customer to grid. Store them as distinct cumulative registers rather than subtracting one from the other at ingestion.

P1 and the DSMR 6 X1 transition

Netbeheer Nederland published an X1 Companion Standard version 6.0.0 in December 2025 for the next DSMR6 generation. It describes X1 as the successor to the P1 interface used by DSMR 2.2+ through SMR 5.x meters, with device authorisation, real-time and historical data, and compatibility with existing P1 devices among its design topics.

The document explicitly describes itself as a work in progress, with technical details still to follow. Do not buy or design against an assumed final X1 electrical/API contract, and do not treat publication of the draft as evidence that an installed meter has changed.

P1 and EpiSensor

Connect a P1 port only to a P1 reader. EpiSensor field devices do not read P1, so never wire one to a ZMB, ZPC or ZEM. The ZMB is a Modbus RTU interface, the ZPC counts pulse outputs, and the ZEM measures circuits through its own current sensors and voltage inputs.

Use a compatible P1 reader when the utility-boundary meter is the measurement point you need. Use circuit-level submetering when the question is which distribution board, tenant, machine or process caused the demand. The ZEM electricity monitor is designed for that circuit-level role, and the current-transformer selection guide explains the sensor decisions.

For a commercial site, the useful architecture may include both utility-boundary evidence and internal submetering, but they remain separate measurement paths until a supported software integration is specified and tested. The energy-management overview shows how those measurement boundaries fit into a wider site programme without claiming that one interface replaces the other.

To choose a P1 reader:

  • check the meter's DSMR or eMUCS version and the reader's output format against the sections above;
  • compare reader makers and metering companies in the Energy Technology Directory;
  • confirm how the reader's data reaches Edge or your platform before you order it.

Need measurements beyond the utility meter?

For circuit-level monitoring across buildings or sites, tell us what you need to measure and how the data will be used.

Talk to an engineer