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. Clock Object Doesn't Set The Time

Clock object doesn't set the time

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 hhkx , 1 September, 2022
Forums
Gurux.DLMS

Hi,

I am trying to syncronize the clock object on a meter but getting an error.

My code:

_reader.AddToClientObject($"0.0.1.0.0.255", ObjectType.Clock);
_reader.GetScalersAndUnits();
result.AppendLine(_reader.GetReadOut());

Console.WriteLine("Date: " + result);

var reply = new GXReplyData();
GXDateTime newTime = new GXDateTime(DateTime.Now);

var clock = new GXDLMSClock($"0.0.1.0.0.255")
{
Time = newTime
};

_reader.ReadDataBlock(_settings.Client.Write(clock, 3), reply);
_reader.ReadDataBlock(_settings.Client.Write(clock, 2), reply);

Please see below: (attachment file)

Profile picture for user Kurumi

Kurumi

3 years 9 months ago

Hi,

Hi,

Please, don't add images. They are hard to read. Plain text is better.

Some meters expect that milliseconds or week day are not used and some expected that those are set.
Try to read the clock from the meter and then write it back.

Check with GXDLMSDirector that you have access right to the time attribute. You can see it by selecting the clock object and then selecting "Access rights" tab. There should be "Read, Write" on the Access column.

BR,
Mikko

hhkx

3 years 9 months ago

Hi Mikko,

Hi Mikko,

I will keep in mind to add plain text.

I tried with High Level Security. It seems successful but when I read again it shows me 01.01.0001. my code below: (please also have a look at manufacturer documentation at the very below)

_reader.AddToClientObject($"0.0.1.0.0.255", ObjectType.Clock);
_reader.GetScalersAndUnits();
result.AppendLine(_reader.GetReadOut());

Console.WriteLine("Date: " + result);

var reply = new GXReplyData();
GXDateTime newTime = new GXDateTime(DateTime.Now);

var clock = new GXDLMSClock($"0.0.1.0.0.255")
{
Time = newTime
};

result.AppendLine(_reader.ReadDataBlock(_settings.Client.Write(clock, 2), reply).ToString());
result.AppendLine(_reader.ReadDataBlock(_settings.Client.Write(clock, 3), reply).ToString());
result.AppendLine(_reader.ReadDataBlock(_settings.Client.Write(clock, 5), reply).ToString());
result.AppendLine(_reader.ReadDataBlock(_settings.Client.Write(clock, 6), reply).ToString());
result.AppendLine(_reader.ReadDataBlock(_settings.Client.Write(clock, 7), reply).ToString());
result.AppendLine(_reader.ReadDataBlock(_settings.Client.Write(clock, 8), reply).ToString());

Console.WriteLine(result);

My code output:

Send SNRM request.7E A0 07 03 03 93 8C 11 7E
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:03:26 7E A0 07 03 03 93 8C 11 7E
RX: 14:03:27 7E A0 20 03 03 73 F0 2E 81 80 14 05 02 02 00 06 02 00 00 07 04 00 00 00 01 08 04 00 00 00 01 BB 12 7E
Parsing UA reply.81 80 14 05 02 02 00 06 02 00 00 07 04 00 00 00 01 08 04 00 00 00 01
Parsing UA reply succeeded.
Send AARQ request 7E A0 4C 03 03 10 BD 71 E6 E6 00 60 3E A1 09 06 07 60 85 74 05 08 01 01 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 66 41 5F 6B 1C 44 2D 23 49 29 3C 5B 47 54 1C 4F BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF 79 AD 7E
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:03:27 7E A0 4C 03 03 10 BD 71 E6 E6 00 60 3E A1 09 06 07 60 85 74 05 08 01 01 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 66 41 5F 6B 1C 44 2D 23 49 29 3C 5B 47 54 1C 4F BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF 79 AD 7E
RX: 14:03:29 7E A0 58 03 03 30 F2 E1 E6 E7 00 61 4A A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 77 30 39 76 8B AF 92 02 71 6F F7 3B 63 96 E8 61 BE 10 04 0E 08 00 06 5F 1F 04 00 00 18 18 01 C2 00 07 E9 39 7E
Parsing AARE reply61 4A A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 77 30 39 76 8B AF 92 02 71 6F F7 3B 63 96 E8 61 BE 10 04 0E 08 00 06 5F 1F 04 00 00 18 18 01 C2 00 07
Parsing AARE reply succeeded.

