Get value of a specific resource on a specific endpoint.
		
		:param str ep: name of endpoint
		:param str res: name of resource
		:param fnptr cbfn: Optional - callback function to be called on completion
		:param bool noResp: Optional - specify no response necessary from endpoint
		:param bool cacheOnly: Optional - get results from cache on connector, do not wake up endpoint
		:return: value of the resource, usually a string
		:rtype: asyncResult

def getResourceValue(self,ep,res,cbfn="",noResp=False,cacheOnly=False):
		"""
		Get value of a specific resource on a specific endpoint.
		
		:param str ep: name of endpoint
		:param str res: name of resource
		:param fnptr cbfn: Optional - callback function to be called on completion
		:param bool noResp: Optional - specify no response necessary from endpoint
		:param bool cacheOnly: Optional - get results from cache on connector, do not wake up endpoint
		:return: value of the resource, usually a string
		:rtype: asyncResult
		"""
		q = {}
		result = asyncResult(callback=cbfn) #set callback fn for use in async handler
		result.endpoint = ep
		result.resource = res
		if noResp or cacheOnly:
			q['noResp'] = 'true' if noResp == True else 'false'
			q['cacheOnly'] = 'true' if cacheOnly == True else 'false'
		# make query
		data = self._getURL("/endpoints/"+ep+res, query=q)
		result.fill(data)
		if data.status_code == 200: # immediate success
			result.error = False
			result.is_done = True
			if cbfn:
				cbfn(result)
			return result
		elif data.status_code == 202:
			self.database['async-responses'][json.loads(data.content)["async-response-id"]]= result
		else: # fail
			result.error = response_codes("resource",data.status_code)
			result.is_done = True
		result.raw_data = data.content
		result.status_code = data.status_code
		return result