What Bob suggests is exactly what I did prior to Scheduler and my now taking morning dome flats (which requires everything to remain powered on and cold).

#quitat 06:30
#chainscript AO-Shutdown.js


At the end my shutdown script used to place the computer in hybernate.

try
{
Util.ShellExec("shutdown","/h ");
} catch(ex)
{
Console.PrintLine("shell: " + (ex.message ? ex.message : ex));
}
console.printline("hybernate");


I shut off the power by using a USB powerstrip that senses when the computer is asleep and then cuts power.