Date: 1.0.0(01-01-01,00:00)(0)(Ok)(01-01-01,00:00)(01-01-01,00:00)(0)(False)

Info: Receive-Send Waiting Time: 30 sn.
TX: 14:05:12 7E A0 27 03 03 32 5C 2A E6 E6 00 C1 01 C1 00 08 00 00 01 00 00 FF 02 00 09 0C 07 E6 09 01 FF 0E 05 0C FF FF 4C 00 95 F2 7E
RX: 14:05:13 7E A0 07 03 03 87 29 47 7E

Info: Receive-Send Waiting Time: 30 sn.
TX: 14:05:13 7E A0 1C 03 03 54 8B A0 E6 E6 00 C1 01 C1 00 08 00 00 01 00 00 FF 03 00 10 00 00 A1 AB 7E
RX: 14:05:13 7E A0 07 03 03 87 29 47 7E

Info: Receive-Send Waiting Time: 30 sn.
TX: 14:05:13 7E A0 1B 03 03 76 BA F5 E6 E6 00 C1 01 C1 00 08 00 00 01 00 00 FF 05 00 09 00 DA 1D 7E
RX: 14:05:14 7E A0 07 03 03 87 29 47 7E

Info: Receive-Send Waiting Time: 30 sn.
TX: 14:05:14 7E A0 1B 03 03 98 CA FB E6 E6 00 C1 01 C1 00 08 00 00 01 00 00 FF 06 00 09 00 17 38 7E
RX: 14:05:15 7E A0 07 03 03 87 29 47 7E

Info: Receive-Send Waiting Time: 30 sn.
TX: 14:05:15 7E A0 1B 03 03 BA DA F9 E6 E6 00 C1 01 C1 00 08 00 00 01 00 00 FF 07 00 0F 00 7C 70 7E
RX: 14:05:16 7E A0 07 03 03 87 29 47 7E

Info: Receive-Send Waiting Time: 30 sn.
TX: 14:05:16 7E A0 1B 03 03 DC EA FF E6 E6 00 C1 01 C1 00 08 00 00 01 00 00 FF 08 00 03 00 25 6B 7E
RX: 14:05:17 7E A0 07 03 03 87 29 47 7E

Writing (clock, 2)
True

Writing (clock, 3)
True

Writing (clock, 5)
True

Writing (clock, 6)
True

Writing (clock, 7)
True

Writing (clock, 8)
True

Disconnecting from the meter.
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:05:17 7E A0 11 03 03 FE 54 21 E6 E6 00 62 03 80 01 00 BD 9B 7E
RX: 14:05:18 7E A0 07 03 03 87 29 47 7E

Info: Receive-Send Waiting Time: 30 sn.
TX: 14:05:18 7E A0 07 03 03 53 80 D7 7E
RX: 14:05:19 7E A0 07 03 03 1F E8 5F 7E

Manufacturer documentation shows below:

Send: 2F 3F 21 0D 0A
Receive: 2F 54 43 45 35 5C 32 54 43 45 31 32 0D 0A
Send: 06 32 35 32 0D 0A
Receive: 06 32 35 32 0D 0A
Send: 7E A0 07 03 03 93 8C 11 7E
Receive: 7E A0 20 03 03 73 F0 2E 81 80 14 05 02 01 F5 06 02 01 F5 07 04 00 00 00 01 08 04 00 00 00 01 6F 19 7E
Send: 7E A0 6F 03 03 10 23 DB E6 E6 00 60 61 80 02 07 80 A1 09 06 07 60 85 74 05 08 01 03 A6 0A 04 08 00 00 00 00 00 00 00 00 8A 02 07 80 8B 07 60 85 74 05 08 02 05 AC 12 80 10 C8 5E 09 75 0E 47 96 19 F5 F1 C5 A0 62 7A 45 58 BE 23 04 21 21 1F 30 00 00 00 00 02 88 DA CE 66 E9 BC 96 F3 28 BC A6 75 02 5C 0B C3 48 4E 60 3F 6E 56 4C DA 3F 89 A9 7E
Receive: 7E A0 77 03 03 30 58 DC E6 E7 00 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 45 44 4D 00 30 7D BF 68 88 02 07 80 89 07 60 85 74 05 08 02 05 AA 12 80 10 23 1E AF 6A 4F 99 53 F3 33 15 0C 03 A3 95 5A 52 BE 23 04 21 28 1F 30 00 00 00 00 07 AC 38 78 E3 FE D2 E1 D1 43 A5 D5 58 37 0F B1 C6 0D 93 41 53 36 8A 67 AB CB E1 36 7E
Send: 7E A0 3F 03 03 32 25 0C E6 E6 00 CB 31 30 00 00 00 02 12 16 A1 9B 7C 5D F6 84 68 3C 13 CA 96 0A 00 E9 71 9D 7C 72 0D DA 8A 7C D7 70 33 BA 6A 36 82 1D 66 2D 3F 04 79 61 DD 46 9D 6F F3 83 4E 61 7E
Receive: 7E A0 38 03 03 52 02 38 E6 E7 00 CF 2A 30 00 00 00 02 42 47 25 F8 18 07 21 2F C6 FA 6D 71 00 44 65 50 92 EC 40 84 86 DC 2A E9 67 9A F7 68 02 92 07 16 AA E3 E5 78 55 E8 65 7E
Write(SET) RTC {8,0-0:1.0.0.255,2} Start
Send: 7E A0 3A 03 03 54 42 64 E6 E6 00 C9 2C 30 00 00 00 03 42 89 B2 64 60 EF 77 B1 05 96 93 E8 8F B3 B4 F3 0E D7 73 A8 4E 76 F5 9D 48 A1 B2 F4 0E 0B 9F BE EC 42 B4 1A A9 E7 87 72 43 7E
Receive: 7E A0 23 03 03 74 82 7F E6 E7 00 CD 15 30 00 00 00 03 4E B1 5B 38 33 22 24 9E 9C 10 6C B4 8C 56 9A F7 91 06 7E
Write(SET) RTC {8,0-0:1.0.0.255,2} Success!
Write(SET) RTC {8,0-0:1.0.0.255,3} Start
Send: 7E A0 2F 03 03 76 A4 CB E6 E6 00 C9 21 30 00 00 00 04 DA 40 DC 70 FC 2C 1A 71 7B 59 E8 4F 55 65 FA 7B 00 D2 A6 DA 7F 7F 11 ED 4D 7A 40 70 18 F3 7E
Receive: 7E A0 23 03 03 96 9E BB E6 E7 00 CD 15 30 00 00 00 04 45 55 0D 26 02 B7 46 3F BC 0C EE 67 22 D7 4C 36 C4 DF 7E
Write(SET) RTC {8,0-0:1.0.0.255,3} Success!
Write(SET) RTC {8,0-0:1.0.0.255,5} Start
Send: 7E A0 3A 03 03 98 22 68 E6 E6 00 C9 2C 30 00 00 00 05 16 9C 32 A1 42 51 8E EA F3 4F DC E8 9D 67 DC 7D E7 72 5F 07 37 F9 7C DB BF 1F 5C A9 50 BD 2A 96 38 88 EB 2B 74 67 26 28 3C 7E
Receive: 7E A0 23 03 03 B8 E2 73 E6 E7 00 CD 15 30 00 00 00 05 68 A8 42 86 9C 4E AF 97 DB FD DD E4 D9 AE 85 80 67 1F 7E
Write(SET) RTC {8,0-0:1.0.0.255,5} Success!
Write(SET) RTC {8,0-0:1.0.0.255,6} Start
Send: 7E A0 3A 03 03 BA 32 6A E6 E6 00 C9 2C 30 00 00 00 06 03 50 39 9E 9B 70 40 F8 3C 4D 5E A0 E4 E2 E2 85 FD E2 73 30 2F 09 AE A7 2D A0 B7 1E 86 D7 A9 01 45 70 0C 74 60 42 4A A8 23 7E
Receive: 7E A0 23 03 03 DA F6 33 E6 E7 00 CD 15 30 00 00 00 06 64 2D 75 6D FE FB C1 37 E2 E7 77 E9 F9 84 61 E9 34 44 7E
Write(SET) RTC {8,0-0:1.0.0.255,6} Success!
Write(SET) RTC {8,0-0:1.0.0.255,7} Start
Send: 7E A0 2E 03 03 DC 4F DD E6 E6 00 C9 20 30 00 00 00 07 E8 5F C5 F2 3A C2 2D 30 1A 78 B7 25 62 A3 C1 57 28 E3 90 3B 13 B7 43 28 A1 2E 1E 89 34 7E
Receive: 7E A0 23 03 03 FC C2 77 E6 E7 00 CD 15 30 00 00 00 07 FE A7 B6 19 28 84 14 12 AF C0 EB 32 43 51 27 E7 AE 63 7E
Write(SET) RTC {8,0-0:1.0.0.255,7} Success!
Write(SET) RTC {8,0-0:1.0.0.255,8} Start
Send: 7E A0 2E 03 03 FE 5F DF E6 E6 00 C9 20 30 00 00 00 08 4A 21 B8 DB 77 D6 97 DB DE A2 E7 50 DF F8 AA 8A 19 0A BA C0 B9 15 B0 F7 19 8C 4B AB B1 7E
Receive: 7E A0 23 03 03 1E DE B3 E6 E7 00 CD 15 30 00 00 00 08 91 1F D7 13 ED 84 08 4C AE 63 AB 9D D2 E4 F5 A7 A9 02 7E
Write(SET) RTC {8,0-0:1.0.0.255,8} Success!
Send: 7E A0 07 03 03 53 80 D7 7E
Receive: 7E A0 20 03 03 73 F0 2E 81 80 14 05 02 01 F5 06 02 01 F5 07 04 00 00 00 01 08 04 00 00 00 01 6F 19 7E

