Hello Mikko,
after solving case "AssociationLN access rights mismatch." in GXDLMSDirector 9.0.2302.108 (thank You very much!), reading of user list results in window with conversion error.
In my oppinion the sent data are OK.
To avoid block transfer I resized user list to one item {100, {'u','s','r','\0'}}.
This is the log from Director:
"
9:03:12 Read object type AssociationLogicalName index: 10
7E A0 35 03 03 54 BB D6 E6 E6 00 DB 08 53 41 43 53 41 43 53 41 1E 30 00 00 00 29 CC AC E3 98 41 AA 4A 51 22 AB D0 EF D7 09 1E 7D 61 42 7C 15 59 F5 35 62 B2 EE AD 7E
9:03:12
7E A0 38 03 03 74 36 7C E6 E7 00 DB 08 87 15 01 00 50 46 22 00 21 30 00 00 00 28 27 CD E4 91 D3 A9 F5 7C 79 EF FD AB BE 4C 9B EC BB 5F 58 5F 10 FB D4 61 DB E8 8D 34 24 CB 7E
Duration: 75
System.InvalidCastException: Objekt typu System.String nelze přetypovat na typ System.Byte[].
v Gurux.DLMS.Objects.GXDLMSAssociationLogicalName.Gurux.DLMS.Objects.IGXDLMSBase.SetValue(GXDLMSSettings settings, ValueEventArgs e)
v Gurux.DLMS.GXDLMSClient.UpdateValue(GXDLMSObject target, Int32 attributeIndex, Object value, List`1 columns)
v Gurux.DLMS.GXDLMSClient.UpdateValue(GXDLMSObject target, Int32 attributeIndex, Object value)
v GXDLMSDirector.GXDLMSCommunicator.Read(Object sender, GXDLMSObject obj, Boolean forceRead)
v GXDLMSDirector.MainForm.Read(Object sender, GXAsyncWork work, Object[] parameters)
"
This is meter response decoded by DLMS Translator:
"
<!-- UNI/TS system title:
Manufacturer: ELG
Serial number: 002246500001
-->
<!-- Invocation Counter: 40 -->
<!-- Decrypt data: C4 01 C1 00 01 01 02 02 11 64 0A 04 75 73 72 00
<GetResponse>
<GetResponseNormal>
# Priority: High, ServiceClass: Confirmed, Invoke ID: 1
<InvokeIdAndPriority Value="C1" />
<Result>
<Data>
<Array Qty="01" >
<Structure Qty="02" >
<UInt8 Value="64" />
<String Value="usr" />
</Structure>
</Array>
</Data>
</Result>
</GetResponseNormal>
</GetResponse>
-->
"
The System.InvalidCastException in english is "Object type System.String cannot be converted to type System.Byte[]".
There is a bug on the C# DLMS library. It expects that the data is octet-string, when DLMS standard says it's the visible-string. I checked this and other programming languages are handling it correctly.
This is now fixed for the Gurux.DLMS.Net component and the new version from the GXDLMSDirector is released on Monday.
Hi Ondrej, There is a bug on…
Hi Ondrej,
There is a bug on the C# DLMS library. It expects that the data is octet-string, when DLMS standard says it's the visible-string. I checked this and other programming languages are handling it correctly.
This is now fixed for the Gurux.DLMS.Net component and the new version from the GXDLMSDirector is released on Monday.
BR,
Mikko
Hello Mikko, thank You, with…
Hello Mikko,
thank You, with version 9.0.2302.601 it works fine.
Best Regards
Ondrej