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. Server.ino Arduino

server.ino arduino

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 benyamin.chesh… , 3 January, 2022
Forums
General discussion

hi
error in compiliing server.ino

Arduino: 1.8.15 (Windows 10), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

GXDLMSServer.cpp:175:50: error: no 'void GXDLMSServer::setDefaultClock(gxClock*)' member function declared in class 'GXDLMSServer'

void GXDLMSServer::setDefaultClock(gxClock* clock)

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingBlockCipherKey(dlmsVARIANT*)':

GXDLMSServer.cpp:205:3: error: 'GX_OCTET_STRING' was not declared in this scope

GX_OCTET_STRING(*value, settings.base.cipher.blockCipherKey, 16);

^~~~~~~~~~~~~~~

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:205:3: note: suggested alternative: 'SET_OCTET_STRING'

GX_OCTET_STRING(*value, settings.base.cipher.blockCipherKey, 16);

^~~~~~~~~~~~~~~

SET_OCTET_STRING

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingAuthenticationKey(dlmsVARIANT*)':

GXDLMSServer.cpp:210:3: error: 'GX_OCTET_STRING' was not declared in this scope

GX_OCTET_STRING(*value, settings.base.cipher.authenticationKey, 16);

^~~~~~~~~~~~~~~

server:139:3: error: 'gxSapItem' does not name a type; did you mean 'gxListItem'?

gxSapItem values[5];

^~~~~~~~~

gxListItem

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:210:3: note: suggested alternative: 'SET_OCTET_STRING'

GX_OCTET_STRING(*value, settings.base.cipher.authenticationKey, 16);

^~~~~~~~~~~~~~~

SET_OCTET_STRING

server:199:8: error: 'gxSapAssignment' does not name a type; did you mean 'cosem_getSapAssignment'?

static gxSapAssignment sapAssignment;

^~~~~~~~~~~~~~~

cosem_getSapAssignment

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingKek(dlmsVARIANT*)':

GXDLMSServer.cpp:215:3: error: 'GX_OCTET_STRING' was not declared in this scope

GX_OCTET_STRING(*value, settings.base.kek, 16);

^~~~~~~~~~~~~~~

In file included from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41:0,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:

server:206:52: error: 'sapAssignment' was not declared in this scope

BASE(ldn), BASE(sapAssignment), BASE(eventCode),

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:3684:18: note: in definition of macro 'BASE'

#define BASE(X) &X.base

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:215:3: note: suggested alternative: 'SET_OCTET_STRING'

GX_OCTET_STRING(*value, settings.base.kek, 16);

^~~~~~~~~~~~~~~

SET_OCTET_STRING

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addAssociationHigh(short unsigned int)':

server:430:10: error: 'gxUser' does not name a type; did you mean 'gxKey'?

static gxUser USER_LIST[10] = { 0 };

^~~~~~

gxKey

In file included from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:

server:440:42: error: 'USER_LIST' was not declared in this scope

ARR_ATTACH(associationHigh.userList, USER_LIST, 0);

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'

#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:440:42: note: suggested alternative: '_VA_LIST'

ARR_ATTACH(associationHigh.userList, USER_LIST, 0);

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'

#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addAssociationHighGMac(short unsigned int)':

server:475:10: error: 'gxUser' does not name a type; did you mean 'gxKey'?

static gxUser USER_LIST[10] = { 0 };

^~~~~~

gxKey

In file included from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:

server:490:46: error: 'USER_LIST' was not declared in this scope

ARR_ATTACH(associationHighGMac.userList, USER_LIST, 0);

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'

#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:490:46: note: suggested alternative: '_VA_LIST'

ARR_ATTACH(associationHighGMac.userList, USER_LIST, 0);

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'

#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))

^

In file included from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41:0,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addSapAssignment(short unsigned int)':

server:556:26: error: 'sapAssignment' was not declared in this scope

if ((ret = INIT_OBJECT(sapAssignment, DLMS_OBJECT_TYPE_SAP_ASSIGNMENT, ln)) == 0)

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:3685:43: note: in definition of macro 'INIT_OBJECT'

#define INIT_OBJECT(X, Y, Z) cosem_init4(&X.base, sizeof(X), Y, Z)

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:556:26: note: suggested alternative: 'addSapAssignment'

if ((ret = INIT_OBJECT(sapAssignment, DLMS_OBJECT_TYPE_SAP_ASSIGNMENT, ln)) == 0)

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:3685:43: note: in definition of macro 'INIT_OBJECT'