Profile picture for user Kurumi

Kurumi

3 years 9 months ago

Hi,

Hi,

Manufacturer documentation is using the ciphered connection, so it doesn't help. Your meter is returning an invalid reply when you write the clock. As I told you before, read the time from the meter and then write it back.

BR,
Mikko

hhkx

3 years 9 months ago

Hi Mikko,

Hi Mikko,

Do you think I should use ciphering as manufacturer does? How can I so?

I tried reading clock and writing back the same value. Please find below log trace.

Send SNRM request.7E A0 07 03 03 93 8C 11 7E
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:42:24 7E A0 07 03 03 93 8C 11 7E
! Received byte count:34
Final! Received byte count:34
RX: 14:42:25 7E A0 20 03 03 73 F0 2E 81 80 14 05 02 02 00 06 02 00 00
07 04 00 00 00 01 08 04 00 00 00 01 BB 12 7E
Parsing UA reply.81 80 14 05 02 02 00 06 02 00 00 07 04 00 00 00 01 08 04 00 00
00 01
Parsing UA reply succeeded.
Send AARQ request 7E A0 4C 03 03 10 BD 71 E6 E6 00 60 3E A1 09 06 07 60 85 74 05
08 01 01 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 76 18 58 57 5B 52 6
7 56 21 5A 77 27 51 03 3C 0F BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF
FF D4 71 7E
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:42:25 7E A0 4C 03 03 10 BD 71 E6 E6 00 60 3E A1 09 06 07 60 85
74 05 08 01 01 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 76 18 58 57 5
B 52 67 56 21 5A 77 27 51 03 3C 0F BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E
5D FF FF D4 71 7E
! Received byte count:124
Final! Received byte count:124
RX: 14:42:26 7E A0 58 03 03 30 F2 E1 E6 E7 00 61 4A A1 09 06 07 60 85
74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 88 02 07 80 89 07 60 85 74 0
5 08 02 02 AA 12 80 10 B7 87 12 B2 6C A9 1F D1 A5 81 04 06 B6 BA 59 34 BE 10 04
0E 08 00 06 5F 1F 04 00 00 18 18 01 C2 00 07 40 D5 7E
Parsing AARE reply61 4A A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1
03 02 01 00 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 B7 87 12 B2 6C A
9 1F D1 A5 81 04 06 B6 BA 59 34 BE 10 04 0E 08 00 06 5F 1F 04 00 00 18 18 01 C2
00 07
Parsing AARE reply succeeded.

Read scalers and units from the device.
-------- Reading GXDLMSClock 0.0.1.0.0.255
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:42:33 7E A0 19 03 03 32 EC C8 E6 E6 00 C0 01 C1 00 08 00 00 01
00 00 FF 02 00 60 1A 7E
! Received byte count:133
Final! Received byte count:133
RX: 14:42:34 7E A0 07 03 03 87 29 47 7E
Index: 2 Value: 1.1.0001 02:00:00
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:42:34 7E A0 19 03 03 54 DC CE E6 E6 00 C0 01 C1 00 08 00 00 01
00 00 FF 03 00 B8 03 7E
! Received byte count:142
Final! Received byte count:142
RX: 14:42:35 7E A0 07 03 03 87 29 47 7E
Index: 3 Value: 0
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:42:35 7E A0 19 03 03 76 CC CC E6 E6 00 C0 01 C1 00 08 00 00 01
00 00 FF 04 00 B0 4E 7E
! Received byte count:151
Final! Received byte count:151
RX: 14:42:35 7E A0 07 03 03 87 29 47 7E
Index: 4 Value: Ok
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:42:35 7E A0 19 03 03 98 BC C2 E6 E6 00 C0 01 C1 00 08 00 00 01
00 00 FF 05 00 68 57 7E
! Received byte count:160
Final! Received byte count:160
RX: 14:42:36 7E A0 07 03 03 87 29 47 7E
Index: 5 Value: 1.1.0001 02:00:00
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:42:36 7E A0 19 03 03 BA AC C0 E6 E6 00 C0 01 C1 00 08 00 00 01
00 00 FF 06 00 00 7D 7E
! Received byte count:169
Final! Received byte count:169
RX: 14:42:37 7E A0 07 03 03 87 29 47 7E
Index: 6 Value: 1.1.0001 02:00:00
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:42:37 7E A0 19 03 03 DC 9C C6 E6 E6 00 C0 01 C1 00 08 00 00 01
00 00 FF 07 00 D8 64 7E
! Received byte count:178
Final! Received byte count:178
RX: 14:42:37 7E A0 07 03 03 87 29 47 7E
Index: 7 Value: 0
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:42:37 7E A0 19 03 03 FE 8C C4 E6 E6 00 C0 01 C1 00 08 00 00 01
00 00 FF 08 00 10 E7 7E
! Received byte count:187
Final! Received byte count:187
RX: 14:42:38 7E A0 07 03 03 87 29 47 7E
Index: 8 Value: False
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:42:38 7E A0 19 03 03 10 FC CA E6 E6 00 C0 01 C1 00 08 00 00 01
00 00 FF 09 00 C8 FE 7E
! Received byte count:187
TX: 14:43:08 7E A0 19 03 03 10 FC CA E6 E6 00 C0 01 C1 00 08 00 00 01
00 00 FF 09 00 C8 FE 7E
! Received byte count:187
TX: 14:43:38 7E A0 19 03 03 10 FC CA E6 E6 00 C0 01 C1 00 08 00 00 01
00 00 FF 09 00 C8 FE 7E
! Received byte count:187
Error! GXDLMSClock 0.0.1.0.0.255Index: 9 Failed to receive reply from the device
in given time.
System.Exception: Failed to receive reply from the device in given time.
at DLMSClient.DLMSReader.ReadDLMSPacket(Byte[] data, GXReplyData reply) in C:
\Repos\DLMSClient\DLMSReader.cs:line 199
at DLMSClient.DLMSReader.ReadDataBlock(Byte[] data, GXReplyData reply) in C:\
Repos\DLMSClient\DLMSReader.cs:line 104
at DLMSClient.DLMSReader.ReadDataBlock(Byte[][] data, GXReplyData reply) in C
:\Repos\DLMSClient\DLMSReader.cs:line 149
at DLMSClient.DLMSReader.Read(GXDLMSObject it, Int32 attributeIndex) in C:\Re
pos\DLMSClient\DLMSReader.cs:line 270
at DLMSClient.DLMSReader.GetReadOut() in C:\Repos\DLMSClient\DLMSReader.cs:li
ne 486

Date: 1.0.0(01-01-01,00:00)(0)(Ok)(01-01-01,00:00)(01-01-01,00:00)(0)(False)

