On 22 Dec 2009, at 21:36, Ian Bates wrote:

On 22 Dec 2009, at 19:39, Steffen Barszus wrote:

Hi !

Looks like vdr's shutdownskript hook is not properly working. Since it seems to be undocumented in vdr man page i took my information from here:


#!/bin/sh # Simple ACPI shutdown hook
# $1 : Next timer seconds from 1970 from 1970/01/01, UTC
# $2 : Next timer seconds from now
# $3 : Next timer title
# $4 : Shutdown forced

If the time is far enough in the future this is correct, if it is only few minutes in the future it gets horribly wrong (now +30 minutes or something similar)
(The argument $1 is supplied wrong to the script)

This is vdr 1.7.10 . I remember that some people have written this is a known problem. But why is it happening ? Has somebody debugged this allready ?

From the MANUAL:

 Min. event timeout = 30
 Min. user inactivity = 300
If the command line option '-s' has been set, VDR will automatically shutdown the computer if the next timer event is at least MinEventTimeout minutes in the future,
                        and the user has been inactive for at least
MinUserInactivity minutes. Setting MinUserInactivity to 0 disables the automatic shutdown, while still retaining the possibility to manually shutdown the

There is your 30 mins.  No bug, a 'feature'.

My VDR is set to these defaults. If I try to shutdown before 30 mins, I am prompted by VDR to press Power again to FORCE shutdown. If this is the case I cannot recall exactly but I think the wakeup is set to 30 mins from the forced shutdown, rather than the next timer.

If I recall a mailing list discussion there was an argument along the lines that if a timer was set to record in less than a certain value, 30 mins by default, it is 'cheaper' in terms of power and hardware shutdown/restart cycle degradation to keep the computer running.

I have not played with this setting so I cannot comment on VDR behaviour with a lower setting for this value. Please report back if you experiment.

There is also a detailed section in the INSTALL document:

Automatic shutdown:

If you define a shutdown command via the '-s' command line option, VDR
will call the given command if there is currently no recording or replay
active, the user has been inactive for at least MinUserInactivity minutes and the next timer event is at least MinEventTimeout minutes in the future
(see the Setup parameters in MANUAL).

The command given in the '-s' option will be called with five parameters.

The first one is the time (in UTC) of the next timer event or plugin wakeup
time (as a time_t type number), and the second one is the number of
seconds from the current time until the next timer event. Your program can choose which one to use for programming some sort of hardware device that
makes sure the computer will be restarted in time before the next timer
event. Your program must also initiate the actual shutdown procedure of the
computer. VDR will not automatically exit after calling the shutdown
program, but will rather continue normally until it receives a SIGTERM when the computer is actually shut down. So in case the shutdown fails, or the
shutdown program for some reason decides not to perform a shutdown, VDR
will stay up and running and will call the shutdown program again after a while. The command will be started in a separate background session, so it
can continue to run even after VDR has terminated.

If there are currently no timers active and there is no plugin wakeup
time, both parameters will be '0'. In that case the program shall not set
the hardware for automatic restart and only perform the system shutdown.
A program that uses the second parameter to set the hardware for restart
must therefore also check whether the first parameter is '0'.

If the wakeup time is given by a timer, the third parameter will be the
number of the channel that will be recorded, otherwise it will be 0. The
fourth parameter contains the file name of the recording as defined in the timer, the name of the plugin that requested the wakeup time, or an empty
string if no wakeup time is present. These can be used by the shutdown
program to show that information on some display interface etc.

The fifth parameter indicates the reason why the shutdown was requested.
'0' means this is an automatic shutdown due to some timeout, while '1' means that this is a user requested shutdown (resulting from pressing the "Power"
key). The shutdown program may use this information to decide whether or
not to actually perform the system shutdown.

If a timer is currently recording, or a recording would start within the
next 30 minutes (default for the "Min. event timeout" setup parameter), and the user insists in shutting down now, the first and second parameter will
correspond to a time that is "Min. event timeout" minutes in the future.

Before the shutdown program is called, the user will be prompted to inform
him that the system is about to shut down. If any remote control key is
pressed while this prompt is visible, the shutdown will be cancelled (and tried again later). The shutdown prompt will be displayed for 5 minutes, which
should be enough time for the user to react.

A sample shell script to be used with the '-s' option might look like this:

setRTCwakeup $(($1 - 300))
sudo halt

Here 'setRTCwakeup' would be some program that uses the first parameter
(which is the absolute time of the next timer event) to set the Real Time Clock so that it wakes up the computer 5 minutes (i.e. 300 seconds) before
that event. The 'sudo halt' command then shuts down the computer.
You will have to substitute both commands with whatever applies to your
particular hard- and software environment.

If the '-s' option is present, the VDR machine can be turned off by pressing
the "Power" key on the remote control.

These documents are provided in the VDR source tarball. I use Slackware and 'roll my own' VDR, for a packaged distribution you may not have these documents or if you do they may not be where you can find them 'easily'.

Use the source Luke...


Seasons Greetings,


vdr mailing list

Reply via email to