My plan was to use the system events:
Using the event that says "going to start a recording in a
minute" (can't remember the name right now), I would power up the stb
and then power up the hdpvr, if they're not already up (see next
event).
Using the event that says "done recording", I would start a script
that waits for a few minutes and then if no new recording is coming up
within the next minute (see previous event), I'd turn off both the
hdpvr and stb. Since recordings tend to be on half-hour marks, it
should be fairly safe.
In your case, you could do something even simpler: keep a timestamp of
the last reboot and in the "going to record in a minute" event, check
to see if it's been at least 24 hours and if so, restart your hdpvr.
You might want to be sure you're using udev rules for your hdpvr
because it's likely that if you have other tuners, your /dev/video0
device might come back up as /dev/video2. It's happened to me but now
I record on /dev/hdpvr.
HTH,
Daniel