I'm using Gurux.Cpp to write HES, connecting to meters using LLS auth to Holley Ltd. meters and faced with corrupted buffer problem when receiving Profile Generic(Daily Billing). Processing with over 900 meters.
1. Buffer size less than should be
Buffer:
000100010011017ac402c100000000010082016e0181f10216090c07e7081c010a2500fffed4000600000000060000006406000000000600000000060000000006000000000600000064060000000006000000000600000000060000000006000000000600000000060000000006000000000600000000060000000006000100000600000000060000000006000000000216090c07e7091a020b151ffffed4000600000000060000006406000000000600000000060000000006000000000600000064060000000006000000000600000000060000000006000000000600000000060000000006000000000600000000060000000006000000080600008000060000020006000000000216090c07e7091b03000000fffed4020600002000060000402510080000060000000506800000030602000000260000012806000000030600000000060000000006000000000600800000060800000086000000000600000001060000100206000000010600040000064000000306000000000600000000
there is buffer size is 0x017a => 378 but actual size of buffer is 377 as a result error while parsing result
2. Corrupted buffer
000100010011017bc402c100000000010082016f018201000216090c07e7090a07000000fffed40006000700000600057d4206000000dc06000010220600000215060000d8b706000487c30600001c1106000000b506000000000600000004060000003f060000009806000000e806000005ff060000028d06000006ad060000002106000001b9060000003806000000010216090c07e7090b01000000fffed4000600070000060005976d06000000e3060000107c060000021c060000de8e0600049b870600001ca206000000b5060000000006000000040600000042060000009d06000000ea060000060506000002a406000006e8060000002106000001be060000003a06000000010216090c07e7090c02000000fffed4000600070000060005ba790e000000eb0600001115060000022b060000e45c060004b8760600001cf006000000b506000000000600000004060000004406000000a206000000f5060000064106000002bc0600000722060000002306000001cb060000003b0600000001
there is invalid data type on third value of third date
07e7090c02000000fffed4000600070000060005ba790e000000eb0600001115060000022b060000e45c060004b8760600001cf006000000b506000000000600000004060000004406000000a206000000f5060000064106000002bc0600000722060000002306000001cb060000003b0600000001
0e instead of 06
The worse problem is, if corruption in value coz it's uncatchable
What is the problem. Can someone help with it?
.
Can it depend on load?
Hi, There are 256 rows. Try…
Hi,
There are 256 rows. Try to read only a few rows at a time. I believe it will solve the meter issue. You can try to use Read by range or read by entry methods.
https://www.gurux.fi/Gurux.DLMS.Objects.GXDLMSProfileGeneric
BR,
Mikko
I faced with the same…
I encountered the same issue when attempting to retrieve the last day (using read by range). Can HLS address this problem, or does the corruption stem from the meter?
Hi, Ask the vendor of the…
Hi,
Ask the vendor of the meter if there is a firmware update available that will fix this issue.
You can also try to read rows by entry if it would solve this problem, but that is just an attempt to solve the meter problem. Try to ask as few rows as possible from the meter.
BR,
Mikko
I tried to read 7th…
Hi Kurumi,
Thanks for answers
I tried to read 7th attribute of 0.0.98.2.0.255 to get index for reading by row and got corruption on a such short message at client address(( (got 01 11) instead of (00 11)
I have no way to directly contact to vendor
Hi, Can you read for example…
Hi,
Can you read for example the first row? The buffer is one-based.
Try to set the index and count to one.
BR,
Mikko
000100010011007fc401c1000101…
Hi Kurumi,
There is type error 26 instead of 06
000100010011007fc401c10001010216090c07e8060a01000000fffed400060200040006000207430680000010060200048d26000004a60600003805060001c4080600000a3f06000000f5060000000106000000000600000007060000000706000000380600000004060000014e060000030006000000ac06000003a40600000046060000000d
I received message from meter using index
Hi, There should be 22…
Hi,
There should be 22 columns. Everrything lese is correct, but the type 26 is invalid. You need to ask the meter manufacturer if there is a firmware update available. If datatype 26 is changed to 06 this can be parsed.
<!-- 6/10/2024 12:00:00 AM+05:00 -->
<OctetString Value="07E8060A01000000FFFED400" />
<UInt32 Value="02000400" />
<UInt32 Value="00020743" />
<UInt32 Value="80000010" />
<UInt32 Value="0200048D" />
<UInt32 Value="000004A6" />
<UInt32 Value="00003805" />
<UInt32 Value="0001C408" />
<UInt32 Value="00000A3F" />
<UInt32 Value="000000F5" />
<UInt32 Value="00000001" />
<UInt32 Value="00000000" />
<UInt32 Value="00000007" />
<UInt32 Value="00000007" />
<UInt32 Value="00000038" />
<UInt32 Value="00000004" />
<UInt32 Value="0000014E" />
<UInt32 Value="00000300" />
<UInt32 Value="000000AC" />
<UInt32 Value="000003A4" />
<UInt32 Value="00000046" />
<UInt32 Value="0000000D" />
BR,
Mikko