#define INIT_OBJECT(X, Y, Z) cosem_init4(&X.base, sizeof(X), Y, Z)

^

server:560:51: error: 'struct GXSapList' has no member named 'values'

sprintf((char*) meterData.sapAssignmentList.values[0].name.value, "%s%.13lu", FLAG_ID, meterData.SERIAL_NUMBER);

^~~~~~

server:561:35: error: 'struct GXSapList' has no member named 'values'

meterData.sapAssignmentList.values[0].name.size = 16;

^~~~~~

server:562:35: error: 'struct GXSapList' has no member named 'values'

meterData.sapAssignmentList.values[0].id = 1;

^~~~~~

In file included from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,

from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:

server:565:77: error: 'struct GXSapList' has no member named 'values'

ARR_ATTACH(sapAssignment.sapAssignmentList, meterData.sapAssignmentList.values, meterData.sapAssignmentList.count);

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'

#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))

^

server:565:77: error: 'struct GXSapList' has no member named 'values'

ARR_ATTACH(sapAssignment.sapAssignmentList, meterData.sapAssignmentList.values, meterData.sapAssignmentList.count);

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:57: note: in definition of macro 'ARR_ATTACH'

#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))

^

server:565:77: error: 'struct GXSapList' has no member named 'values'

ARR_ATTACH(sapAssignment.sapAssignmentList, meterData.sapAssignmentList.values, meterData.sapAssignmentList.count);

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:67: note: in definition of macro 'ARR_ATTACH'

#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))

^

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addLogicalDeviceName()':

server:585:5: error: 'GX_OCTET_STRING' was not declared in this scope

GX_OCTET_STRING(ldn.value, meterData.LDN, sizeof(meterData.LDN));

^~~~~~~~~~~~~~~

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:585:5: note: suggested alternative: 'SET_OCTET_STRING'

GX_OCTET_STRING(ldn.value, meterData.LDN, sizeof(meterData.LDN));

^~~~~~~~~~~~~~~

SET_OCTET_STRING

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int loadTargets(GXPushObjects*, gxTarget*, short unsigned int*)':

server:620:18: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

objects[pos].target = it;

^~~~~~

gxTarget

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int saveTargets(GXPushObjects*, gxTarget*, short unsigned int)':

server:633:64: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

memcpy(savedObjects->values[pos].logicalName, objects[pos].target->logicalName, 6);

^~~~~~

gxTarget

server:634:57: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

savedObjects->values[pos].objectType = objects[pos].target->objectType;

^~~~~~

gxTarget

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addLoadProfileProfileGeneric()':

server:837:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

CAPTURE_OBJECT[0].target = BASE(meterData.clock1);

^~~~~~

gxTarget

server:841:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

CAPTURE_OBJECT[1].target = BASE(activePowerL1);

^~~~~~

gxTarget

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addEventLogProfileGeneric()':

server:873:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

CAPTURE_OBJECT[0].target = BASE(meterData.clock1);

^~~~~~

gxTarget

server:877:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

CAPTURE_OBJECT[1].target = BASE(eventCode);

^~~~~~

gxTarget

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'void setup()':

server:1172:10: error: 'class GXDLMSServer' has no member named 'setDefaultClock'

Server.setDefaultClock(&meterData.clock1);

^~~~~~~~~~~~~~~

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int sendPush(dlmsSettings*, gxPushSetup*)':

server:1587:13: error: 'struct dlmsSettings' has no member named 'serializedPdu'

settings->serializedPdu = &pdu;

^~~~~~~~~~~~~

server:1592:3: error: 'mes_attach' was not declared in this scope

mes_attach(&messages, tmp, 1);

^~~~~~~~~~

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1592:3: note: suggested alternative: 'oa_attach'

mes_attach(&messages, tmp, 1);

^~~~~~~~~~

oa_attach

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'unsigned char svr_isTarget(dlmsSettings*, long unsigned int, long unsigned int)':

server:1910:7: error: 'gxSapAssignment' was not declared in this scope

gxSapAssignment* sap;

^~~~~~~~~~~~~~~

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1910:7: note: suggested alternative: 'addSapAssignment'

gxSapAssignment* sap;

^~~~~~~~~~~~~~~

addSapAssignment

server:1910:24: error: 'sap' was not declared in this scope

gxSapAssignment* sap;

^~~

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1910:24: note: suggested alternative: 'map'

gxSapAssignment* sap;

^~~

map

server:1914:9: error: 'gxSapItem' was not declared in this scope

