Good morning everyone.
We are trying to read a certain number of Iskra devices from the field.
We already manged to read like 12 Iskra MT880 that are connected to the network through serial port (DLMS) and they are working properly.
2 of the devices are connected direcly with ethernet connection and looking from the official software we saw there is a "CONSERETH" flag enabled on it.
We saw there is already a topic on the consereth in this forum and apparently the consereth "protocol" can be summed up saying that it requires 3 HEX bytes before the payload of the DLMS request:
x03 x00 xa0
where x03 is a must and the last 2 are the big endian vesion of the lenght of the payload (len(payload) = 10 --> x00 x0A and so on).
We are using the python version of the library.
We decided to edit directly the final payload
In file:
\Gurux.DLMS.Python-master\Gurux.DLMS.Client.Example.python\GXDLMSReader.py
there is a function called: readDLMSPacket2
we modified if
def readDLMSPacket2(self, data, reply):
if not data:
return
data = b'\x03' + len(data).to_bytes(2, 'big') + data
notify = GXReplyData()
reply.error = 0
eop = 0x7E
#In network connection terminator is not used.
if self.client.interfaceType == InterfaceType.WRAPPER and isinstance(self.media, GXNet):
eop = None
aaaaaand BTW the final result is this one:
before = bytearray(b'~\xa0\x08\x02\x97#\x93.\xbe~')
after = bytearray(b'\x03\x00\n~\xa0\x08\x02\x97#\x93.\xbe~')
TX: 11:27:41 03 00 0A 7E A0 08 02 97 23 93 2E BE 7E
we also scanned with wireshark the payload sent to the device and this this is it.
Unfortunatly, we can't still get any answer from the meter.
At this point we are not sure if we are sending the message to the wrong address or if there is a different problem.
As you can see they are reading the device at address 1.1.17 (well, in the consereth documentation it is said that the default is always 17) but we can't still get any answer.
We tried also other addressing mode (serial devices are reachable on - last 2 digit of serial number + 144) but we still get timeout message.
Do you have any idea on what we may be getting wrong?
Thanks a lot,
Hi, This CONSERETH is…
Hi,
This CONSERETH is Iskraemeco's own custom solution and it's not defined on DLMS standard. I need to think about what to do with it.
BR,
Mikko
I had the possibility to use…
I had the possibility to use wireshark on the PC that is reading these meters right now.
These are the logs from wireshark.
https://file.io/LUyvfe17exq6
I see they have in the payload the same incipit (03 00 0a) and so on with respect to payload length.
I still don't get what i may be doing wrong.
Hi, Try to change those:…
Hi,
Try to change those:
Logical address: 1
Physical address: 17
Client address: 1
If those don't work try to set
MaxInfo: 154
The CONSERETH part looks correct.
BR,
Mikko
We found out the issue. The…
We found out the issue.
The address was not 17 but 145.
I really have no clou why the software shows 17 and the HEX had 145 as address, but still... 128 + 17.
An other non-standard setting in these meters....