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. PUSH Data Analysis

PUSH data analysis

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 Laura Chu , 14 September, 2022
Forums
DLMSDirector

Hi~!
When I use Gurux DLMS Translator to analyze PUSH data the following happens:
1: 00 01 00 01 00 66 00 19 E0 80 00 04 00 00 12 E7 0B 01 03 0A 1E 00 00 FF C4 00 11 80 06 00 00 00 00
<WRAPPER len="15" >
<TargetAddress Value="1" />
<SourceAddress Value="66" />
<PDU>
<GeneralBlockTransfer>
<!-- Last block: True -->
<!-- Streaming: False -->
<!-- Window size: 0 -->
<BlockControl Value="80" />
<BlockNumber Value="0004" />
<BlockNumberAck Value="0000" />
<BlockData Value="0A 1E 00 00 FF C4 00 11 80 06 00 00 00 00" />
</GeneralBlockTransfer>
</PDU>
</WRAPPER>
'E7 0B 01 03' is gone.
Why is 'E7 0B 01 03' gone. Can you help me?

BR,
Laura

Profile picture for user Kurumi

Kurumi

4 years 1 month ago

Hi,

Hi,

It looks like you are sending raw data inside of the general block transfer message. This is wrong, you need to send PDU inside of the GBT. Something like this:

https://gurux.fi/GuruxDLMSTranslator?pdu=E080000400000F0F80000001000201…

BR,
Mikko

Laura Chu

4 years 1 month ago

Hi, Mikko

Hi, Mikko
Yes, this is a general block transfer message, the complete data is as follows:
1: 00 01 00 01 00 66 00 DA E0 00 00 01 00 00 81 D2 0F 00 00 00 02 0C 07 E7 0B 02 04 09 04 12 00 FF C4 00 02 03 09 0C 07 E7 0B 02 04 09 04 12 00 FF C4 00 09 0C 30 30 30 30 32 30 32 31 30 30 30 31 01 1A 02 03 09 0C 07 E7 0B 01 03 00 00 00 00 FF C4 00 11 20 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 00 0F 00 00 FF C4 00 11 20 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 01 00 00 00 FF C4 00 11 20 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 01 0F 00 00 FF C4 00 11 20 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 02 00 00 00 FF C4 00 11 20 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 02 0F 00 00 FF C4 00 11 20 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 03 00 00 00 FF C4 00 11 20 06 00 00 00
2: 00 01 00 01 00 66 00 DA E0 00 00 02 00 00 81 D2 00 02 03 09 0C 07 E7 0B 01 03 03 0F 00 00 FF C4 00 11 80 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 05 1E 00 00 FF C4 00 11 80 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 05 2D 00 00 FF C4 00 11 80 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 07 00 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 07 0F 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 07 0F 00 00 FF C4 00 11 80 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 07 1E 00 00 FF C4 00 11 80 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 07 2D 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 08 00 00 00 FF C4 00 11 00 06 00 00 00 00 02 03
3: 00 01 00 01 00 66 00 DA E0 00 00 03 00 00 81 D2 09 0C 07 E7 0B 01 03 08 0F 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 08 1E 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 08 2D 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 09 00 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 09 0F 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 09 1E 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 09 2D 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 0A 00 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07 E7 0B 01 03 0A 0F 00 00 FF C4 00 11 00 06 00 00 00 00 02 03 09 0C 07
4: 00 01 00 01 00 66 00 19 E0 80 00 04 00 00 12 E7 0B 01 03 0A 1E 00 00 FF C4 00 11 80 06 00 00 00 00
The second and third frame analysis is correct, but the fouth frame is not. And I found a strange phenomenon as follow:
4: 00 01 00 01 00 66 00 19 E0 80 00 04 00 00 12 E7 0B 02 03 0A 1E 00 00 FF C4 00 11 80 06 00 00 00 00
<WRAPPER len="14" >
<TargetAddress Value="1" />
<SourceAddress Value="66" />
<PDU>
<GeneralBlockTransfer>
<!-- Last block: True -->
<!-- Streaming: False -->
<!-- Window size: 0 -->
<BlockControl Value="80" />
<BlockNumber Value="0004" />
<BlockNumberAck Value="0000" />
<!--
-->
<BlockData Value="1E 00 00 FF C4 00 11 80 06 00 00 00 00" />
</GeneralBlockTransfer>
</PDU>
</WRAPPER>
4: 00 01 00 01 00 66 00 19 E0 80 00 04 00 00 12 E7 0B 03 03 0A 1E 00 00 FF C4 00 11 80 06 00 00 00 00
<WRAPPER len="13" >
<TargetAddress Value="1" />
<SourceAddress Value="66" />
<PDU>
<GeneralBlockTransfer>
<!-- Last block: True -->
<!-- Streaming: False -->
<!-- Window size: 0 -->
<BlockControl Value="80" />
<BlockNumber Value="0004" />
<BlockNumberAck Value="0000" />
<BlockData Value="00 00 FF C4 00 11 80 06 00 00 00 00" />
</GeneralBlockTransfer>
</PDU>
</WRAPPER>
4: 00 01 00 01 00 66 00 19 E0 80 00 04 00 00 12 E7 0B 04 03 0A 1E 00 00 FF C4 00 11 80 06 00 00 00 00
<WRAPPER len="12" >
<TargetAddress Value="1" />
<SourceAddress Value="66" />
<PDU>
<GeneralBlockTransfer>
<!-- Last block: True -->
<!-- Streaming: False -->
<!-- Window size: 0 -->
<BlockControl Value="80" />
<BlockNumber Value="0004" />
<BlockNumberAck Value="0000" />
<BlockData Value="00 FF C4 00 11 80 06 00 00 00 00" />
</GeneralBlockTransfer>
</PDU>
</WRAPPER>
4: 00 01 00 01 00 66 00 19 E0 80 00 04 00 00 12 E7 0B 11 03 0A 1E 00 00 FF C4 00 11 80 06 00 00 00 00
<WRAPPER len="19" >
<TargetAddress Value="1" />
<SourceAddress Value="66" />
<PDU>
<GeneralBlockTransfer>
<!-- Last block: True -->
<!-- Streaming: False -->
<!-- Window size: 0 -->
<BlockControl Value="80" />
<BlockNumber Value="0004" />
<BlockNumberAck Value="0000" />
<BlockData Value="E7 0B 11 03 0A 1E 00 00 FF C4 00 11 80 06 00 00 00 00" />
</GeneralBlockTransfer>
</PDU>
</WRAPPER>
Please pay attention to the 'E7 0B 01 03 ' part, I modified 0x01 to 0x02, 0x03, 0x04and 0x11 respectively, and the analyzed 'BlockData Value' is different.
Looking forward your replay, thanks.

BR,
Laura

Laura Chu

4 years 1 month ago

In reply to Hi, by Kurumi

Hi, Mikko

Hi, Mikko
Can you give me an example of transferring 2 or 3 blocks of data using GBT?
Thanks~!

BR,

Profile picture for user Kurumi

Kurumi

4 years 1 month ago

Hi,

Hi,

The last block bit is True for all the PDUs. This is not correct. You must set the last block bit to true only for the last frame when PDU is sent complete. PDU is parsed from the data If the last block bit is set.

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Tue, 10/13/2026 - 12:00
    gurux.dlms.java 4.0.97
  • Tue, 09/22/2026 - 14:02
    Gurux.DLMS.Net 9.0.2609.2201
  • Mon, 09/21/2026 - 10:18
    Gurux.DLMS.Net 9.0.2609.2101
  • Wed, 08/26/2026 - 09:04
    Gurux.DLMS.Python 1.0.203
  • Mon, 08/17/2026 - 11:28
    Gurux.DLMS.Python 1.0.202

New forum topics

  • Association refresh related issue
  • Need RJ45 pin configuration for Saral 300 and Saral 305 Secure meters
  • Query Regarding Class 63 Status Mapping Support in Gurux DLMS Python
  • Inhemeter
  • DLMS Server - Profile Generic - can't add too many items to profile generic capture object - how to set maximum profile entries
More

Who's new

  • Anand Raj
  • amir.jradi
  • JOEBID€N123
  • yogibear
  • Eric@li
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin