Skip to content

Schedules Direct EPG

Joseph Shuttlesworth edited this page Oct 12, 2018 · 1 revision

The first EPG update can take anywhere between a few minutes to several hours depending on the number of days available for your lineup, number of enabled channels, ISP and computer performance. While this first update is in progress, your schedule might be missing some or all of your favorites. Any changes you make to the lineup while the EPG update is in progress can cause the update to restart from the beginning. After the update has completed, the process that searches for favorites will start and you should have a complete schedule with your favorites in less than 30 minutes.

What do I need to get started?

  • An active Schedules Direct subscription or trial.
    • Visit the Schedules Direct website to sign up.
    • SageTV uses the JSON service (not SD-DD/legacy).
  • SageTV 9.0.8.423 or greater installed.

How do I configure SageTV to use Schedules Direct?

  1. To use Schedules Direct you need to select it when asked what source you would like to use for Program Guide data.
    • Note that if you are using a custom STV, you may need to change back to the default STV to be able to see this option.
    • Schedules Direct selected
  2. The first time you select this option, you will be prompted for your username and then your password.
    • Make sure you are looking at the screen when typing in your password, especially if your password contains numbers because on some platforms number-text entry is enabled by default. In those cases, you will need to press the number key a few times to select the number instead of a letter.
    • Subsequent selections of this option will give you the option to continue with your saved username and password or change them.

How do I add a new lineup to my Schedules Direct account?

Do not add lineups to your account via your account page on the Schedules Direct website. That is for programs that use the legacy service and they will not show up in SageTV because SageTV uses the JSON service. Only add/remove lineups using the SageTV UI.

If you have never used Schedules Direct before, you will need to at the very least add one lineup to your account using SageTV. You must add any lineups you want to be able to receive guide data for to your account before you will be able to receive guide data for those lineups. These steps assume that you are already logged into your account through SageTV and you are on the screen showing the lineups currently added to your account.

  1. If you do not have any lineups in your account, you will be prompted that you need to add a lineup and Add New Lineup will automatically be selected for you. If you already have lineups in your account and you want to add more lineups, you can do so by selecting Add New Lineup at the bottom of the screen.
    • Need to add Schedules Direct lineup
  2. If this is not the first time you have added a lineup to your account on this SageTV server, you will be asked if you would like to use your last region, country and postal code selections. If you choose to use these selections you will be taken to step 6. Otherwise, you will be taken to the region selection screen.
  3. Select your region. If you are unsure of your region, you can select any region and go back if you do not see your country.
    • If you know the ID of the lineup you want to add select Add lineup by ID... This is an advanced feature that most users will never need to use added in 9.1.6.
  4. Select your country.
  5. If you live in a country that only has one postal code, you will immediately be taken to step 6. Otherwise, you will need to enter your postal code.
    • Postal codes are validated against a regular expression provided by Schedules Direct. If you believe you are entering a valid postal code and SageTV is rejecting it, you can try disabling this check.
  6. Select each lineup you would like to be able to use, then select Add Lineup.
    • Note that you should not see any lineups that are already added to your account.
    • You can add as many lineups from this screen as you are allowed to add to your account.
    • Each time you successfully add a new lineup, you will be notified of how many changes you have left for the day.
    • Do not forget that you have a limited number of changes per day.
  7. Select Continue to return to the lineup selection screen.

How do I configure SageTV to use a lineup I have added to my Schedules Direct account?

Any lineup that you want to use in SageTV must remain added to your Schedules Direct account. These steps assume that you are already logged into your account through SageTV and you are on the screen showing the lineups currently added to your account.

  1. Select the lineup you would like to use for this capture device.
  2. Select Use Lineup.

How do I remove a lineup from my Schedules Direct account?

These steps assume that you are already logged into your account through SageTV and you are on the screen showing the lineups currently added to your account.

  1. Select the lineup you would like to remove.
  2. Select Remove Lineup.
    • If you try to remove a lineup that is in use by a capture device other than the one you are currently configuring, you will receive a warning that will give you one last chance to not remove the lineup.
    • Each time you successfully remove a lineup, you will be notified of how many changes you have left for the day.
    • Do not forget that you have a limited number of changes per day.

How do I enable JSON logging?

This will enable full logging of all communications between Schedules Direct and SageTV. The log file is in the SageTV folder and is named sd_epg.log. The file size is limited to ~64MB and can reach that size very quickly. For most issues centered around communication/update issues with Schedules Direct, you will be asked to enable this logging. These files should generally compress to ~5MB in a zip file.

  1. Stop the SageTV service.
  2. Open Sage.properties.
  3. Change debug_sd=false to debug_sd=true.
  4. Save Sage.properties.
  5. Start the SageTV service.

How do I disable the postal code regex verification?

  1. Stop the SageTV service.
  2. Open Sage.properties.
  3. Change sdepg_core/disable_regex=false to sdepg_core/disable_regex=true.
  4. Save Sage.properties.
  5. Start the SageTV service.

What are these new files in my SageTV folder?

  • sd_epg.log / sd_epg.log.old
    • If you have enabled JSON logging you will see this file. It will contain all of the communications between Schedules Direct and SageTV.
  • sdauth
    • Contains your username and password for authentication with Schedules Direct.
    • If you delete this file, you will need to enter your username and password again.
    • If you delete this file, you will see error messages on the next EPG update telling you that you need to enter your username and password again.
  • sdmd5prog
    • Contains all of the MD5 hashes for all programs downloaded from Schedules Direct.
    • The MD5 hashes are compared against the program hashes from Schedules Direct and if they are different, the program information is downloaded again.
    • Programs are removed from this file when SageTV removes them from the Wizard, so this file will not grow without any limit.
    • If you want all of the programs to be downloaded again, you can delete this file and sdmd5sched.
  • sdmd5sched
    • Contains all of the MD5 hashes for every day on every station downloaded from Schedules Direct.
    • The MD5 hashes are compared against the schedules for each day and if they are different, all of the changes are downloaded and updated in the Wizard.
    • The Schedules are removed from this file when the date is the previous day or older.
    • If you want all of the airings to be downloaded again, you can delete this file. Deleting sdmd5prog is not needed if this is your goal.

Default Settings

  • By default the program IDs (External IDs) are converted into the format that SageTV's original built in EPG (WarlockRipper) provides so if you are converting from that EPG solution over to Schedules Direct, you should have very few issues with previously watched recordings being scheduled to record again.
    • You can disable this behavior by changing sdepg_core/sagetv_compat=true to sdepg_core/sagetv_compat=false in Sage.properties.
  • When channel numbers are downloaded from Schedules Direct and are less than 100, they are prepended with zeros (Ex. 001). By default, those prepended zeros are removed.
    • You can disable this behavior by changing sdepg_core/remove_leading_zeros=true to sdepg_core/remove_leading_zeros=false in Sage.properties.
  • Schedules Direct can provide an alternative channel logo for many channels. The alternative logo is often lighter colors and may provide better contrast on darker backgrounds. If an alternative logo does not exist for a channel, the default logo will be used.
    • You need to be running SageTV 9.1.0 or greater.
    • This option is disabled by default.
    • You can change this setting by toggling the option under Setup > Detailed Setup > Customize > Enable the use of alternative Schedules Direct channel logos when available.
    • Changes are immediate when this setting is toggled.

Known Issues

  • Grey-scale channel logos are green and half-width.
    • On Windows, you will need to upgrade to SageTV 9.1.7 or greater.
    • On Linux, you will need to upgrade to SageTV 9.0.8 or greater.