I honestly was trying to write a blog post about this last night and just couldn't sustain the mental effort required to make a good job of it. So I stopped and will take a run on it another day. That is, ironically, one of my tips.
Design your business to have smaller batch sizes. If, for example, you typically ship software every 2 work-weeks (~80 hours), you might take two months of work on your current schedule between shipping events. That can feel like staring out to the horizon and still not seeing the finish line -- it is depressing. Instead, if you were making visible progress every single night you sat down, then you'd be happier and might find that you have much larger reserves of energy.
Relatedly: cut scope, cut scope, cut scope. The less you need to write, the less you need to test and the less you need to maintain. Every line of code you write is an implicit claim on your time every day from here to eternity, ensuring that that code doesn't break. Try to write as few time-debts into your life as possible.
Process and systems: time invested in making yourself more efficient is some of the best time you'll ever spend. Systems which work without your personal intervention -- for example, any sort of self-help option for customers that resolves a common support issue, or automation of recurring tasks like backups, etc -- are worth their weight in gold. Formalized processes which turn "Sit down at the computer for an hour and bang out something that might or might not work" into "Follow the freaking checklist and have something which absolutely will not break in 27 minutes" save you time and sanity. (If you think you're tired now, wait until the system goes down at 3 AM and you have work in 4 hours.)
Mix tasks which require your personal attention with those which require calendar time, so that you can fire one of the longer tasks off, go away for a week (Saturday through Saturday), and then come back and see what happened. A/B tests work great for this. So does certain flavors working with freelancers, if you're working with the right ones and have a habit of giving them sufficient direction in advance. (Hold on to anybody who can work without constant direction -- they're worth their weight in gold.)
I have found that exercise, church, and social activities are all net-positives in terms of the amount of work I can get done, simply because feeling like I'm actually living tends to improve my physical and mental energy levels. By comparison, TV/games are generally a net negative. Adjust appropriately for things which matter to you.
If you want to work, and you feel like you can't work, try doing another flavor of task. Planning on programming but can't? Go work on e.g. marketing or drafting the newsletter or what have you. If you still can't work, clock out. There is no profit in throwing good time after bad, and your systems will still be around tomorrow.