I suspect non one relies on the fact that PowerScheduler IWakupHandler has a bug, but I am a pureist so when I saw the log below I went searching...
Yep, the handler is returning a time in the past!
Now if test this then it works... (sorry no log). What is going on?
Well the code check for adding a day does not set the result to a variable.
MediaPortal/MediaPortal-1
Poor early .Net doco may give an out... DateTime.AddDays() not working as expected
In the end testing an outcome (future on the same day) works, but having a test case of earlier time of day, then checking logs would have picked this up.
Would love to fix but alas I don't have an MP Build suite set up.
Cheers
Darryn
[2019-01-02 20:40:45,655] [Log ] [PS StandbyWakeup] [DEBUG] - PS: StandbyWakeupThread triggered by check interval
[2019-01-02 20:40:45,660] [Log ] [PS StandbyWakeup] [DEBUG] - PS: LoadSettings()
[2019-01-02 20:40:45,687] [Log ] [PS StandbyWakeup] [DEBUG] - PS: SetWakeupTimer()
[2019-01-02 20:40:45,697] [Log ] [PS StandbyWakeup] [DEBUG] - PS: Inspecting Scheduled Recordings: 1/3/2019 5:58:00 PM
[2019-01-02 20:40:45,700] [Log ] [PS StandbyWakeup] [DEBUG] - XmlTvImport.GetNextWakeupTime 1/2/2019 6:00:00 AM
[2019-01-02 20:40:45,714] [Log ] [PS StandbyWakeup] [DEBUG] - PS: Set wakeup timer to wakeup system at 1/3/2019 5:57:00 PM
[2019-01-02 20:40:45,715] [Log ] [PS StandbyWakeup] [DEBUG] - PS: CheckForStandby()
[2019-01-02 20:40:45,727] [Log ] [PS StandbyWakeup] [DEBUG] - PS: Inspecting Client Plugin (Media playing): StandbyPrevented
[2019-01-02 20:40:45,731] [Log ] [PS StandbyWakeup] [DEBUG] - PS: SetStandbyMode(StandbyPrevented)
[2019-01-02 20:40:45,732] [Log ] [PS StandbyWakeup] [DEBUG] - PS: System is busy and should not go to standby
[2019-01-02 20:40:45,660] [Log ] [PS StandbyWakeup] [DEBUG] - PS: LoadSettings()
[2019-01-02 20:40:45,687] [Log ] [PS StandbyWakeup] [DEBUG] - PS: SetWakeupTimer()
[2019-01-02 20:40:45,697] [Log ] [PS StandbyWakeup] [DEBUG] - PS: Inspecting Scheduled Recordings: 1/3/2019 5:58:00 PM
[2019-01-02 20:40:45,700] [Log ] [PS StandbyWakeup] [DEBUG] - XmlTvImport.GetNextWakeupTime 1/2/2019 6:00:00 AM
[2019-01-02 20:40:45,714] [Log ] [PS StandbyWakeup] [DEBUG] - PS: Set wakeup timer to wakeup system at 1/3/2019 5:57:00 PM
[2019-01-02 20:40:45,715] [Log ] [PS StandbyWakeup] [DEBUG] - PS: CheckForStandby()
[2019-01-02 20:40:45,727] [Log ] [PS StandbyWakeup] [DEBUG] - PS: Inspecting Client Plugin (Media playing): StandbyPrevented
[2019-01-02 20:40:45,731] [Log ] [PS StandbyWakeup] [DEBUG] - PS: SetStandbyMode(StandbyPrevented)
[2019-01-02 20:40:45,732] [Log ] [PS StandbyWakeup] [DEBUG] - PS: System is busy and should not go to standby
Yep, the handler is returning a time in the past!
Now if test this then it works... (sorry no log). What is going on?
Well the code check for adding a day does not set the result to a variable.
if ((now < remoteScheduleTime) && (remoteScheduleTime > DateTime.MinValue))
{
remoteScheduleTime.AddDays(1);
}
Log.Debug(this._handlerName + ".GetNextWakeupTime {0}", remoteScheduleTime);
remoteScheduleTime.AddMinutes(-1); // resume 60sec before
return remoteScheduleTime;
{
remoteScheduleTime.AddDays(1);
}
Log.Debug(this._handlerName + ".GetNextWakeupTime {0}", remoteScheduleTime);
remoteScheduleTime.AddMinutes(-1); // resume 60sec before
return remoteScheduleTime;
MediaPortal/MediaPortal-1
Poor early .Net doco may give an out... DateTime.AddDays() not working as expected
In the end testing an outcome (future on the same day) works, but having a test case of earlier time of day, then checking logs would have picked this up.
Would love to fix but alas I don't have an MP Build suite set up.
Cheers
Darryn