def putResourceValue(self,ep,res,data,cbfn=""):
		"""
		Put a value to a resource on an endpoint
		
		:param str ep: name of endpoint
		:param str res: name of resource
		:param str data: data to send via PUT
		:param fnptr cbfn: Optional - callback funtion to call when operation is completed
		:return: successful ``.status_code`` / ``.is_done``. Check the ``.error``
		:rtype: asyncResult
		"""
		result = asyncResult(callback=cbfn)
		result.endpoint = ep
		result.resource = res
		data = self._putURL("/endpoints/"+ep+res,payload=data)
		if data.status_code == 200: #immediate success
			result.error = False
			result.is_done = True
		elif data.status_code == 202:
			self.database['async-responses'][json.loads(data.content)["async-response-id"]]= result
		else:
			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