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. Using Disconnect Control Object With Short Name Referencing

Using Disconnect control object with short name referencing

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 Siemens-US , 2 January, 2018
Forums
Gurux DLMS for Java

Hi

I am not able to use Disconnect control object to send disconnect or connect operations for short name referencing. For logical referencing it is working fine though.

On trying to send through the short name referencing, I am getting following exception:-

IllegalArgumentException : "methodIndex"

I am using following call to send the disconnect meter call:-

com.dlms.method(disconnectControl, 1, new Integer(0), DataType.INT8);

On looking further error seems to be coming from GXDLMSClient's method . Th eissue seems to be occuring as in getActionInfo of GXDLMS class, DISCONNECT_CONTROL case is not handled.

Please look into it urgently as we are stuck on this.

Thanks
Yatin
Siemens-US

Siemens-US

8 years 5 months ago

short name referencing

Hi

The short name referencing is also not working for Profile Generics. While trying to read the attribute 3 for the profile generic, the attribute is looking for the recieved logical names instead.:-

else if (e.getIndex() == 3) {
captureObjects.clear();
buffer.clear();
entriesInUse = 0;
if (e.getValue() != null) {
for (Object it : (Object[]) e.getValue()) {
Object[] tmp = (Object[]) it;
if (tmp.length != 4) {
throw new GXDLMSException("Invalid structure format.");
}
ObjectType type =
ObjectType.forValue(((Number) tmp[0]).intValue());
String ln = GXCommon.toLogicalName((byte[]) tmp[1]);
GXDLMSObject obj = null;
if (settings != null && settings.getObjects() != null) {
obj = settings.getObjects().findByLN(type, ln);
}
if (obj == null) {
obj = gurux.dlms.GXDLMSClient.createObject(type);
obj.setLogicalName(ln);
}
addCaptureObject(obj, ((Number) tmp[2]).intValue(),
((Number) tmp[3]).intValue());
}
}

Thanks
Yatin

Profile picture for user Kurumi

Kurumi

8 years 5 months ago

Using Disconnect control object with short name referencing

Hi,

We were on Christmas holiday and just come back. We'll check this today.

BR,

Mikko

Profile picture for user Kurumi

Kurumi

8 years 5 months ago

In reply to short name referencing by Siemens-US

short name referencing

Hi,

The target name is given using Logical Name also when Short Name referencing is used.

BR,
Mikko

Profile picture for user Kurumi

Kurumi

8 years 5 months ago

Using Disconnect control object with short name referencing

Hi,
We have released a new version.
http://www.gurux.fi/node/6535

BR,
Mikko

Siemens-US

8 years 5 months ago

short name referencing profile generics

So, do you mean we should expect the logical names to be received along with short names from the meter for profile generics case while short name referencing is used? In case we are trying to get the attribute index 2 for profile generic objects from mock meter, please tell what should be the code present in onpreread when short name referencing is used?

Thanks
Yatin

Profile picture for user Kurumi

Kurumi

8 years 5 months ago

Using Disconnect control object with short name referencing

Hi,

Captured objects (attribute index 3 in profile generic) describe all columns that are saved to profile generic. Object type, logical name, and data index are saved there. Short name is not there and you are not using Short name if you want to read profile generic buffer by columns.

Usually, you should read captured objects first and then buffer of profile generic.

On PreRead you check is profile generic read. The current example reads values from the file.
Can you use a file or do you want to set values in when the client reads them?
Both ways are possible. Current example uses the file because sometimes there are so many rows that it might cause problems with memory. Usually memory is not a problem with Java.

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