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. Getting Started With Gurux Data Collector

Getting started with Gurux Data Collector

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 Khaleel , 30 August, 2022
Forums
Gurux.DLMS

Hi

I want to compile Gurux Data Collector code for EFR32FG13. I have an wirepas-sdk and how can i link my wirepas-sdk with Gurux Data Collector code and generate a binary for EFR32FG13.

Thanks in advance.

Best Regards
khaleel

Profile picture for user Kurumi

Kurumi

3 years 9 months ago

Hi,

Hi,

Do you have set the compiler and can you run any Wirepas example on your board?
If you can run the Wirepas example you need to modify the DLMS example for your needs and compile it.

BR;
Mikko

Khaleel

3 years 8 months ago

In reply to Hi, by Kurumi

Hi Mikko,

Hi Mikko,

Thanks for the update.
Sorry for the late reply. I was busy with some other task.
I have integrated GuruxData collector code with wirepas-stack. When i try to compile i'm getting below error.

source/GuruxDLMSDataCollector/app.c: In function 'dataReceivedCb':
source/GuruxDLMSDataCollector/app.c:895:13: error: too few arguments to function 'com_method'
if ((ret = com_method(DLMS_OBJECT_TYPE_DISCONNECT_CONTROL, ln, data->bytes[0])) != 0)
^
source/GuruxDLMSDataCollector/app.c:428:5: note: declared here
int com_method(
^
cc1: all warnings being treated as errors

com_method function need's 4 arguments , but we are passing only 3 arguments. Can you please tell what value i have to pass as 4th argument here.

Best Regards
khaleel

Profile picture for user Kurumi

Kurumi

3 years 8 months ago

Hi,

Hi,

Use this:

dlmsVARIANT param;
var_init(&param);
unsigned char ln[6] = { 0, 0, 96, 3, 10, 255 };
if ((ret = com_method(DLMS_OBJECT_TYPE_DISCONNECT_CONTROL, ln, data->bytes[0], &param)) != 0)
{
static char* READ_FAILED = "Action failed";
SendToSink(false, (unsigned char*)READ_FAILED, 13);
}
var_clear(&param);

It's updated for the Github today.

BR,
Mikko
BR,
Mikko

Khaleel

3 years 8 months ago

Hi

Hi

Thanks for the modification.

Best Regards
khaleel

Khaleel

3 years 8 months ago

Hi Mikko,

Hi Mikko,
1) I can able to read clock object from Gurux simple server, But i'm getting compressed data as you can see in the below log, Nic compressing the data. Can you please tell me how to uncompress the data to see the actual clock and time.

log from sink :
RX from 1:sink1 => b'Start read!'
RX from 1:sink1 => b'\x07\xe6\n\x0b\x02\x044\x0b\x00\x00\x00\x00'
RX from 1:sink1 => b'\xc4 \x14w\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00u\x01\x00\x00\x00\x00\x01\x00\x00\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'
RX from 1:sink1 => b'\xec\xfc\xd5\x00\x07\x01\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
RX from 1:sink1 => b'\x01\x00\x06\xff-\x01\x00\x00\x00\xff\xe0\x00\xff\x03\xff\x00\x00\x00'

2) The above experiment has been done with out authentication, needs to test with authentication. Can you please tell me the commands to test Gurux's server(GuruxDLMSSimpleServer1) and client(GuruxDLMSClientExample) with authentication.

Best Regards
khalel

Profile picture for user Kurumi

Kurumi

3 years 8 months ago

Hi Khalel,

Hi Khalel,

I don't know if is this compressed data. It looks more like you have printed an empty buffer. This is not a DLMS frame and you need to check that first. The data should start and end with 0x7E.

BR,
Mikko

Khaleel

3 years 8 months ago

Hi Mikko,

Hi Mikko,

I will check on why data is not coming to sink from wirepas node.
Can you please tell me the password for high Authentication mode. Server as GuruxDLMSSimpleServer1 and Gurux collector as client.
tried with D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF in hex but saying can't authenticate with this password

Best Regards
Khaleel

Profile picture for user Kurumi

Kurumi

3 years 8 months ago

Hi,

Hi,

The default high-level authentication password is "Gurux".

BR,
Mikko

Khaleel

3 years 7 months ago

Hi Mikko,

Hi Mikko,

Thanks for the password.

When i try to establish a communication between Actual Energy meter and Gurux dlms Director, it gets success below are the packet logs.

07:10:51 Send AARQ request.
TX: 00 01 00 30 00 01 00 5F 60 5D A1 09 06 07 60 85 74 05 08 01 03 A6 0A 04 08 71 77 65 72 74 79 75 69 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 49 34 53 3B 2A 25 36 30 1E 27 58 42 74 08 60 2D BE 23 04 21 21 1F 30 00 00 00 05 35 5D B2 59 6B 8A 57 B8 FD 16 19 7B 23 03 F8 FA 38 07 26 C2 BA 65 53 7B EC D6
07:10:51
RX: 00 01 00 01 00 30 00 6B 61 69 A1 09 06 07 60 85 74 05 08 01 03 A2 03 02 01 00 A3 05 A1 03 02 01 0E A4 0A 04 08 71 77 65 30 30 30 30 31 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 BE 23 04 21 28 1F 30 00 00 00 04 0D 81 09 AB 6F 78 C4 4F 1B 9A 4F 74 39 32 FC BD 52 DB 5E 54 72 6B E7 F3 2C 44

07:10:51 Authenticating.
TX: 00 01 00 30 00 01 00 32 CB 30 30 00 00 00 06 29 B3 9E DD 6A 2A 04 A0 04 15 9E 3D 90 38 EA 92 3B 7F 9F C9 1C 2F 7F E1 87 08 D0 7F 40 15 50 76 18 DD BB 03 18 95 98 F3 E6 94 FE
07:10:51
RX: 00 01 00 01 00 30 00 2B CF 29 30 00 00 00 05 04 5A 79 44 F3 F1 37 01 B8 4D 06 66 29 ED C3 11 1D E0 86 95 F1 B5 C3 61 90 06 97 7C AA B2 0D 7B 91 39 54 DE

Interface type : Wrapper

The above logs doesn't have '7E' delimiters, how can i predict the start and stop byte or end of packet in NIC data collector for above packets.

Best Regards
khaleel

Profile picture for user Kurumi

Kurumi

3 years 7 months ago

Hi,

Hi,

Because your meter is using WRAPPER framing and it doesn't use 0x7E chars at the beginning or end of the frame. There are no start or stop bytes at all in WRAPPER.

Get the latest version from the Github. There is cl_getRemainingFrameSize that will tell how many bytes you need to read before the frame is complete. You need to update that to the Wirepas example when you communicate with the meter. This is updated for the Wirepas example later.

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