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. How To Parse Profile Generic Hex Data Manually

How to parse profile generic hex data manually

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 Virabhadrappa , 3 May, 2021
Forums
Gurux DLMS for Android

Hi sir,
We need to parse profile generic hex data manually by reading xml data. Please guide us how to do that. Thank you
Example: logical name: 1.0.99.2.0.255 (0100630200FF)
Data given below

1] capture_object data:
RESPONSE:
<GetResponse>
<GetResponseNormal>
<InvokeIdAndPriority Value="C1" />
<Result>
<Data>
<Array Qty="0003" >
<Structure Qty="0004" >
<LongUnsigned Value="0008" />
<OctetString Value="0000010000FF" />
<Integer Value="02" />
<LongUnsigned Value="0000" />
</Structure>
<Structure Qty="0004" >
<LongUnsigned Value="0003" />
<OctetString Value="0100010800FF" />
<Integer Value="02" />
<LongUnsigned Value="0000" />
</Structure>
<Structure Qty="0004" >
<LongUnsigned Value="0003" />
<OctetString Value="0100090800FF" />
<Integer Value="02" />
<LongUnsigned Value="0000" />
</Structure>
</Array>
</Data>
</Result>
</GetResponseNormal>
</GetResponse>

2} Buffer data:

REQUEST:
<GetRequest>
<GetRequestForNextDataBlock>
<InvokeIdAndPriority Value="C1" />
<BlockNumber Value="00000009" />
</GetRequestForNextDataBlock>
</GetRequest>
1099'13.635+5 7EA013034154A467E6E600C002C10000000919327E
1099'14.038+403 7EA064410374DA8DE6E700C402C1000000000A004E0203090C07E50417FF0000FFFF8000000600000048060000004D0203090C07E5041BFF0000FFFF8000000600000048060000004D0203090C07E5041CFF0000FFFF8000000600000048060000004DFD467E
RESPONSE:
<GetResponse>
<GetResponseWithDataBlock>
<InvokeIdAndPriority Value="C1" />
<Result>
<LastBlock Value="00" />
<BlockNumber Value="0000000A" />
<Result>
<RawData Value="0203090C07E50417FF0000FFFF8000000600000048060000004D0203090C07E5041BFF0000FFFF8000000600000048060000004D0203090C07E5041CFF0000FFFF8000000600000048060000004D" />
</Result>
</Result>
</GetResponseWithDataBlock>
</GetResponse>
REQUEST:
<GetRequest>
<GetRequestForNextDataBlock>
<InvokeIdAndPriority Value="C1" />
<BlockNumber Value="0000000A" />
</GetRequestForNextDataBlock>
</GetRequest>
1099'14.130+4 7EA013034176B465E6E600C002C10000000A82007E
1099'14.518+388 7EA064410396C649E6E700C402C1000000000B004E0203090C07E5041DFF0000FFFF8000000600000048060000004D0203090C07E5041EFF0000FFFF8000000600000049060000004D0203090C07E50501FF0000FFFF8000000600000049060000004E917F7E
RESPONSE:
<GetResponse>
<GetResponseWithDataBlock>
<InvokeIdAndPriority Value="C1" />
<Result>
<LastBlock Value="00" />
<BlockNumber Value="0000000B" />
<Result>
<RawData Value="0203090C07E5041DFF0000FFFF8000000600000048060000004D0203090C07E5041EFF0000FFFF8000000600000049060000004D0203090C07E50501FF0000FFFF8000000600000049060000004E" />
</Result>
</Result>
</GetResponseWithDataBlock>
</GetResponse>
REQUEST:
<GetRequest>
<GetRequestForNextDataBlock>
<InvokeIdAndPriority Value="C1" />
<BlockNumber Value="0000000B" />
</GetRequestForNextDataBlock>
</GetRequest>
1099'14.612+4 7EA013034198C46BE6E600C002C10000000B0B117E
1099'14.950+337 7EA04A4103B8ABA0E6E700C402C1010000000C00340203090C07E50502FF0000FFFF800000060000004A060000004F0203090C07E50503FF0000FFFF800000060000004A060000004FBDEF7E
RESPONSE:
<GetResponse>
<GetResponseWithDataBlock>
<InvokeIdAndPriority Value="C1" />
<Result>
<LastBlock Value="01" />
<BlockNumber Value="0000000C" />
<Result>
<RawData Value="0203090C07E50502FF0000FFFF800000060000004A060000004F0203090C07E50503FF0000FFFF800000060000004A060000004F" />
</Result>
</Result>
</GetResponseWithDataBlock>
</GetResponse>

Profile picture for user Kurumi

Kurumi

5 years 1 month ago

Hi,

Hi,

The buffer data of the profile generic depends on the capture objects. There are several rows and data is coming in several frames from the meter. Parsing hex string manually is not an easy task when data is coming in blocks and frames. I propose that you use the DLMS component to do this.

BR,
Mikko

Virabhadrappa

5 years 1 month ago

Hi sir,

Hi sir,
Thank you for your reply. We have DLMS meters don't know how to parse data from hex. Using XMLDemo to get object list and data. Referring DLMS Blue book documentation. If it is possible help me to parse data. What is DLMS component?. Is there any reference?.

Profile picture for user Kurumi

Kurumi

5 years 1 month ago

Hi,

Hi,

You should read this to get started:
https://www.gurux.fi/Gurux.DLMS.Client

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