Mein Vorschlag in Ergänzung zum Wikieintrag Wakeuplight (unter Verwendung der Vorarbeit von Rudolf König in einem Foreneintrag):
define AUFWACHENTERTAINMENT dummy
attr AUFWACHENTERTAINMENT setList state:time
define AUFWACHENTERTAINMENT_ZEIT_ANPASSEN notify (AUFWACHENTERTAINMENT|global:INITIALIZED|global:REREADCFG).* {\
fhem "modify AUFWACHENTERTAINMENT_STARTEN *" . FmtTime (( time_str2num "2013-07-01 " . ReadingsVal("AUFWACHENTERTAINMENT","state","06:20") . ":00" ) - 70*60);;\
}
define AUFWACHENTERTAINMENT_STARTEN at *07:00:00 {}
Die "70*60" stehen für die Zeitsubtraktion in Sekunden