What is DLMS/COSEM?
DLMS (Device Language Message Specification) is the communication protocol, and COSEM (Companion Specification for Energy Metering) defines the object model — together they form the IEC 62056 standard, maintained by the DLMS User Association. It was created to solve a real problem: each meter manufacturer used its own proprietary protocol, forcing utilities to maintain separate integrations for each model. DLMS/COSEM standardized how meters publish their data using COSEM objects identified by OBIS codes, and is today the mandatory protocol in regulated energy markets across Europe, Latin America and much of Asia.
The RS485 cable is just the physical transport — the bits traveling through it mean nothing without a protocol to interpret them. In smart metering (AMI), that protocol is almost always DLMS/COSEM: the open standard that defines how a meter publishes its energy, demand, quality, and event records, and how a central system queries them. This article covers the conceptual model; if you're looking for the concrete implementation per meter, skip to the companion guide at the end.
What is DLMS/COSEM?
The acronym has two parts worth separating:
- COSEM (Companion Specification for Energy Metering, IEC 62056-6) is the object model: it defines that a meter exposes typed "registers" (Energy, Demand, Clock, Load Profile, Disconnect Control, etc.), each with attributes and methods.
- DLMS (Device Language Message Specification, IEC 62056-5-3) is the messaging protocol used to read and write those objects over a serial link (RS485, optical) or IP.
In practice, "speaking DLMS/COSEM with a meter" means: opening an authenticated session, requesting the attribute of an object identified by an OBIS code, and receiving its value with the correct unit.
The stack layers
DLMS/COSEM does not stand alone. In a typical serial meter the stack looks like this, from top to bottom:
| Layer | Component | Role |
|---|---|---|
| Application | COSEM | Object model: registers, profiles, methods |
| Messaging | DLMS / xDLMS (APDUs) | Get, Set, Action, Event Notification |
| Link | HDLC (IEC 62056-46) | Frames with addressing, flow control and CRC |
| Physical | RS485 / RS232 / óptico IEC 62056-21 | Electrical levels, baud rate, parity |
Over IP the stack is similar but replaces HDLC with a wrapped version (DLMS/COSEM wrapper IEC 62056-47) that travels over TCP. The COSEM application layer is identical — this allows the same AMI Platforms to speak with serial meters and IP meters without changing the object model.
The OBIS code system
Each physical meter register has an OBIS code (Object Identification System) of 6 numbers separated by dots, for example 1.0.1.8.0.255 = total imported active energy. This system allows AMI Platforms to query meters from different manufacturers without specific code for each — they only need to know the OBIS code of the register they want to read.
| OBIS Code | Register |
|---|---|
1.0.1.8.0.255 | Total imported active energy (kWh) |
1.0.2.8.0.255 | Total exported active energy (kWh) |
1.0.32.7.0.255 | Instantaneous voltage phase L1 (V) |
1.0.99.1.0.255 | Load Profile 1 — captured demand profile |
0.0.96.1.0.255 | Meter serial number |
Security: authentication and encryption
DLMS/COSEM defines three application security levels, all negotiated when opening the session:
- Lowest Level Security (LLS) — no authentication. Only used for optical ports in local reading.
- Low Level Security (LLS with password) — 8-character password in the handshake. Sufficient for meters in unregulated markets.
- High Level Security (HLS) — mutual authentication with challenge-response. The HLS5 variant uses AES-GCM 128/256 and signs with GMAC per message, which guarantees authenticity and integrity of each APDU. It is the option required by most regulated utilities today.
The gateway negotiates the highest level the meter supports and keeps the keys protected in its own storage — never in plain text in the AMI Platforms.
Why DLMS/COSEM is the AMI standard in LATAM
Local regulations (CREG in Colombia, ANEEL in Brazil, CFE in Mexico) have aligned their AMI requirements with the IEC 62056 family. This means that any gateway or central system that aims to operate in the regulated market must speak native DLMS/COSEM. For an IoT gateway manufacturer, supporting this combo out-of-the-box covers the bulk of the regulated market in the region.
On the other hand, in the unregulated market (industry, commerce, solar self-consumption) it is still common to find meters with Modbus TCP or other proprietary protocols. There the gateway must be bilingual — a single device capable of speaking DLMS with one meter and Modbus with another, all sent to the AMI Platforms over the same TCP channel.
Practical implementation
To see how this model translates into cables and field configuration — RS485 pinout, default serial speed, LLS vs HLS authentication per meter, app commands — check the companion guide at the end of the article.