i am receiving this response while reading meter using tcp/ip:Error reading DLMS packet: Destination addresses do not match. It is 17. It should be 16.
def handle_client(client_socket):
client = GXDLMSClient(True, 16, 1, Authentication.NONE, '', InterfaceType.WRAPPER)
try:
# Send SNRM request
print("Sending SNRM request...")
reply = GXReplyData()
data = client.snrmRequest()
if data:
client_socket.sendall(data)
time.sleep(1)
response = client_socket.recv(2048)
if not response:
print("No UA response received.")
return
print(f"Raw UA response: {response.hex()}")
ua_response = read_dlms_packet(client, response)
client.parseUAResponse(ua_response.data)
size = client.limits.maxInfoTX + 40
replyBuff = bytearray(size)
_________________________________
Server listening on port 9090
Connection from ('116.71.173.42', 35904)
Sending SNRM request...
Sending AARQ request...
Sending request and waiting for response...
Raw response: 0001000100110012dd1030303030303032383938303030303138
Reading DLMS packet...
Error reading DLMS packet: Destination addresses do not match. It is 17. It should be 16.
No AARE response received.
Hi, You have tried to…
Hi,
You have tried to connect without an authentication level where the client address is 16. The meter sends a reply where the client's address is 17. Check if you should connect with client address 17 from the meter documentation.
BR,
Mikko