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. Apator Otus-1

Apator otus-1

By ldywicki , 29 October, 2023
Forums
DLMSDirector

A while ago I bought an Apator OTUS-1 meter to play with IEC-62056. It turned out to be a bit different than expected since meter protocol is dlms/cosem and thus optical part is just beginning of joy.

Since meter is protected I asked manufacturer about readout procedure. I received bunch of values:
1) Authentication
2) Unicast
3) Broadcast
4) Master
5) Password

With information that authentication method is GLS_GMAC. I come across gurux software as I wanted to evaluate if above keys can be used to readout meter. Sadly I am not entirely sure where to put them since labeling is not 1:1. Additionally by reading other post about another Apator meter I found that password is not used for GLS_GMAC.

Can anyone point me where to place these? I used a optical head from orno which claims to be IEC-compatible. It is properly detected by operating system and COM port is visible to director.

Profile picture for user Kurumi

Kurumi

2 years 7 months ago

Hi, I believe that you…

Hi,

I believe that you should download GXDLMSDirector and play with it. Set correct serial port settings.
Try to connect first without authentication. Leave authentication to none and client address 0x16. If you receive a reply you will know that your settings are correct.
I don't know if your meter supports IEC mode E. Try to change HDLC interface to HdlcModeE if the meter doesn't reply.

BR,
Mikko

ldywicki

2 years 7 months ago

Thank you for tips, I've set…

Thank you for tips, I've set parameters as advised, yet either meter or optical head is not answering them. Since meter is certified I have no doubts it will work according to the specification. But as I am not familiar with protocols (yet), I am not entirely sure of behavior.
Should meter always answer for some of initial packets while connection is negotiated? If so, timeouts I see could indicate that problem source is optical head, and not meter itself (yet).

I've set client address to 22 (0x16h) and 16 (0x10h), none of these worked. I also tested hldc and hldc mode e.

Is there an optical head which is known to work properly with director?
Log entries I've got:
GXDLMSDirector 9.0.2308.1601
Log created 9:16:22 AM
09:16:42 Initializing serial connection.
9:16:43 AM Send SNRM request.
7E A0 07 03 45 93 3A 03 7E
09:16:48 Data send failed. Try to resend 1/3
09:16:53 Data send failed. Try to resend 2/3
9:16:58 AM Failed to receive reply from the device in given time.
09:16:58 Disconnect request
9:16:58 AM Send Disconnect request.
7E A0 07 03 45 53 36 C5 7E
09:17:03 Data send failed. Try to resend 1/3
09:17:08 Data send failed. Try to resend 2/3
9:17:13 AM Failed to receive reply from the device in given time.
System.TimeoutException: Failed to receive reply from the device in given time.
at GXDLMSDirector.GXDLMSCommunicator.ReadDLMSPacket(Byte[] data, Int32 tryCount, GXReplyData reply)
at GXDLMSDirector.GXDLMSCommunicator.ReadDataBlock(Byte[] data, String text, Int32 multiplier, Int32 tryCount, GXReplyData reply)
at GXDLMSDirector.GXDLMSCommunicator.InitializeConnection(Boolean force)
at GXDLMSDirector.GXDLMSDevice.InitializeConnection()
at GXDLMSDirector.MainForm.Connect(Object sender, GXAsyncWork work, Object[] parameters)

Image
Profile picture for user Kurumi

Kurumi

2 years 7 months ago

Hi, The meter should return…

Hi,

The meter should return an identification string with HdlcModeE if it's supported.
If you are not receiving any reply from the meter then the meter is probably using HDLC framing.

If one of the settings is different than the meter expects, the meter doesn't reply anything. This is the hardest part. You must know the correct settings.

Check first your server address from the meter documentation. It's usually one, but some meter manufacturers are using different values.

I noticed from the pic that you are using client address 0x22, but in your answer, you were saying that it should be 0x16. Check that.

When you have the correct client and server address the meter should reply at least an error.

BR,
Mikko

ldywicki

2 years 7 months ago

I did search for certificate…

I did search for certificate and found it: https://api.apator.com/uploads/oferta/opomiarowanie-ee/liczniki-energii…

