Using the Python library, when reading a ProfileGeneric object that contains regular GXDLMSRegister or GXDLMSDemandRegister objects, the scalers are applied to the values correctly. But scalers are not applied on GXDLMSExtendedRegister objects, leading to incorrect values being returned for any extended registers.
I've tested a simple fix locally, which seems to address this. On this line: https://github.com/Gurux/Gurux.DLMS.Python/blob/master/Gurux.DLMS.pytho… the test
isinstance(item[0], GXDLMSRegister)
needs to be extended to
isinstance(item[0], GXDLMSRegister | GXDLMSExtendedRegister)
(with a corresponding import statement "from .GXDLMSExtendedRegister import GXDLMSExtendedRegister" at the top of the module)
Would you be open to incorporating this update in the library? Or is there a reason due to which the current behavior is preferable?
Thank you for your consideration!
Svet
Hi Svet, The…
Hi Svet,
The GXDLMSExtendedRegister should be derived from GXDLMSRegister, but now it's derived from GXDLMSObject and this is a bug. Thank you for pointing this out.
This is fixed for the version 1.0.159.
BR,
Mikko