finally found the problem with the adressing
wrong   : addr  =  static_cast<uint16_t>(recvBuffer[1]) << 8  + recvBuffer[2];
correct : addr  = (static_cast<uint16_t>(recvBuffer[1]) << 8) + recvBuffer[2];