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. Node
  3. Firmware Transfer Bug In Python

Firmware Transfer bug in Python

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 ikudryav , 23 September, 2022
Forums
Gurux.DLMS

Hi Mikko,

I was unsuccessfully trying to use Python for the meter's firmware upgrade. After analysing the source code of the GXDLMSImageTransfer.py class, and compare with C# and C++ library I see that there are some descripencies in the method imageBlockTransfer()

[SNIP]
def imageBlockTransfer(self, client, imageBlockValue, imageBlockCount):
cnt = len(imageBlockValue)
if (cnt % self.imageBlockSize) != 0:
cnt += 1
[SNIP]
pos = 0
while pos != cnt:
<Processing...>
pos += 1
[SNIP]

The problem that cnt is set to the size of the image and we are traversing byte by byte instead of the block.

It is nessesary to chenge the first few lines in the method to:

[SNIP]
cnt = int(len(imageBlockValue)/self.imageBlockSize);
if len(imageBlockValue) % self.imageBlockSize != 0:
cnt +=1;
[SNIP]

After that modification, which is in line with C# version, everything started to work as expected.

I hope that this change will be added into the next release.

Kind regards,
Ilya

Profile picture for user Kurumi

Kurumi

3 years 11 months ago

Hi,

Hi,

Thank you for pointing this out. This is fixed for version 1.0.137 and your name is added to the credits.

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Wed, 08/26/2026 - 09:04
    Gurux.DLMS.Python 1.0.203
  • Mon, 08/17/2026 - 11:28
    Gurux.DLMS.Python 1.0.202
  • Mon, 08/17/2026 - 09:47
    gurux.dlms.cpp 9.0.2608.1701
  • Mon, 08/17/2026 - 09:25
    gurux.dlms.c 9.0.2608.1701
  • Mon, 07/27/2026 - 12:37
    gurux.dlms.cpp 9.0.2607.2701

New forum topics

  • Security vulnerability report — request for a private contact (GuruxDLMS.c / ANSI C)
  • Topic: Insufficient Memory Error When Reading Class 7 Profile Generic Objects
  • SN ReadResponse returns all-null values when response spans multiple HDLC frames
  • Gurux.Serial.Android 3.0.6 – CH340 (HL-340) USB-Serial Adapter Not Working,
  • Trying to talk to a L&G E360 meter (Using Python Gurux)
More

Who's new

  • cyby
  • Metin Onan
  • ssv007
  • 3nzol3dur
  • dw772
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin