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. I Can't Read Historical Data Through Gurux DLMS

I can't read Historical Data through Gurux DLMS

By Franco Bani , 14 September, 2023
Forums
Gurux.DLMS

Hi
I am trying to read the data in a Landis+Gyr LGZ405 electric meter associated to historical data profiles, via optical cable, using GuruX DLMS for Python.
I already could read simpler data succesfully, but, for example, when I do the command ' python .\main.py -r ln -S COM7 -d DLMS -i HdlcWithModeE -g "0.0.98.1.0.126:2" ', it returns "Read capture objects first", and I do not know what it means by "Capture Objects".
When trying to read this data in MAP110 (official reader for the meter), or with GDLMS, it asks you in what period of time you want to make those reads. What I thought is that it is telling me that when I do the command, I have to specify the period of time in some way, but I tried various different things and I couldn't get to anything, so I don't know if it is that.
Also, in the attached image, there's a list of OBIS that shows up in a part that says "Capture Objects" when you read the OBIS 0.0.98.1.0.126:2 in GDLMS. So I thought this could something to do with the problem I'm having.
Thank you for reading

Image
Profile picture for user Kurumi

Kurumi

2 years 10 months ago

Hi, Capture objects error…

Hi,

Capture objects error means that you need to add command line arguments where capture objects read first. You can do it like this:
"0.0.98.1.0.126:3;"0.0.98.1.0.126:2""

Capture objects are saved for attribute index 3.

You can use readRowsByRange to read values using start and end time.
You can find the example from here:

https://github.com/Gurux/Gurux.DLMS.Python/blob/430bf80789e45f8a61ce688…

I hope this will help you with profile generic:
https://www.gurux.fi/Gurux.DLMS.Objects.GXDLMSProfileGeneric

I believe that the best way for you is that you modify the example and don't read association view at all. Add objects that you wan to read and read them like this:

pg = GXDLMSProfileGeneric("0.0.98.1.0.126")
#read capture objects.
self.read(pg, 3)
#Read rows using start and end time.

start = datetime.datetime.now()
end = start
start = start.replace(hour=0, minute=0, second=0, microsecond=0)
end = end.replace(minute=0, second=0, microsecond=0)
cells = self.readRowsByRange(pg, start, end)

BR,
Mikko

Franco Bani

2 years 10 months ago

Thanks you for your reply! I…

Thanks you for your reply! I will be trying that

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Mon, 07/27/2026 - 12:37
    gurux.dlms.cpp 9.0.2607.2701
  • Thu, 07/23/2026 - 16:19
    gurux.dlms.java 4.0.96
  • Thu, 07/09/2026 - 14:34
    Gurux.DLMS.Python 1.0.201
  • Fri, 06/26/2026 - 16:32
    Gurux.Service 3.0.2606.2601
  • Wed, 06/24/2026 - 08:36
    Gurux.DLMS.Python 1.0.200

New forum topics

  • gurux_dlms.GXDateTime.GXDateTime object Error in Python
  • T_APPL_DATA_LN_N1 subtest 3 fails on an LN-only server regardless of the response to a non-existing-object GET
  • Version mismatch between Gurux.DLMS 9.x and Gurux.Common/Gurux.Serial 8.x
  • Service not known error on gprs communication
  • Help Needed: Interfacing Saral 100 Energy Meter with Microcontroller via RS232
More
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin