Two things. First, the last argument to binopdf should be the fitted probability, not the fitted counts. Second, the deviance is defined with respect to a "full" model that has a separate fitted value for every observation. So -dev/2 reproduces this value:
sum(log(binopdf(y,n,yfit./n))) - sum(log(binopdf(y,n,y./n)))
If you need the log likelihood value, your way of computing it is fine, once you correct the binopdf input.