Apparently meter works only in HDLC mode. Conformance statement indicates that there is one logical device "1".

WRT screenshot I did it at the end of tests (after 0x10, 0x16 etc.).
I am awaiting answer from orno (optical interface manufacturer) if there are any specific settings for serial port to apply.

Profile picture for user Kurumi

Kurumi

2 years 7 months ago

Hi, Let the server address…

Hi,

Let the server address be 1 and the authentication level none. Then change the client address to 0x10. Interface is HDLC.

Try to connect.

BR,
Mikko

ldywicki

2 years 7 months ago

After tunning of serial port…

After tunning of serial port params (19200@8N1) I began getting answers. Turns out that optical probe is fine, software and meter can exchange data. I'll keep tinkering with keys and see if I'll retrieve all obis codes.

Thank you very much for assistance Mikko!

Profile picture for user Kurumi

Kurumi

2 years 7 months ago

Hi, I'm glad that you solved…

Hi,

I'm glad that you solved this. I have to say that serial port settings are the main reason why communication with the meter fails. The bad thing is that there is no clear reason or error if the baud rate is wrong.

BR,
Mikko

ldywicki

2 years ago

Hello Kurumi, I am returning…

Hello Kurumi,
// EDIT - after restart GXDLMSDirector began to work as expected! All set. Thank you!

I am returning to my Apator as my curiosity was driver further. I've switched to java and made following parameters:

-S /dev/tty...:19200L8NONE1 -c 2 -a HighGMAC -C AuthenticationEncryption -T <apator password> -A <apator authentication> -B <apator unicast> -o otus-1-descriptor.xml -t verbose

Initially I thought that communication hangs, luckily trace output shows fairly long exchange of packets within handshake phase.

With above I've ended up with fairly long XML output (which I can't upload as attachement). Now, the interesting issue is, I can't get working options back to GXDLMSDirector. Obviously director does not have -o, but it does have additionally -w 1 -f 128 options. I believe they are harmless.
Error I get is "Object reference not set to an instance of an object", which seem to be low level error coming from differences between java and C# implementation.

This is the log I have:
18:26:34 06:26:34.410 Sent 7E A0 07 03 05 53 50 83 7E
18:26:34 06:26:34.433 Received 7E A0 1E 05 03 73 99 1A 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
6:26:34 PM
7E A0 1E 05 03 73 99 1A 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
<HDLC len="1D" >
<TargetAddress Value="2" />
<SourceAddress Value="1" />
<FrameType Value="73" />
<PDU>
<Ua>
<MaxInfoTX Value="128" />
<MaxInfoRX Value="128" />
<WindowSizeTX Value="1" />
<WindowSizeRX Value="1" />
</Ua>
</PDU>
</HDLC>

18:26:34 06:26:34.434 Info Closing
18:26:34 06:26:34.437 Info Closed
System.NullReferenceException: Object reference not set to an instance of an object.
at GXDLMSDirector.GXDLMSCommunicator.ReadDataBlock(Byte[][] data, String text, GXReplyData reply)
at GXDLMSDirector.GXDLMSCommunicator.InitializeConnection(Boolean force)
at GXDLMSDirector.GXDLMSDevice.InitializeConnection()
at GXDLMSDirector.MainForm.Connect(Object sender, GXAsyncWork work, Object[] parameters)

Director version is 9.0.2404.1801.

Profile picture for user Kurumi

Kurumi

2 years ago

Hi, Did you try to open…

Hi,

Did you try to open descriptor.xml with GXDLMSDirector? If you did, the XML content is different and it doesn't work.

Your NullReferenceException looks odd. Log that you did add looks correct.

You can skip -w 1 -f 128 options. You don't need them.

Let me know if this error is still occurring and let's try to solve what might cause it.

BR,
Mikko

ldywicki

2 years ago

Hello Kurumi, Error did not…

Hello Kurumi,
Error did not last. After shutdown and restart updated director did not report any issues. It was able to read out all meter. I presume it was some temporary issue/glitch coming from runtime update without restart or maybe some wrong parameter value which lasted.

mch35

9 months ago

Hi, where did you contact…

Hi, where did you contact the manufacturer to ask about authentication details?

  • 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
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin