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?
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
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
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
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
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
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.
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
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
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
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
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
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
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>
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
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
<?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?
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