ISV IEEE Smart Village
← Standards

DLMS/COSEM

IEC 62056 · COSEM object model and DLMS messages on one page · meter and DCU

One meter, two jobs. COSEM is the shape of the data: which objects exist and what they are called. DLMS is the conversation that reads and writes those objects. OBIS codes are the names inside COSEM. A companion profile such as IDIS picks which of those objects a certified meter must carry.

session
device
object
address
value
other action
disconnect
wire

COSEM

Companion Specification for Energy Metering. Interface classes and instances. Blue Book, IEC 62056-6-2, plus OBIS in IEC 62056-6-1. The model stays put when the wire changes.

DLMS

Device Language Message Specification. Application messages: associate, then GET, SET, or ACTION. Green Book, IEC 62056-5-3. The DCU is the client. The meter is the server.

Where a COSEM object sits

Indent is depth. Color is the job in the nest above. The physical device and the logical device are not COSEM objects. The physical device holds logical devices. The logical device holds a flat list of objects. Those objects are siblings. An object does not hold the devices above it, and it does not hold another object. A few objects hold a flat list of names, and those names point at siblings.

Physical device Not a COSEM object. The meter. It holds one or more logical devices. One management logical device is always there.
Logical device Not a COSEM object. Its service access point is an address. It holds the object list.
Object · Register class 3 · OBIS 1-0:1.8.0*255. One row in the list.
Attribute 1 · name The logical name. This is the OBIS code.
Attribute 2 · value The reading. Attribute 3 is the scaler and unit.
Object · Disconnect control class 70 · OBIS 0-0:96.3.10*255. Same list. Sibling of the register, not inside it. Method 1 opens the breaker.
class_id3 OBIS1-0:1.8.0*255 attribute2 that read isRegister value · active import energy · current

Three lists of names

Each box is one COSEM object. The table is the attribute that holds the list. Every row is another object that already sits in the logical device. The OBIS cell stays blue. A cell that names an object uses the object color. Green is only the reading, attribute 2. Purple, orange, and red replace that object color when the job is the session, another action, or the disconnect.

Current association

class 15 · version 3 · 0-0:40.0.0*255 · attribute 2 object_list

classOBISobject named
31-0:1.8.0*255Active import energy register
80-0:1.0.0*255Clock
700-0:96.3.10*255Disconnect control

Load profile

class 7 · 1-0:99.1.0*255 · attribute 3 capture_objects

classOBISattribute captured
80-0:1.0.0*2552 · time
31-0:1.8.0*2552 · active import energy
31-0:32.7.0*2552 · voltage L1

Disconnect script table

class 9 · 0-0:10.0.106*255 · attribute 2 scripts · one action

serviceclassOBISmethod
execute700-0:96.3.10*2551 · remote_disconnect

Three meters, three lists

The meter’s list is attribute 2 of the current association. These are shapes, not a vendor ICD. This wiki does not hold those ICDs.

STS keypad meter

no COSEM server · list length 0

The token and the credit live in the keypad scheme (IEC 62055). There is no class 15 object list to read.

Small DLMS prepaid meter

often tens of rows · illustration of the usual names

classOBISwhat it is
150-0:40.0.0*255Current association, which holds this list
10-0:96.1.1*255Serial, when the maker uses this name. 96.1.0 is the billing-period counter, not the serial
80-0:1.0.0*255Clock
31-0:1.8.0*255Active import energy
31-0:32.7.0*255Voltage L1
1 or 3maker-specificRemaining credit
1maker-specificTamper bitmap
700-0:96.3.10*255Disconnect control

Companion-profile electricity meter

IDIS or a DLMS UA Generic Companion Profile · often one to a few hundred rows

group the certificate fillsone name inside it
Billing registers, per tariff1-0:1.8.0*255 and 1-0:1.8.1*255 …
Instantaneous voltage and current1-0:32.7.0*255
Load profile and event logs1-0:99.1.0*255
Disconnect0-0:96.3.10*255
Push and firmware image transfer, when that package includes themnamed by the certificate, not by this page

A field note on a Landis+Gyr E650 (short-name referencing) read tariff register 1.1.1.8.1.255 and voltage 32.7.0 only after the association view was read. The short name is an address in that firmware. It is not computed from the OBIS code, and it can change when the firmware changes. Gurux forum, “how to read objects using LN and the object list on a SN meter?”

OBIS — six groups in the name

Full code for the import-energy register the register checklist writes as 1.8.0. Groups A–F. Reduced form drops channel 0 and historical 255.
1A · medium
electricity
0B · channel
none
1C · quantity
active import
8D · processing
time integral
0E · tariff
total
255F · history
current value

Printed form: 1-0:1.8.0*255. Checklist short form: 1.8.0.

Interface classes a village read actually touches

1 · DataA named value with no scaler. Used for identifiers and flags when a Register is the wrong class.
3 · RegisterValue, scaler, unit. Import kWh, voltage, instantaneous power.
7 · Profile genericA buffer of captured objects. Load profiles live here. The village checklist leaves the full buffer out of the northbound payload.
8 · ClockMeter time. Readings without a clock are hard to audit.
15 · Association LNThe open session: who the client is, and which objects that client may see.
70 · Disconnect controlOutput state, plus methods to open and close the customer connection.

