I have a DLMS meter that is pushing data from their side to my GXDLMSPushListener, and in the objects list of the push data is:
GXDLMSData with AttributeIndex of 2 and DataIndex of 0,
GXDLMSRegister, with AttributeIndex of 0 and DataIndex of 0.
I can parse the incoming data, but it ultimately fails at the GetDataType(int index) call of the GXDLMSRegister class. The index is 0, so I understand that there is no "Structure" defined for index 0.
The parsed data looks like this before calling the UpdateValue method in GXDLMSPushSetup.cs (first image): https://imgur.com/a/xIg1jKQ (apologies for the imgur link)
From the image, the first entry is the Logical Name, value of 0, and the last value is a array of two values, corresponding to Scaler and Unit. (GXStructure)
Is there any way that we can parse this, and/or make a modification to parse this array of objects on the GXDLMSRegister class?
Can you add a hex string from the push message so I can check it and tell you how to handle it? Content of the push messages is not defined on the DLMS standard and there are a few different ways to handle it.
This was exactly what I was looking for. Yes, your meter is sending register objects using attribute index zero. We haven't read meters that are using attribute index zero in push messages.
I created an issue from this: http://www.gurux.fi/node/19684
This is now improved and tests start tomorrow. The new version is released on Monday.
Hi,
Hi,
Can you add a hex string from the push message so I can check it and tell you how to handle it? Content of the push messages is not defined on the DLMS standard and there are a few different ways to handle it.
BR,
Mikko
Hello,
Hello,
The incoming push message is encrypted, here is the message in XML and hex after decryption:
Hex: 02 02 09 08 31 32 33 34 35 36 37 38 02 03 09 06 01 00 01 08 00 FF 06 00 00 00 00 02 02 0F 00 16 1E
XML:
<Structure Qty="02" >
<OctetString Value="3132333435363738" />
<Structure Qty="03" >
<OctetString Value="0100010800FF" />
<UInt32 Value="00000000" />
<Structure Qty="02" >
<Int8 Value="00" />
<Enum Value="1E" />
</Structure>
</Structure>
</Structure>
I hope that this is what you are looking for?
Hi Ruhan,
Hi Ruhan,
This was exactly what I was looking for. Yes, your meter is sending register objects using attribute index zero. We haven't read meters that are using attribute index zero in push messages.
I created an issue from this:
http://www.gurux.fi/node/19684
This is now improved and tests start tomorrow. The new version is released on Monday.
BR,
Mikko
Thank you, I look forward to
Thank you, I look forward to the bugfix.
I will test after new version is released.