gxSapItem* it;

^~~~~~~~~

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1914:9: note: suggested alternative: 'gxListItem'

gxSapItem* it;

^~~~~~~~~

gxListItem

server:1914:20: error: 'it' was not declared in this scope

gxSapItem* it;

^~

C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1914:20: note: suggested alternative: 'bit'

gxSapItem* it;

^~

bit

exit status 1

no 'void GXDLMSServer::setDefaultClock(gxClock*)' member function declared in class 'GXDLMSServer'

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Profile picture for user Kurumi

Kurumi

4 years 5 months ago

Hi,

Hi,

Have you copy include and src folders from development to
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server?

BR,
Mikko

benyamin.chesh…

4 years 5 months ago

yes im copy in server file

yes im copy in server file
client.ino and pushlistener.ino compiling good but server.ino not working not compling

Image
Profile picture for user Kurumi

Kurumi

4 years 5 months ago

Hi,

Hi,

Can you select "File" and "Preferences". What is your "Additional Boards Manager Urls:"? Can you paste it here?

BR,
Mikko

benyamin.chesh…

4 years 5 months ago

im using arduine mega2560

im using arduine mega2560

Image
Profile picture for user Kurumi

Kurumi

4 years 5 months ago

Hi,

Hi,

Get the latest version. GitHub version was ignored SAP assignment in ArduinoIgnore.h file.

BR,
Mikko

benyamin.chesh…

4 years 5 months ago

tnx for reply.

tnx for reply.

benyamin.chesh…

4 years 5 months ago

Hello

Hello
When I comment on this part
//Arduino server doesn't use malloc.
//#define DLMS_IGNORE_MALLOC
error compilling happen
Arduino: 1.8.15 (Windows 10), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingBlockCipherKey(dlmsVARIANT*)':

GXDLMSServer.cpp:202:3: error: 'GX_OCTET_STRING' was not declared in this scope

GX_OCTET_STRING(*value, settings.base.cipher.blockCipherKey, 16);

^~~~~~~~~~~~~~~

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:202:3: note: suggested alternative: 'SET_OCTET_STRING'

GX_OCTET_STRING(*value, settings.base.cipher.blockCipherKey, 16);

^~~~~~~~~~~~~~~

SET_OCTET_STRING

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingAuthenticationKey(dlmsVARIANT*)':

GXDLMSServer.cpp:207:3: error: 'GX_OCTET_STRING' was not declared in this scope

GX_OCTET_STRING(*value, settings.base.cipher.authenticationKey, 16);

^~~~~~~~~~~~~~~

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addAssociationHigh(short unsigned int)':

server:430:10: error: 'gxUser' does not name a type; did you mean 'gxKey'?

static gxUser USER_LIST[10] = { 0 };

^~~~~~

gxKey

In file included from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:

server:440:42: error: 'USER_LIST' was not declared in this scope

ARR_ATTACH(associationHigh.userList, USER_LIST, 0);

^

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'

#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))

^

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:440:42: note: suggested alternative: '_VA_LIST'

ARR_ATTACH(associationHigh.userList, USER_LIST, 0);

^

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'

#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))

^

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addAssociationHighGMac(short unsigned int)':

server:475:10: error: 'gxUser' does not name a type; did you mean 'gxKey'?

static gxUser USER_LIST[10] = { 0 };

^~~~~~

gxKey

In file included from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:

server:490:46: error: 'USER_LIST' was not declared in this scope

ARR_ATTACH(associationHighGMac.userList, USER_LIST, 0);

^

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'

#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))

^

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:207:3: note: suggested alternative: 'SET_OCTET_STRING'

GX_OCTET_STRING(*value, settings.base.cipher.authenticationKey, 16);

^~~~~~~~~~~~~~~

SET_OCTET_STRING

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingKek(dlmsVARIANT*)':

GXDLMSServer.cpp:212:3: error: 'GX_OCTET_STRING' was not declared in this scope

GX_OCTET_STRING(*value, settings.base.kek, 16);

^~~~~~~~~~~~~~~

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:490:46: note: suggested alternative: '_VA_LIST'

ARR_ATTACH(associationHighGMac.userList, USER_LIST, 0);

^

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'

#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))

^

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addSapAssignment(short unsigned int)':

server:560:66: error: 'struct gxByteBuffer' has no member named 'value'

sprintf((char*) meterData.sapAssignmentList.values[0].name.value, "%s%.13lu", FLAG_ID, meterData.SERIAL_NUMBER);