Info: Receive-Send Waiting Time: 30 sn.
TX: 14:44:08 7E A0 27 03 03 32 5C 2A E6 E6 00 C1 01 C1 00 08 00 00 01
00 00 FF 02 00 09 0C 07 E6 09 01 FF 0E 2C 08 FF FF 4C 00 96 7F 7E
! Received byte count:196
Final! Received byte count:196
RX: 14:44:09 7E A0 07 03 03 87 29 47 7E
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:44:09 7E A0 1C 03 03 54 8B A0 E6 E6 00 C1 01 C1 00 08 00 00 01
00 00 FF 03 00 10 00 00 A1 AB 7E
! Received byte count:205
Final! Received byte count:205
RX: 14:44:10 7E A0 07 03 03 87 29 47 7E
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:44:10 7E A0 1B 03 03 76 BA F5 E6 E6 00 C1 01 C1 00 08 00 00 01
00 00 FF 05 00 09 00 DA 1D 7E
! Received byte count:214
Final! Received byte count:214
RX: 14:44:11 7E A0 07 03 03 87 29 47 7E
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:44:11 7E A0 1B 03 03 98 CA FB E6 E6 00 C1 01 C1 00 08 00 00 01
00 00 FF 06 00 09 00 17 38 7E
! Received byte count:223
Final! Received byte count:223
RX: 14:44:11 7E A0 07 03 03 87 29 47 7E
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:44:11 7E A0 1B 03 03 BA DA F9 E6 E6 00 C1 01 C1 00 08 00 00 01
00 00 FF 07 00 0F 00 7C 70 7E
! Received byte count:232
Final! Received byte count:232
RX: 14:44:12 7E A0 07 03 03 87 29 47 7E
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:44:12 7E A0 1B 03 03 DC EA FF E6 E6 00 C1 01 C1 00 08 00 00 01
00 00 FF 08 00 03 00 25 6B 7E
! Received byte count:241
Final! Received byte count:241
RX: 14:44:13 7E A0 07 03 03 87 29 47 7E
True
True
True
True
True
True

Disconnecting from the meter.
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:44:13 7E A0 11 03 03 FE 54 21 E6 E6 00 62 03 80 01 00 BD 9B 7E

! Received byte count:250
Final! Received byte count:250
RX: 14:44:13 7E A0 07 03 03 87 29 47 7E
Info: Receive-Send Waiting Time: 30 sn.
TX: 14:44:13 7E A0 07 03 03 53 80 D7 7E
! Received byte count:259
Final! Received byte count:259
RX: 14:44:14 7E A0 07 03 03 1F E8 5F 7E

Profile picture for user Kurumi

Kurumi

3 years 9 months ago

Hi Aaron,

Hi Aaron,

It might be that you need to write clock object using ciphering. I can't say anything from the manufacturer's example because I don't know the authentication and clock cipher keys.

Some meter manufacturers are using UTC data object for the time. Check if there is a UTC clock in data objects and if you can write the new data for that.

BR,
Mikko

hhkx

3 years 6 months ago

Hi Mikko,

Hi Mikko,

When I read then write the same object to the meter I don't get any error.

TX: 09:36:16 00 01 00 01 00 10 00 2E C9 2C 30 00 00 00 0B 2A 1B 39 56 0A 20 D7 B4 07 7F 48 43 DF 68 41 96 B8 46 D7 9B B4 8A 9F F9 0A BF 76 AD DF AE F9 92 54 80 BC 80 74 D2 8B
RX: 09:36:18 00 01 00 10 00 01 00 17 CD 15 30 00 00 00 0B C3 91 2E 6C 2B 0D 88 2B EF 77 72 EB D9 5B 03 4F

When I change the time after read the clock object, not succesful.

Security: AuthenticationEncryption
System title: 00 00 00 00 00 00 00 00
Authentication key: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block cipher key 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

var date = DateTime.Now;
clock.Time = new GXDateTime(date.Year,date.Month,date.Day,date.Hour,date.Minute,0,0);
result.AppendLine(_reader.ReadDataBlock(_settings.Client.Write(clock, 2), reply).ToString());

TX: 09:41:02 00 01 00 01 00 01 00 2E C9 2C 30 00 00 00 0B 2A 1B 39 56 0A 20 D7 B4 07 7F 48 43 DF 68 41 96 B8 46 D7 61 B4 87 8F 06 75 F3 76 D4 66 F1 4E BA EB B4 80 2B F2 06 4C
RX: 09:41:04 00 01 00 01 00 01 00 17 CD 15 30 00 00 00 0B C3 91 2E 6F D0 7A 17 F9 EC 02 12 B2 62 FE 35 59
Gurux.DLMS.GXDLMSException: Access Error : Device reports Read-Write denied.
at DLMSClient.GXDLMSReader.ReadDLMSPacket(Byte[] data, GXReplyData reply) in C:\Repos\DLMSClient\GXDLMSReader.cs:line 1398
at DLMSClient.GXDLMSReader.ReadDataBlock(Byte[] data, GXReplyData reply) in C:\Repos\DLMSClient\GXDLMSReader.cs:line 1432
at DLMSClient.GXDLMSReader.ReadDataBlock(Byte[][] data, GXReplyData reply) in C:\Repos\DLMSClient\GXDLMSReader.cs:line 1418
at DLMSClient.Program.Main(String[] args) in C:\Repos\DLMSClient\Program.cs:line 376

  • 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