Skip to main content
Home
for DLMS smart meters

Main navigation

  • Home
  • Products
  • About us
  • Open Source
  • Community
  • Forum
  • Downloads
User account menu
  • Log in

Breadcrumb

  1. Home
  2. Arduino Meter On Arduino Mega Error Linking To GXDLMSDirector

Arduino meter on arduino mega error linking to GXDLMSDirector

By Note5, 16 September, 2025
Forums
DLMSDirector

Hi
Firstly thank you for this tool.
I have been going through the docs and I have managed to do the following:

1. Installed GXDLMSDirector to my windows pc
2. Managed to run the AMI server using docker
3. Compile and upload the arduino server (Meter simulator) to arduino mega without any issues

My challenge:

I tried to create a new device in GXDLMSDirector, set manufacturer as Gurux, media as serial. When I connect I get a prompt to read association view to see all objects but after clicking yes I get an error saying "GetObjects failed.Exception response "Service not allowed" - execption. Service not supported
What I am not doing correctly?

Profile picture for user Kurumi

Kurumi

2 months 2 weeks ago

Hi, You are not doing…

Hi,

You are not doing anything wrong. This has been working, but now with the new Android IDE versions, it fails with AVR devices (Uno, Nano, Mega). The reason is that Android now uses Int16 for enum values. Earlier Int32 was used.

This is now fixed and tests are started. The new version is released latest tomorrow.

BR,
Mikko

BR,
Mikko

Profile picture for user Kurumi

Kurumi

2 months 2 weeks ago

Hi, This is now fixed. Get…

Hi,
This is now fixed. Get the latest version from the development folder and update it on your server.

BR,
Mikko

Note5

2 months 2 weeks ago

Hi Kurumi, Thank you I can…

Hi Kurumi,
Thank you I can confirm this is now loading on GXDLMSDirector application, I have also saved the device and was able to add it to the AMI server. I see ESP32 builds, Can I also use esp32 since I can get internet access to it so that I can have the data showing on the AMI? How to go about this and is it possible to use sim800c to connect the arduino mega project to the AMI, I am particularly leaning towards this options where meter discovers the AMI server and I can still send commands to it after meter establishes communication periodically.
Please advise on this objective

Note5

2 months 2 weeks ago

Hi Kurumi, Thank you I can…

Hi Kurumi,
Thank you I can confirm this is now loading on GXDLMSDirector application, I have also saved the device and was able to add it to the AMI server. I see ESP32 builds, Can I also use esp32 since I can get internet access to it so that I can have the data showing on the AMI? How to go about this and is it possible to use sim800c to connect the arduino mega project to the AMI, I am particularly leaning towards this options where meter discovers the AMI server and I can still send commands to it after meter establishes communication periodically.
Please advise on this objective

Profile picture for user Kurumi

Kurumi

2 months 2 weeks ago

Hi, Yes, you can use ESP32,…

Hi,

Yes, you can use ESP32, but you need to make some changes to use TCP/IP connection.
Our customers do not use sim800c, but they have used other GSM modules.

BR,
Mikko

Note5

2 months 2 weeks ago

Thank you, I guess before I…

Thank you, I guess before I get to this point the first thing is to see how push works. Can I use the dotnet simulator to push data to the AMI server? I tried reading the autoconnect feature but I am having trouble knowing where and how to use it. I would like to understand and simulate meter with dynamic IP where meter connects to the AMI and how the AMI can then issue commands to the meter e.g setting time or relay control to connect or disconnect power. Please guide on how to achieve this with the tools you have already provided then I will go into the esp32 or GSM after know how it works.

Profile picture for user Kurumi

Kurumi

2 months 2 weeks ago

Hi, You don't need to set…

Hi,

You don't need to set auto-connect settings because the DLMS connection is not established when a push message is sent. You need to set the TCP/IP address and port to the Send destination and method and then read it when push message is send.

https://gurux.fi/Gurux.DLMS.Objects.GXDLMSPushSetup

BR,
Mikko

Note5

2 months 2 weeks ago

Please see my terminal PS F:…

Please see my terminal

PS F:\PROJECTS\HARDWARE\POWER\Gurux.DLMS.Net\Gurux.DLMS.Simulator.Net> bin/Release/net9.0/Gurux.DLMS.Simulator.Net -h 185.239.208.202 -p 8001 -c 1 -s 1 -a None -o crystal.xml -t Verbose
Standard: DLMS
Send SNRM request.7E A0 07 03 03 93 8C 11 7E
TX: 6:04:30 PM 7E A0 07 03 03 93 8C 11 7E
TX: 6:04:35 PM 7E A0 07 03 03 93 8C 11 7E
TX: 6:04:40 PM 7E A0 07 03 03 93 8C 11 7E
Disconnecting from the meter.
Failed to receive reply from the device in given time.

