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. Reading Multiple Meter Via Serial

Reading multiple meter via serial

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 ms , 20 January, 2020
Forums
Gurux DLMS for Java

Hi,

we would like to read multiple meter via serial as fast as possible.
For each meter, we initialize the connection by sending an SNMR and AARE request,
then we read the Obis codes we are interested in and then we send a disconnect request as explained here: https://www.gurux.fi/Gurux.DLMS.Client

However, we recognized that we need to wait up to 800ms between each disconnect and the initialization of the connection to the next meter. If we don't wait, we get a timeout. It seems as if the next meter, didn't receive our connection attempt.

This additional 800ms makes the overall loop quite slow. Do you have any idea how we could make this faster? With a different library (not from gurux) we are able to read faster (so it must be possible), but we would like to switch to gurux.

Best,

Max

Profile picture for user Kurumi

Kurumi

6 years 4 months ago

Hi,

Hi,

The sImple answer is that don't close the connection between the reads.
If you have a timeout, your meter has closed the connection and then start communication again sending SNRM and AARQ.

Make sure that you send disconnect to the meter. You can also try to send release before disconnect.
But all this makes reading slower. Keep connection up all the time.

BR,
Mikko

ms

6 years 4 months ago

Hi Mikko,

Hi Mikko,

thanks for your response. You suggest to keep the connection open, i.e. not to send a disconnect between consecutive reads. However, our meters seem to close the connection themselves after a while. We want to read once per minute, so we would need to keep the connection open for one minute without any communication.

I don't understand why we need to wait this 800ms. We close the connection to one meter, and then before we can open the connection to the next meter, we need to put in this delay, otherwise the meter doesn't answer (timeout). Do you have an explanation for that?

Best,

Max

Profile picture for user Kurumi

Kurumi

6 years 4 months ago

Hi Max,

Hi Max,

There is an inactivity timeout. You can see the value with GXDLMSDirector. Find HDLC Setup object and read the inactivity timeout.

If you read something before inactivity timeout elapses, meter should keep the connection up.

Are you reading those meters using RS-485 or UDP connection?

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