Class numbers are the public COSEM interface-class identifiers (IEC 62056-6-2). A manufacturer still chooses which instances to expose. That list is the vendor ICD, or an IDIS / Generic Companion Profile certificate when the meter has one. See where register work goes.

Association and keep-alive

The interface classes above are the easier part, once a driver is in place. Building that driver is the larger job. From the 30 Sep–1 Oct workshop: a pluggable driver per meter type can be pulled off the shelf for pre-approved meters, and each meter OEM has its own way through the heartbeat side of the login and heartbeat process. The open-server note records three outcomes: an OEM-agnostic head end, a local mirror inside the headend when the cloud is down, and talking to various gateways.

Association

Login is standardized. IEC 62056, through the Blue Book and Green Book, defines one association-establishment procedure. The client sends AARQ. The meter answers with AARE. The exchange is ACSE (Association Control Service Element). Authentication is defined: no security, Low Level Security, or High Level Security and its algorithms. A DLMS-certified meter is supposed to implement this same handshake. Association is one of the more rigorously conformance-tested parts. Yellow Book testing and the Qualification Program check it. The exchange is drawn under DLMS — the messages.

Keep-alive

Heartbeat is where the base standard leaves gaps. DLMS/COSEM does not mandate one universal heartbeat message.

Integration still takes engineering effort between two DLMS-certified meters.

Companion profiles

IDIS locks the open choices of base DLMS/COSEM into a companion profile: device model, security setup, association behavior, event codes, firmware update, and the rest of that package. IDIS-certified meters from different manufacturers are meant to be plug-and-play against a compliant head-end, without a custom driver per vendor. The IDIS Association merged into DLMS UA in November 2021. Certification now runs through the DLMS UA qualification portal and DNV’s accredited lab. From the same workshop notes, that profile is the closest existing answer to the heartbeat gap. Sources and package history stay on the register checklist.

National companion specifications go further than base IEC 62056 for one market. The UK GB Companion Specification (GBCS) under SMETS, the Netherlands DSMR profile, and other national utility profiles pin security, association parameters, and sometimes push or keep-alive for that market. They do not necessarily align across countries.

The Qualification Program checks AARQ/AARE and general protocol conformance. The Yellow Book and the Conformance Test Tool (CTT) are that check. Conformance to the base standard still leaves vendor-specific options: extra OBIS codes, security variants, and event and push behavior. Head-end integration stays non-trivial.

DLMS — the messages

DCU is the client. Meter is the server. Association first, then a read or an action. Same object address as the COSEM tree above.
DCU · client
Meter · server
AARQ — open an association
AARE — accept, with the context
GET class 3, 1-0:1.8.0*255, attribute 2
GET response — value. Scaler and unit are attribute 3.
ACTION on class 70 — open or close
ACTION response — result

SET writes an attribute. GET and SET also have with-list forms so one exchange carries several registers. A block transfer carries a long profile buffer. Event notification and data notification let the meter push without a fresh GET.

IDIS — how it shows up in the schema

Same object either way. IDIS is a mark on the instance, not a new class, not a seventh OBIS group, and not a field inside the value.
Logical device After association, class 15 attribute 2 is the object list: every instance this meter exposes.
Register · class 3 · 1-0:1.8.0*255 Required by the companion profile. Two certified meters expose this same instance.
Clock Same pattern. The profile names the use case. The schema is still class + OBIS + attribute.
Manufacturer instance May sit in the same object list. The certificate does not cover it. Read it from that model’s ICD.
GET addressclass 3 · 1-0:1.8.0*255 · attr 2 responsethe energy value IDIS in that responsenowhere — the mark is which instance had to be there

Event tables in an IDIS package are values inside an existing event or alarm object, not a new OBIS group. Package history stays on the register checklist.

Documents

PieceWhere it is writtenWhat you use it for
OBIS namesIEC 62056-6-1 · Blue BookWhich code is import energy, voltage, clock
Interface classesIEC 62056-6-2 · Blue BookAttributes and methods of Register, Clock, Profile, Disconnect
Application messagesIEC 62056-5-3 · Green BookAssociate, GET, SET, ACTION
Which objects this meter hasVendor ICD, or an IDIS / DLMS UA companion certificateThe gap between “DLMS” and a second manufacturer’s meter
Conformance testsYellow BookLab proof, separate from a brochure claim

Full Blue and Green Books are on the DLMS UA shop and in the member portal. Free excerpts are on the knowledge hub. The Yellow Book is the qualification process, for members.

Where this sits on a village feeder

Score DLMS/COSEM on the meter and the DCU. The DCU is client toward the meter and server toward the head-end. Northbound of the gateway, the register checklist is a short JSON list of OBIS keys, not a second COSEM model. Site-to-cloud sync is a different hop.

STS is a different standard

Prepaid tokens are IEC 62055 (STS). A COSEM object can hold remaining credit and a disconnect method. The token cipher and the vending receipt are not DLMS messages. A keypad meter can vend with the uplink down. A DLMS read cannot.

A certified read is still a COSEM address inside a DLMS GET. The package catalog stays on the register checklist.