We trying to read DLMS meters.
We can successfully connect and create association views. We are now trying to read the values of the GXDLMSObject's but we are not able to identify the reading value in the reply object when doing a Read as per the example below:
Read attribute value.public object Read(GXDLMSObject it,int attributeIndex)
{
GXReplyData reply = new GXReplyData();
ReadDataBlock(Client.Read(it.Name, it.ObjectType, attributeIndex), reply);
return Client.UpdateValue(it, attributeIndex, reply.Value);
}
We are trying to Read OBIS Code: 1.1.32.7.0.255 Ch. 1 - L1 Voltage Inst. value
And receiving this reply object when sterilized to JSon:
{"DataType":9,"Value":"AQEgBwD/","ReadPosition":8,"PacketLength":23,"RawPdu":false,"Command":196,"CipheredCommand":0,"Data":{"Capacity":12,"Position":0,"Size":8,"Available":8,"Data":"CQYBASAHAP8gBwD/"},"IsComplete":true,"FrameId":82,"InvokeId":193,"Error":0,"EmptyResponses":0,"TotalCount":0,"CipherIndex":0,"Time":"0001-01-01T00:00:00","BlockNumber":0,"BlockNumberAck":0,"ClientAddress":18,"TargetAddress":18,"ServerAddress":16,"SourceAddress":16,"Gateway":null,"IsMoreData":false,"IsNotify":false,"MoreData":0,"ErrorMessage":"","Count":0,"Peek":false}
Is the OctetString the meter reading and how do we translate the value?
If its not the reading where / how do we get it?
Please could you help with some insight.
Regards
Gavin
You have read the logical name of the object. It's in attribute index #1. Try to read index #2.
Try to read the meter with GXDLMSDirector first. It will help you to get an idea from DLMS meters.
Hi,
Hi,
You have read the logical name of the object. It's in attribute index #1. Try to read index #2.
Try to read the meter with GXDLMSDirector first. It will help you to get an idea from DLMS meters.
BR,
Mikko
Thanks Mikko, we knew we
Thanks Mikko, we knew we where missing something small.
Gavin