which is not working.I am using the crystal.xml device template

Profile picture for user Kurumi

Kurumi

2 months 2 weeks ago

Hi, Do you want to read the…

Hi,

Do you want to read the meter or start the simulator?
You try to read your meter to create a template.
If that is what you want to do, I believe that one of your settings is different that the meter expects.

You should read links below:
https://www.gurux.fi/Gurux.DLMS.Simulator
https://www.gurux.fi/Gurux.DLMS.Simulator.Templates

BR,
Mikko

Note5

2 months 2 weeks ago

I have managed to start the…

I have managed to start the simulator, I was wondering if i can also simulate push to the ami server. I used the crystal template and managed to add the simulated meter to the ami, is there a way to get the simulator to also send data to the ami? I current do not have a meter since I want to ensure it works before giving specifications to the meter manufacturer

Profile picture for user Kurumi

Kurumi

2 months 2 weeks ago

Hi, Did you add the push…

Hi,

Did you add the push setup object to the simulator template? Crystal template doesn't include push setup object.

After you have add push setup object, set the correct IP address and port number to the Send destination and method.

Then press Push button in GXDLMSDirector and push message is sent to the given IP address.

https://www.gurux.fi/Gurux.DLMS.Objects.GXDLMSPushSetup
BR,
Mikko

Note5

2 months 2 weeks ago

I tried adding but I seem …

I tried adding but I seem not to get the formatting of the xml right It would really be helpful to see an example of how to add push to the xml

Note5

2 months 2 weeks ago

My attempt <?xml version="1…

My attempt

