<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def set_control_setpoint(self, setpoint, timeout=OTGW_DEFAULT_TIMEOUT):
 """ Manipulate the control setpoint being sent to the boiler. Set to 0 to pass along the value specified by the thermostat. Return the newly accepted value, or None on failure. This method is a coroutine """

        cmd = OTGW_CMD_CONTROL_SETPOINT
        status = {}
        ret = await self._wait_for_cmd(cmd, setpoint, timeout)
        if ret is None:
            return
        ret = float(ret)
        status[DATA_CONTROL_SETPOINT] = ret
        self._update_status(status)
        return ret