I want my android phone to boot up (I expect from a low energy state rather than off) automatically, run my app for a while, shutdown (ie return to low energy state) and repeat at intervals, say an hour. Is there a good way to do this?
The only "low energy states" I know Android uses is having certain components disabled (e.g. switched off WiFi, Bluetooth, NFC, whatever, plus dimmed the screen, etc.) – so we certainly cannot speak from "boot up".
On that condition, there are many apps available for Android which could be used. You've already put the automation tag to your question. Following up its tag-wiki should give some pointers (Oh! None? OK, wait a few minutes, I'll update it).
Note however that certain things depend on your device capabilities as well as on the Android version running. With recent versions, your device must be rooted to allow an app toggling airplane mode, for example.
Automateit can do that (of course, rooting is required!). Here is the link for the free version: https://play.google.com/store/apps/details?id=AutomateIt.mainPackage