Hello.
How can i change password using GXDLMSAssociationLogicalName? I understand that there are 2 options. The first way is to change the Secret property and write a new value, and the second is to use the UpdateSecret(GXDLMSClient client) method. I have a question about the second method. The input argument is GXDLMSClient client. Do I need to use the current instance of the client with the changed Password property as an argument, or a new one? Or can you show me example how to change password if I am wrong?
Write is used when you update Low-level password and Method (action) is used to update High-level password.
UpdateSecret checks this automatically. You need to use the current instance from GXDLMSClient. to update the password.
Update Secret (password) property for the GXDLMSAssociationLogicalName and call UpdateSecret. It will update the password for the current association automatically.
Hi,
Hi,
Write is used when you update Low-level password and Method (action) is used to update High-level password.
UpdateSecret checks this automatically. You need to use the current instance from GXDLMSClient. to update the password.
Update Secret (password) property for the GXDLMSAssociationLogicalName and call UpdateSecret. It will update the password for the current association automatically.
BR,
Mikko
I used this code:
I used this code:
var assoc = new GXDLMSAssociationLogicalName("0.0.40.0.0.255");
assoc.Secret = Encoding.ASCII.GetBytes("TestPassword");
assoc.AuthenticationMechanismName.MechanismId = Gurux.DLMS.Enums.Authentication.High;
assoc.UpdateSecret(_spodes.Client);
The password has not changed. Maybe I missed something? There were no exceptions either.
Hi,
Hi,
UpdateSecret generates only the bytes. You need to send them.
BR,
Mikko
Yes, forgot about it)
Yes, forgot about it)
Am i understand correctly that UpdateSecret will generate bytes which call method with index 2 in the device?