Hi, Mikko.
In my mind, in readRowsByRange method is the mistake: instead restricting_object, inserted sortObject. In DLMS restricting_object and sort_object both is the capture_object_ definition, but not everytime they are equal. sort_object definition is the sort ordering of server buffer, in time restricting_object is the limiter of client method.
The restricting object usually is a sort object, but you are right.
It's possible that the meter is using another object to restricting than sort object.
The reason why sort object is used is simply that usually sort object is restricting object and we wanted to make it easier to read data from the meter.
Ok, Mikko, it is good decision. However, small mistake in GXDLMSClient, method readRowsByRange, transmite capture_object_definition struct:
_GXCommon.setData(self.settings, buff, DataType.UINT16, sort.objectType)
_GXCommon.setData(self.settings, buff, DataType.OCTET_STRING, _GXCommon.logicalNameToBytes(sort.logicalName))
_GXCommon.setData(self.settings, buff, DataType.INT8, 2)
_GXCommon.setData(self.settings, buff, DataType.UINT16, sort.version).
In last string need transmite data_index instead sort.version or 0 in your case
Hi,
Hi,
The restricting object usually is a sort object, but you are right.
It's possible that the meter is using another object to restricting than sort object.
The reason why sort object is used is simply that usually sort object is restricting object and we wanted to make it easier to read data from the meter.
BR,
Mikko
Ok, Mikko, it is good
Ok, Mikko, it is good decision. However, small mistake in GXDLMSClient, method readRowsByRange, transmite capture_object_definition struct:
_GXCommon.setData(self.settings, buff, DataType.UINT16, sort.objectType)
_GXCommon.setData(self.settings, buff, DataType.OCTET_STRING, _GXCommon.logicalNameToBytes(sort.logicalName))
_GXCommon.setData(self.settings, buff, DataType.INT8, 2)
_GXCommon.setData(self.settings, buff, DataType.UINT16, sort.version).
In last string need transmite data_index instead sort.version or 0 in your case
Hi,
Hi,
You are right. We'll fix that for the next release.
BR,
Mikko