#!/usr/bin/perl -w

sub logprint;
open(LOG, ">>/tmp/shutdownvdr.log") || die "Kann Logfile nicht zum Schreiben öffnen!\n";

logprint "-" x 40, "\n";
logprint "Jetzt ist es: ",scalar(localtime()),"\n";

if (-e '/video0/no-shutdown.txt')
{
  logprint "Es existiert /video0/no-shutdown.txt: Kein Shutdown.\n";
  exit;
}

$abs_nexttimer = shift;
$rel_nexttimer = shift;

$date = `date +%s`;
chomp($date);
if ($abs_nexttimer == 0)
{
  # Keine Timer anstehend => in 24 Stunden wieder aufwachen
  logprint "Keine Timer programmiert. Setze Aufachzeitpunkt auf 24 Stunden in der Zukunft.\n";
  $rel_nexttimer = 24*60*60;
}
$date = $date + $rel_nexttimer;

# Der nächste Aufwach-Zeitpunkt muss mindestens 10 Minuten in der Zukunft
# liegen, denn sonst schreibt nvram-wakeup nichts in NVRAM
if ($rel_nexttimer < 11*60)
{
  logprint "Aufwachzeitpunkt ist keine 10 Minuten in der Zukunft: Kein Shutdown.\n";
  exit;
}

logprint "abs: $abs_nexttimer (",scalar(localtime($abs_nexttimer)),")\n";
logprint "rel: $rel_nexttimer\n";

logprint "date: $date (",scalar(localtime($date)),")\n";
$tmp = `nvram-wakeup -C /etc/nvram-wakeup.conf --directisa -s $date 2>&1`;
logprint $tmp;
$tmp = `grub-set-default 1 2>&1`;
logprint $tmp;
system("touch /tmp/shutdown-by-vdr.txt");
logprint "exec reboot...\n";
exec("reboot");



sub logprint
{
  # Schreibt einen Text ins LOG-file
  print LOG @_;
}


