Skip to main content
Home
for DLMS smart meters
Open source solutions for DLMS smart metering

Main navigation

  • Home
  • Products
  • About us
  • Open Source
  • Community
  • Forum
  • Downloads
User account menu
  • Log in

Breadcrumb

  1. Home
  2. Return Code: DLMS_ERROR_CODE_INVALID_CLIENT_ADDRESS

Return Code: DLMS_ERROR_CODE_INVALID_CLIENT_ADDRESS

Forum Rules

Before commenting read Forum rules

Don't comment the topic if you have a new question.

You can create a new topic selecting correct category from Gurux Forum and then create a new topic selecting "New Topic" from the top left.

By fery_rz , 29 August, 2019
Forums
Gurux.DLMS

Hello Gurux,
I've successfully compile Gurux.dlms.c on Arduino both Mega2560 and ESP32 board, and connect it to the Actaris (Itron) SL7000 (SL761B070 2004) trough RS232 interface.
can someone explain how to fill the parameter of the "cl_init()"
I have tried:
cl_init(&meterSettings, 1, 16, 1, DLMS_AUTHENTICATION_NONE, NULL, DLMS_INTERFACE_TYPE_HDLC);
and also
cl_init(&meterSettings, 1, 16, 1, DLMS_AUTHENTICATION_LOW, "ABCDEFGH", DLMS_INTERFACE_TYPE_HDLC);
with no response from meter. and I try to change the server address using this method "Coding HDLC Address for server". the meter is not responding too.

I try capture packet from DLMS Director, and compare to packet sent from the meter, it's different.
after i modified the server address to "0x91", for both "DLMS_AUTHENTICATION_NONE" and "DLMS_AUTHENTICATION_LOW", the meter is responding. and the SNRM packet is identical between Dlms Director and microcontroller sent to meter and vice versa.
but the problem is, the return code says "263" or "DLMS_ERROR_CODE_INVALID_CLIENT_ADDRESS"
I try to change the "Client Address" to another value 0x01 (1), 0x10 (16), it says this return code too.

when I use the clientAddress and server address above and got response from meter, I run this in my main loop routine, like shown on example:
int ret;
//Initialize connection.
ret = com_initializeConnection();
Serial.printf("init Resp: %4d\r\n", ret);
if (ret != DLMS_ERROR_CODE_OK)
{
return;
}

//Read clock.
ret = com_read(&clock1.base, 2);
Serial.printf("Read Resp: %4d\r\n", ret);
if (ret != DLMS_ERROR_CODE_OK)
{
return;
}
com_close();

and when I try skip the return; and add some delay between com_initialize and com_read, and try another type of object like Serial number, then I capture the packet, decode it in XMLTranslator, it says right value.

can someone guide me to fix this problem?

Regards
Feryan

Profile picture for user Kurumi

Kurumi

6 years 11 months ago

Hi Feryan,

Hi Feryan,

SL7000 is an older meter and it works a little bit odd.
Generated message should look like this:
http://www.gurux.fi/GuruxDLMSTranslator?translate=7EA00A000202FF0393417…

You can set correct parameters like this:

cl_init(&con.settings, 1, 1, 16639, DLMS_AUTHENTICATION_LOW, "ABCDEFGH", DLMS_INTERFACE_TYPE_HDLC);

ABCDEFGH is a default password. If you try to connect without authentication, you can only read a few values. For this reason the authentication level is increased.

BR,

Mikko

fery_rz

6 years 11 months ago

Thank You Mikko,

Thank You Mikko,
I've try to change the cl_init to:
cl_init(&con.settings, 1, 1, 16639, DLMS_AUTHENTICATION_LOW, "ABCDEFGH", DLMS_INTERFACE_TYPE_HDLC);

and I got generated package: 7e a0 0a 00 02 02 ff 03 93 41 72 7e
but the meter is not send any response,
what should I check / change?

BR
Feryan

Profile picture for user Kurumi

Kurumi

6 years 11 months ago

Hi,

Hi,
Try to read the meter with GXDLMSDirector. You can find default settings here:
https://www.gurux.fi/GXDLMSDirectorExample

BR,
Mikko

fery_rz

6 years 11 months ago

Okay Mikko,

Okay Mikko,
I've try it with GXDLMSDirector before and success, between Low and None Authentication, with same meter.
Hope it also work with GuruxDLMS.c.

Regards,
Feryan

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Mon, 07/27/2026 - 12:37
    gurux.dlms.cpp 9.0.2607.2701
  • Thu, 07/23/2026 - 16:19
    gurux.dlms.java 4.0.96
  • Thu, 07/09/2026 - 14:34
    Gurux.DLMS.Python 1.0.201
  • Fri, 06/26/2026 - 16:32
    Gurux.Service 3.0.2606.2601
  • Wed, 06/24/2026 - 08:36
    Gurux.DLMS.Python 1.0.200

New forum topics

  • Version mismatch between Gurux.DLMS 9.x and Gurux.Common/Gurux.Serial 8.x
  • Service not known error on gprs communication
  • Help Needed: Interfacing Saral 100 Energy Meter with Microcontroller via RS232
  • Connecting Meter to Agent via serial
  • Reading block profile with Compact array
More

Who's new

  • cYzhesWhQAIeYenRgH
  • MLWGzTbGsyBIaJ…
  • Rolling-Slots-PL
  • Joshualix
  • ArthurDaype
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin