TV Server xmltv IWakeupHandler Bug (1 Viewer)

dcapslock

Portal Member
September 1, 2015
20
12
Sydney
Home Country
Australia Australia
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...

[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​

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;

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
 

dcapslock

Portal Member
September 1, 2015
20
12
Sydney
Home Country
Australia Australia
Sorry, taken some time to get back to this. 1:58pm setting for IceTV is an OK workaround for now.

The new DLL was not recognised to be compatible with TV Server.

[2019-01-07 22:51:57,789] [Log ] [TVService] [INFO ] - PluginManager: TvEngine.PowerScheduler.PowerSchedulerPlugin is incompatible with the current tvserver version and won't be loaded!
For interest, start of TV Server log

[2019-01-07 22:51:49,735] [Log ] [4 ] [DEBUG] - Setting up EventWaitHandle with name: Global\MPTVServiceInitializedEvent
[2019-01-07 22:51:50,336] [Log ] [4 ] [INFO ] - Set loglevel to: Debug
[2019-01-07 22:51:50,452] [Log ] [8 ] [INFO ] - TV Service: Starting
[2019-01-07 22:51:50,474] [Log ] [TVService] [INFO ] - TVService v1.20.0.0 is starting up on Windows 10 Professional x64 [10.0.17134.0]
Thanks for your help.
 

Owlsroost

Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    OK - I'll build you a 1.20 compatible plugin to try (now I know which MP version you are using).

    MP 1.20 TVServer compatible (hopefully) dll's attached. I think you only need to swap PowerScheduler.dll, but it creates three dll's when you build the PowerScheduler project so I've included all three...
     

    Attachments

    • PowerScheduler_AddDaysFix_2.zip
      84.6 KB

    Users who are viewing this thread

    Top Bottom