By nick32, 1 February, 2023 Forums Gurux DLMS for Java Hi, I have connected to my meter with these credential: client address:17 server address: 1 and I got these permissions: ---------------------------- IsAuthenticationRequired: false ---------------------------- Proposed conformance: [GENERAL_PROTECTION, GET, SET, BLOCK_TRANSFER_WITH_ACTION, BLOCK_TRANSFER_WITH_SET_OR_WRITE, DELTA_VALUE_ENCODING, SELECTIVE_ACCESS, ACTION, MULTIPLE_REFERENCES, BLOCK_TRANSFER_WITH_GET_OR_READ, ACCESS] Negotiated conformance: [GET, SET, BLOCK_TRANSFER_WITH_SET_OR_WRITE, ACTION, SELECTIVE_ACCESS, MULTIPLE_REFERENCES, BLOCK_TRANSFER_WITH_GET_OR_READ] MaxReceivePDUSize: 243 ---------------------------- I understand that i am able to write the meter, isn't it? But, when I try to connect/disconnect the charge using the object GXDLMSDisconnectControl, I get this error: Exception in thread "main" gurux.dlms.GXDLMSException: Access Error : Device reports Read-Write denied. Do you have any idea why is it happen ? Hi, It might be that you can… Hi, It might be that you can't access the GXDLMSDisconnectControl with current client settings. Try to connect with GXDLMSDirector. Can you see the Disconnect Control in the object tree? Can you invoke it? BR, Mikko Hi Mikko, yes, I can seee de… Hi Mikko, yes, I can seee de disconnect control tree but I can not change the state of charge using GXDLMSDirector. I was able connect to the meter using manufacture software, and I just have Read-Write permission to the attribute ControlMode. Can you explain to me how it works ? Because, I use this code to connect the charge. GXDLMSDisconnectControl disconnectControl = new GXDLMSDisconnectControl(OBISObjectAddress.DISCONNECT_CONTROL); byte[][] write; disconnectControl.setControlState(ControlState.CONNECTED); replyData.clear(); write = client.write(disconnectControl, 4); readDataBlock(write, replyData); But, when I try to disconnect with this code, it does not work. GXDLMSDisconnectControl disconnectControl = new GXDLMSDisconnectControl(OBISObjectAddress.DISCONNECT_CONTROL); byte[][] write; disconnectControl.setControlState(ControlState.DISCONNECTED); replyData.clear(); write = client.write(disconnectControl, 4); Thank for your help. BR, Log in or register to post comments
Hi, It might be that you can… Hi, It might be that you can't access the GXDLMSDisconnectControl with current client settings. Try to connect with GXDLMSDirector. Can you see the Disconnect Control in the object tree? Can you invoke it? BR, Mikko
Hi Mikko, yes, I can seee de… Hi Mikko, yes, I can seee de disconnect control tree but I can not change the state of charge using GXDLMSDirector. I was able connect to the meter using manufacture software, and I just have Read-Write permission to the attribute ControlMode. Can you explain to me how it works ? Because, I use this code to connect the charge. GXDLMSDisconnectControl disconnectControl = new GXDLMSDisconnectControl(OBISObjectAddress.DISCONNECT_CONTROL); byte[][] write; disconnectControl.setControlState(ControlState.CONNECTED); replyData.clear(); write = client.write(disconnectControl, 4); readDataBlock(write, replyData); But, when I try to disconnect with this code, it does not work. GXDLMSDisconnectControl disconnectControl = new GXDLMSDisconnectControl(OBISObjectAddress.DISCONNECT_CONTROL); byte[][] write; disconnectControl.setControlState(ControlState.DISCONNECTED); replyData.clear(); write = client.write(disconnectControl, 4); Thank for your help. BR,
Hi, It might be that you can…
Hi,
It might be that you can't access the GXDLMSDisconnectControl with current client settings.
Try to connect with GXDLMSDirector. Can you see the Disconnect Control in the object tree? Can you invoke it?
BR,
Mikko
Hi Mikko, yes, I can seee de…
Hi Mikko,
yes, I can seee de disconnect control tree but I can not change the state of charge using GXDLMSDirector.
I was able connect to the meter using manufacture software, and I just have Read-Write permission to the attribute ControlMode.
Can you explain to me how it works ? Because, I use this code to connect the charge.
GXDLMSDisconnectControl disconnectControl = new GXDLMSDisconnectControl(OBISObjectAddress.DISCONNECT_CONTROL);
byte[][] write;
disconnectControl.setControlState(ControlState.CONNECTED);
replyData.clear();
write = client.write(disconnectControl, 4);
readDataBlock(write, replyData);
But, when I try to disconnect with this code, it does not work.
GXDLMSDisconnectControl disconnectControl = new GXDLMSDisconnectControl(OBISObjectAddress.DISCONNECT_CONTROL);
byte[][] write;
disconnectControl.setControlState(ControlState.DISCONNECTED);
replyData.clear();
write = client.write(disconnectControl, 4);
Thank for your help.
BR,