Skip to main content
Home
for DLMS smart meters
Open source solutions for DLMS smart metering

Main navigation

  • Home
  • Products
  • About us
  • Open Source
  • Community
  • Forum
  • Downloads
User account menu
  • Log in

Breadcrumb

  1. Home
  2. Handling DLMS_ACTION_REQUEST_TYPE_NORMAL For Multiple Blocks

Handling DLMS_ACTION_REQUEST_TYPE_NORMAL for multiple blocks

By bushidik , 13 June, 2024
Forums
Gurux.DLMS

Hello!

I'm using CPP lib for server implementation.
Recently i've found out that if method action request from client contains response, which doesn't fit to the PDU buffer size (~1024) the "MethodRequestNormal" function doesn't create server->m_Transaction = new CGXDLMSLongTransaction object, which will contain remaining data buffer. So I do it myself in the code for MethodRequestNormal:

CGXDLMSLNParameters p(&settings, invokeId, DLMS_COMMAND_METHOD_RESPONSE, 1, NULL, &bb, error, cipheredCommand);
ret = CGXDLMS::GetLNPdu(p, *replyData);

// MY PART
CGXDLMSValueEventCollection arr;
if (bb.GetSize() != bb.GetPosition())
{
if (server->m_Transaction != NULL)
{
delete server->m_Transaction;
server->m_Transaction = NULL;
}
server->m_Transaction = new CGXDLMSLongTransaction(arr, DLMS_COMMAND_METHOD_REQUEST, bb);
}

But I'm not sure, that everything will be working correctly

Please help me with this

Best regards!

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Tue, 06/09/2026 - 11:16
    gurux.dlms.java 4.0.95
  • Tue, 06/09/2026 - 10:03
    Gurux.DLMS.Python 1.0.199
  • Mon, 06/08/2026 - 13:39
    gurux.dlms.cpp 9.0.2606.0801
  • Mon, 06/01/2026 - 10:15
    gurux.dlms.cpp 9.0.2606.0101
  • Thu, 05/28/2026 - 16:06
    gurux.dlms.java 4.0.94

New forum topics

  • Error reading L&G Meter
  • Pass a TCP Client to GXNet
  • Australian EDMI Mk10D (Essential Energy area)
  • Strange mix of data notificiation vs get response
  • DLMS Connection
More
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin