I agree with Marie. I know it is frustrating, but many times I have to tell myself that he is not a robot but a little human being. All you can do is stay as consistent as you can and hope for the best, and try not to stress about it too much. We're all in the same boat, you have some good days, and then some not so good!
Don't worry you are not alone!