<?xml version="1.0" encoding="utf-8"?>
<Objects>
<GXDLMSData>
<LN>0.0.42.0.0.255</LN>
<Description>Ch. 0 COSEM Logical device name</Description>
<Access>11</Access>
<Value Type="9" UIType="10">GRX</Value>
</GXDLMSData>
<GXDLMSData>
<LN>0.0.96.1.0.255</LN>
<Description>Ch. 0 Device ID 1, manufacturing number</Description>
<Access>11</Access>
<Value Type="9" UIType="10">AMI000001</Value>
</GXDLMSData>
<GXDLMSData>
<LN>0.0.43.1.2.255</LN>
<Description>Ch. 0 Invocation counter #2</Description>
<Access>11</Access>
<Value Type="6">1</Value>
</GXDLMSData>
<GXDLMSClock>
<LN>0.0.1.0.0.255</LN>
<Description>Ch. 0 Clock object #1</Description>
<Access>111111111</Access>
<MethodAccess>000000</MethodAccess>
<Time>06/24/2020 09:33:51</Time>
<TimeZone>-330</TimeZone>
<Begin>*/*/* *:*:*</Begin>
<End>*/*/* *:*:*</End>
<Deviation>60</Deviation>
<ClockBase>1</ClockBase>
</GXDLMSClock>
<GXDLMSPushSetup>
<LN>0.7.25.9.0.255</LN>
<Description>Push Setup Object for AMI Server</Description>
<Access>111111111</Access>
<MethodAccess>111111</MethodAccess>
<Service>1</Service>
<Destination>185.239.208.202:8001</Destination>
<Message>1</Message>
<PushObjectList>
<GXKeyValuePair>
<Key>
<ClassId>1</ClassId>
<LogicalName>0.0.42.0.0.255</LogicalName>
<AttributeIndex>2</AttributeIndex>
<DataIndex>0</DataIndex>
</Key>
<Value></Value>
</GXKeyValuePair>
<GXKeyValuePair>
<Key>
<ClassId>1</ClassId>
<LogicalName>0.0.96.1.0.255</LogicalName>
<AttributeIndex>2</AttributeIndex>
<DataIndex>0</DataIndex>
</Key>
<Value></Value>
</GXKeyValuePair>
<GXKeyValuePair>
<Key>
<ClassId>8</ClassId>
<LogicalName>0.0.1.0.0.255</LogicalName>
<AttributeIndex>2</AttributeIndex>
<DataIndex>0</DataIndex>
</Key>
<Value></Value>
</GXKeyValuePair>
</PushObjectList>
<CommunicationWindow>
<GXKeyValuePair>
<Key>
<Year>*</Year>
<Month>*</Month>
<Day>*</Day>
<Hour>*</Hour>
<Minute>*</Minute>
<Second>*</Second>
</Key>
<Value>
<Year>*</Year>
<Month>*</Month>
<Day>*</Day>
<Hour>*</Hour>
<Minute>*</Minute>
<Second>*</Second>
</Value>
</GXKeyValuePair>
</CommunicationWindow>
<RandomisationStartInterval>0</RandomisationStartInterval>
<NumberOfRetries>3</NumberOfRetries>
<RepetitionDelay>10</RepetitionDelay>
</GXDLMSPushSetup>
<GXDLMSAssociationLogicalName>
<LN>0.0.40.0.1.255</LN>
<Version>1</Version>
<Description>Ch. 0 Association #1</Description>
<Access>111111010</Access>
<MethodAccess>0000</MethodAccess>
<ObjectList>
<GXDLMSData>
<LN>0.0.42.0.0.255</LN>
<Access>11</Access>
</GXDLMSData>
<GXDLMSData>
<LN>0.0.96.1.0.255</LN>
<Access>11</Access>
</GXDLMSData>
<GXDLMSData>
<LN>0.0.43.1.2.255</LN>
<Access>11</Access>
</GXDLMSData>
<GXDLMSClock>
<LN>0.0.1.0.0.255</LN>
<Access>111111111</Access>
<MethodAccess>000000</MethodAccess>
</GXDLMSClock>
<GXDLMSPushSetup>
<LN>0.7.25.9.0.255</LN>
<Access>111111111</Access>
<MethodAccess>111111</MethodAccess>
</GXDLMSPushSetup>
</ObjectList>
<ClientSAP>16</ClientSAP>
<ServerSAP>1</ServerSAP>
<ApplicationContextName>
<JointIsoCtt>96</JointIsoCtt>
<Country>133</Country>
<CountryName>116</CountryName>
<IdentifiedOrganization>5</IdentifiedOrganization>
<DlmsUA>8</DlmsUA>
<ApplicationContext>1</ApplicationContext>
<ContextId>1</ContextId>
</ApplicationContextName>
<XDLMSContextInfo>
<Conformance>524288</Conformance>
<MaxReceivePduSize>832</MaxReceivePduSize>
<MaxSendPduSize>65535</MaxSendPduSize>
<DlmsVersionNumber>6</DlmsVersionNumber>
</XDLMSContextInfo>
<AuthenticationMechanismName>
<JointIsoCtt>96</JointIsoCtt>
<Country>133</Country>
<CountryName>116</CountryName>
<IdentifiedOrganization>5</IdentifiedOrganization>
<DlmsUA>8</DlmsUA>
<AuthenticationMechanismName>2</AuthenticationMechanismName>
</AuthenticationMechanismName>
<Secret>79 6F 75 72 70 61 73 73 77 6F 72 64</Secret>
<AssociationStatus>2</AssociationStatus>
<SecuritySetupReference>0.0.0.0.0.0</SecuritySetupReference>
<Users />
</GXDLMSAssociationLogicalName>
</Objects>

Profile picture for user Kurumi

Kurumi

2 months 2 weeks ago

Hi, Check this link and add…

Hi,

Check this link and add push setup object with GXDLMSDirector.

https://www.gurux.fi/Gurux.DLMS.Simulator.Templates

BR,

Mikko

Note5

2 months 2 weeks ago

terminal output PS F:…

terminal output
PS F:\PROJECTS\HARDWARE\POWER\Gurux.DLMS.Net\Gurux.DLMS.Simulator.Net> bin/Release/net9.0/Gurux.DLMS.Simulator.Net -p 4059 -x push_meter.xml -N 1 -t Verbose
DLMS HDLC Logical Name simulator start in Tcp ports 4059-4059.

I notice it does not include authentication details like the examples you provided

Note5

2 months 2 weeks ago

<?xml version="1.0" encoding…

[XML removed]

The above works but On dlms director the push button is disabled? also was is the default port to push data to the AMI4?

Profile picture for user Kurumi

Kurumi

2 months 1 week ago

Hi, You need to set the…

Hi,

You need to set the correct access rights when you are adding the push setup object.
You can set the push port port in AMI.

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Tue, 12/02/2025 - 10:21
    gurux.dlms.c 9.0.2512.0201
  • Mon, 12/01/2025 - 13:55
    Gurux.DLMS.Python 1.0.193
  • Thu, 11/13/2025 - 15:23
    Gurux.DLMS.Python 1.0.192
  • Thu, 11/13/2025 - 14:55
    gurux.dlms.java 4.0.84
  • Wed, 10/29/2025 - 08:51
    gurux.dlms.c 9.0.2510.2901

New forum topics

  • Incomplete Firmware Upgrade Process
  • SNRM byte mening
  • P384 Client Certificate incorrect issuer CN
  • Confirmed push service support
  • DLMS Stack hang during Firmware Upgrade
More
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin