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. Forums
  3. Inoke_id Control

inoke_id control

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 DenisMalakhov , 28 June, 2022
Forums
General discussion

Hello. I am working with new meter. So i tried to connect with the meter via GXDLMSDirector but got "Authentication failure" message. The manufacturer advised me to disable the invoke_id control in Director. Can you tell me is it possible to disable control of the parameter invoke_id in GXDLMSDirector?

Profile picture for user Kurumi

Kurumi

3 years 11 months ago

Hi,

Hi,

Can you ask from the meter manufacturer what value they want to be used in invoke_id?
If you can get the hex trace from the application of the meter manufacturer I can also check this.

BR,
Mikko

DenisMalakhov

3 years 11 months ago

There is answer from

There is answer from manufacturer:
"The parameter itself appeared in later DLMS books. When developing meters based on early editions of books, this parameter could not be taken into account."
It looks like there is no way to manage invoke_id at all.

DenisMalakhov

3 years 11 months ago

I also checked in code of

I also checked in code of .NET library. Exception appears in this method:
public void ConnectToMeter()
{
GXReplyData reply = new GXReplyData();
SNRMRequest();
foreach (byte[] it in SecureClient.AARQRequest())
{
reply.Clear();
ReadDataBlock(it, reply);
}
SecureClient.ParseAAREResponse(reply.Data);
reply.Clear();
if (SecureClient.IsAuthenticationRequired)
{
foreach (byte[] it in SecureClient.GetApplicationAssociationRequest())
{
reply.Clear();
ReadDataBlock(it, reply);
}
SecureClient.ParseApplicationAssociationResponse(reply.Data);
}
}

on this line
SecureClient.ParseAAREResponse(reply.Data);
there is data that throws the exception:
61 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 01 A3 05 A1 03 02 01 0D BE 10 04 0E 08 00 06 5F 1F 04 00 00 1E 1D 04 28 00 07

DenisMalakhov

3 years 11 months ago

I found trace log from

I found trace log from manufacturer app.
This is the trace of initializing connection:
7E A0 0A 00 02 FE FF 61 93 BB C4 7E
7E A0 23 61 00 02 FE FF 73 93 AD 81 80 14 05 02 00 80 06 02 00 80 07 04 00 00 00 01 08 04 00 00 00 01 CE 6A 7E
7E A0 47 00 02 FE FF 61 10 61 9B E6 E6 00 60 36 A1 09 06 07 60 85 74 05 08 01 01 8A 02 07 80 8B 07 60 85 74 05 08 02 01 AC 0A 80 08 30 30 30 30 30 30 30 30 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 7E 1F FF FF 00 D1 7E
7E A0 3A 61 00 02 FE FF 30 FC 29 E6 E7 00 61 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 5E 1D 04 28 00 07 C8 61 7E

Profile picture for user Kurumi

Kurumi

3 years 11 months ago

Hi,

Hi,

This looks correct. Can you get a hex trace when you try to connect with GXDLMSDirector so I can check it?

BR,
Mikko

DenisMalakhov

3 years 11 months ago

Log from Director:

Log from Director:
11:18:00 Initializing Network connection.
11:18:01 Send SNRM request.
7E A0 0A 02 02 02 03 61 93 65 05 7E
11:18:02
7E A0 23 61 02 02 02 03 73 24 47 81 80 14 05 02 00 80 06 02 00 80 07 04 00 00 00 01 08 04 00 00 00 01 CE 6A 7E
11:18:02 Parsing UA reply succeeded.
11:18:02 Send AARQ request.
7E A0 4F 02 02 02 03 61 10 53 84 E6 E6 00 60 3E A1 09 06 07 60 85 74 05 08 01 01 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 0B 12 21 4D 08 18 19 67 26 5B 1C 13 36 12 5A 10 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 62 1E 5D FF FF B6 3A 7E
11:18:02
7E A0 3A 61 02 02 02 03 30 4B C3 E6 E7 00 61 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 01 A3 05 A1 03 02 01 0D BE 10 04 0E 08 00 06 5F 1F 04 00 00 1E 1D 04 28 00 07 0A DA 7E
11:18:02 Disconnect request
11:18:02
7E A0 0A 61 02 02 02 03 73 9E 65 7E
Gurux.DLMS.GXDLMSException: Connection is permanently rejected. Authentication failure.
в GXDLMSDirector.GXDLMSCommunicator.InitializeConnection(Boolean force)
в GXDLMSDirector.GXDLMSDevice.InitializeConnection()
в GXDLMSDirector.MainForm.Connect(Object sender, GXAsyncWork work, Object[] parameters)

Profile picture for user Kurumi

Kurumi

3 years 11 months ago

Hi,

Hi,

Change Authentication to Low. Then change Logical address to 1 and the physical address to 0x3FFF. Then change the client address to 0x30.

You can also connect with Physical address 1 and Logical address 0.

Connect again.

Let me know if you can connect and the name of the meter manufacturer and default settings can be added to GXDLMSDirector so it's easier to connect the next time.

BR,
Mikko

DenisMalakhov

3 years 10 months ago

Sorry for the answer. I

Sorry for the long answer. I connected with low auth level. Then i started to read association and at some point exception has been thrown. But the good news is that I was able to manually add the clock object and successfully read it. This is the end of the log:
15:59:17 Get next frame.
15:59:17 Collecting objects
7E A0 0A 00 02 FE FF 61 91 A9 E7 7E
15:59:18
7E A8 8C 61 00 02 FE FF 18 90 A1 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 00 00 80 03 08 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 02 04 12 00 01 11 00 09 06 00 00 80 03 07 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 02 04 12 00 01 11 00 09 06 00 00 80 03 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 02 04 12 00 01 11 00 09 06 00 00 65 56 7E
15:59:18 Get next frame.
15:59:18 Collecting objects
7E A0 0A 00 02 FE FF 61 B1 AB C6 7E
15:59:18
7E A0 24 61 00 02 FE FF 1A 4C 94 80 03 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 68 F5 7E
15:59:18 Get Next Data block.
15:59:18 Collecting objects
7E A0 16 00 02 FE FF 61 D0 77 B0 E6 E6 00 C0 02 C1 00 00 00 0E A6 46 7E
15:59:18
7E A0 3C 61 00 02 FE FF 3C 5D BB E6 E7 00 C4 02 81 01 00 00 00 0F 00 23 02 04 12 00 01 11 00 09 06 00 00 80 03 05 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 5E 46 7E
System.ArgumentOutOfRangeException: Index was out of range.
Parameter name: access
в GXDLMSDirector.MainForm.RefreshDevice(GXDLMSMeter dev, Boolean bRefresh)
в GXDLMSDirector.MainForm.Refresh(Object sender, GXAsyncWork work, Object[] parameters)

DenisMalakhov

3 years 10 months ago

Oh, I changed the

Oh, I changed the authentication level to high and was also able to connect. Strange thing. Thanks a lot for your help.

Profile picture for user Kurumi

Kurumi

3 years 10 months ago

Hi,

Hi,

I'm glad that you solved this. There are lots of small differences between DLMS meters and how to establish the connection for the meter. If one of the parameters is wrong the meter doesn't reply.

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Tue, 06/09/2026 - 11:16
    gurux.dlms.java 4.0.95
  • Tue, 06/09/2026 - 10:03
    Gurux.DLMS.Python 1.0.199
  • Mon, 06/08/2026 - 13:39
    gurux.dlms.cpp 9.0.2606.0801
  • Mon, 06/01/2026 - 10:15
    gurux.dlms.cpp 9.0.2606.0101
  • Thu, 05/28/2026 - 16:06
    gurux.dlms.java 4.0.94

New forum topics

  • Error reading L&G Meter
  • Pass a TCP Client to GXNet
  • Australian EDMI Mk10D (Essential Energy area)
  • Strange mix of data notificiation vs get response
  • DLMS Connection
More

Who's new

  • Tuanhgg
  • Adel
  • charnon
  • Paddles
  • Miguel Ángel
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin