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. 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

3 years 9 months 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

3 years 8 months 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

3 years 8 months 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

3 years 8 months 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, 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