^~~~~

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addLogicalDeviceName()':

server:585:5: error: 'GX_OCTET_STRING' was not declared in this scope

GX_OCTET_STRING(ldn.value, meterData.LDN, sizeof(meterData.LDN));

^~~~~~~~~~~~~~~

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:585:5: note: suggested alternative: 'SET_OCTET_STRING'

GX_OCTET_STRING(ldn.value, meterData.LDN, sizeof(meterData.LDN));

^~~~~~~~~~~~~~~

SET_OCTET_STRING

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:212:3: note: suggested alternative: 'SET_OCTET_STRING'

GX_OCTET_STRING(*value, settings.base.kek, 16);

^~~~~~~~~~~~~~~

SET_OCTET_STRING

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int loadTargets(GXPushObjects*, gxTarget*, short unsigned int*)':

server:620:18: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

objects[pos].target = it;

^~~~~~

gxTarget

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int saveTargets(GXPushObjects*, gxTarget*, short unsigned int)':

server:633:64: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

memcpy(savedObjects->values[pos].logicalName, objects[pos].target->logicalName, 6);

^~~~~~

gxTarget

server:634:57: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

savedObjects->values[pos].objectType = objects[pos].target->objectType;

^~~~~~

gxTarget

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addLoadProfileProfileGeneric()':

server:837:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

CAPTURE_OBJECT[0].target = BASE(meterData.clock1);

^~~~~~

gxTarget

server:841:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

CAPTURE_OBJECT[1].target = BASE(activePowerL1);

^~~~~~

gxTarget

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addEventLogProfileGeneric()':

server:873:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

CAPTURE_OBJECT[0].target = BASE(meterData.clock1);

^~~~~~

gxTarget

server:877:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?

CAPTURE_OBJECT[1].target = BASE(eventCode);

^~~~~~

gxTarget

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int sendPush(dlmsSettings*, gxPushSetup*)':

server:1587:13: error: 'struct dlmsSettings' has no member named 'serializedPdu'

settings->serializedPdu = &pdu;

^~~~~~~~~~~~~

server:1592:3: error: 'mes_attach' was not declared in this scope

mes_attach(&messages, tmp, 1);

^~~~~~~~~~

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1592:3: note: suggested alternative: 'oa_attach'

mes_attach(&messages, tmp, 1);

^~~~~~~~~~

oa_attach

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'unsigned char svr_isTarget(dlmsSettings*, long unsigned int, long unsigned int)':

server:1922:94: error: too many arguments to function 'int arr_getByIndex(gxArray*, short unsigned int, void**)'

if (arr_getByIndex(&sap->sapAssignmentList, pos, (void**)&it, sizeof(gxSapItem)) == 0)

^

In file included from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,

from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:

C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:103:9: note: declared here

int arr_getByIndex(

^~~~~~~~~~~~~~

exit status 1

'GX_OCTET_STRING' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

benyamin.chesh…

4 years 5 months ago

I'm really confused

I'm really confused
I want to read the data of ten electricity meters, which example should I use?
client
server
push listener
Thank you very much for your help

Profile picture for user Kurumi

Kurumi

4 years 5 months ago

Hi,

Hi,

Use the client to read the meter. Server is used if you create the meter and Push listener is an example that handles push messages that the meter sends.
http://gurux.fi/Gurux.DLMS

I believe that the best way to start is if you download the GXDLMSDirector and read your meter with it. Then you have a better idea from DLMS meters and what they can do.

BR,
Mikko

benyamin.chesh…

4 years 5 months ago

im reading meter with dlms

im reading meter with dlms director .
im success reading data

Image
Profile picture for user Kurumi

Kurumi

4 years 5 months ago

Hi,

Hi,

Then there are no problems. Change client and server address, authentication level and set block and authentication keys and connect to the meter.

BR,
Mikko

benyamin.chesh…

4 years 5 months ago

Why is there a problem !!!

tnx

Profile picture for user Kurumi

Kurumi

4 years 5 months ago

Hi,

Hi,

First, make sure that you read the correct invocation counter. There might be several invocation counters.

The invocation counter should be possible to read without authentication. I know that there are a few meters that allow invocation counter read only with the authenticated connection.
That makes no sense because the password has to be sent between the client and the meter and it's a security risk. Some meters are also using the same static invocation counter value.

If your meter expects authenticated connection to read the invocation counter and invocation counter is increasing you can update com_updateInvocationCounter so you read it using the authenticated 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