<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">See my notes at the bottom.<br>
      <br>
      On 31/08/16 10:53, Rory Grant wrote:<br>
    </div>
    <blockquote
cite="mid:CAMEDYYsaoyL5K20aPkaqL3RYLe11suQQA-_xvqd39gKj42FViQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <p dir="ltr">I'm not a developer, and I've got schedules direct
          up and running on my Ubuntu 16.04 system.</p>
        <p dir="ltr">Steps:</p>
        <p><b>0.  Back everything up first!</b></p>
        <p dir="ltr"><b>1. Sign up for an accoun</b>t on <a
            moz-do-not-send="true" href="http://www.schedulesdirect.org"
            target="_blank">www.schedulesdirect.org</a> and follow the
          instructions linked to above to get your 90 day voucher.</p>
        <p dir="ltr"><b>2. Install xmltv 0.5.68-1 from Debian Sid</b>
          from here <a moz-do-not-send="true"
            href="https://packages.debian.org/sid/xmltv" target="_blank">https://packages.debian.org/<wbr>sid/xmltv</a>
          . There are 4 .deb packages you need: xmltv, libxmltv-perl,
          xmltv-gui, xmltv-util.</p>
        <p>   Download these into a new folder, open a terminal, cd to
          that folder and install them with "<font face="monospace,
            monospace">dpkg -i *.deb</font>"</p>
        <p><b>3.  Verify that the Schedules direct JSON module is now a
            recognised grabber:</b></p>
        <p><font face="monospace, monospace">tv_find_grabbers|grep json<br>
          </font></p>
        <p><br>
        </p>
        <p>should return:</p>
        <p><font face="monospace, monospace">/usr/bin/tv_grab_sd_json|Schedules
            Direct JSON API<br>
          </font></p>
        <p><br>
        </p>
        <p><b>4.  configure your Schedules direct grabber</b></p>
        <p><font face="monospace, monospace">tv_grab_sd_json --configure<br>
          </font></p>
        <p>Follow the on screen prompts.  I chose to use a "channels"
          config, rather than a "lineup" config because I wanted a more
          fine-grained control over my listings.  I don't know whether
          this is worthwhile or not. YMMV.</p>
        <p>This creates a .conf file in your ~/.xmltv folder</p>
        <p>For convenience, I then created a symbolic link to this file
          in my .mythtv folder</p>
        <p><font face="monospace, monospace">ln -s
            ~/.xmltv/tv_grab_sd_json.conf
            ~/.mythtv/SchedulesDirect.xmltv</font></p>
        <p>The name of the link should match the name of the Video
          Source that you set up in step 5 below.</p>
        <p>In the end, I created two links in .mythtv and two Video
          Sources - one for my DVB-T feed, and one for my DVB-S feed. 
          This allows for different channel configs between satellite
          and terrestrial.</p>
        <p><br>
        </p>
        <p><b>5. Add new video source(s) in mythtv-setup</b></p>
        <p>Set the "listings grabber" field to "Schedules Direct JSON
          API (xmltv)"</p>
        <p>You also need a unique video source name that matches the
          symbolic link name that you created in step 4 above.  Do not
          click configure.  Do not check the "use EIT" box.</p>
        <p><br>
        </p>
        <p><b>6. Input connections </b></p>
        <p>Connect your existing capture cards to the video sources that
          you just created.  You should not need to scan for new
          channels or do any other configuration here.  Do not fetch
          channels from listing source.</p>
        <p><br>
        </p>
        <p><b>7. Channel editor.</b></p>
        <p>I managed to delete all of my channels and had to do a full
          channel scan on both my satellite tuners and my HDHomeRun
          (sigh).</p>
        <p>It would be better to edit your existing channels to include
          the Schedules Direct channel IDs.  Again, there may be a
          better way of doing it, but I edited each channel one by one.</p>
        <p>You need to enter the Schedules Direct Channel ID in the
          "XMLTV ID:" field.</p>
        <p>You can get this info by running </p>
        <p><font face="monospace, monospace">tv_grab_sd_json | grep -A1
            '<channel id="' > output.txt<br>
          </font></p>
        <p>Or, you can use the handy table that I've compiled already:</p>
        <table style="border-collapse:collapse;width:506pt" width="674"
          border="0" cellpadding="0" cellspacing="0">
          <colgroup><col style="width:285pt" width="380"> <col
              style="width:167pt" width="222"> <col style="width:54pt"
              width="72"> </colgroup><tbody>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;width:285pt" width="380"
                height="20"><b>XMLTV ID</b></td>
              <td class="" style="border-left:none;width:167pt"
                width="222"><b>Display Name</b></td>
              <td class="" style="border-left:none;width:54pt"
                width="72"><b>#</b></td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ406723.json.schedulesdirect.org">INZ406723.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">TV
                ONE</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">001</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ406725.json.schedulesdirect.org">INZ406725.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">TV2</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">002</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ406726.json.schedulesdirect.org">INZ406726.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">TV3</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">003</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ431675.json.schedulesdirect.org">INZ431675.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Bravo</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">004</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ406728.json.schedulesdirect.org">INZ406728.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Maori
                Television</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">005</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ430333.json.schedulesdirect.org">INZ430333.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">TVONE
                +1</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">006</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ431132.json.schedulesdirect.org">INZ431132.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">TV2
                +1</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">007</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ406735.json.schedulesdirect.org">INZ406735.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">TV3
                PLUS 1</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">008</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ431676.json.schedulesdirect.org">INZ431676.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Bravo
                Plus 1</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">009</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ410759.json.schedulesdirect.org">INZ410759.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Prime
                NZ</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">010</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ431295.json.schedulesdirect.org">INZ431295.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">The
                Edge TV</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">011</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ429922.json.schedulesdirect.org">INZ429922.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Choice
                TV</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">012</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ431540.json.schedulesdirect.org">INZ431540.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">DUKE</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">013</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ431179.json.schedulesdirect.org">INZ431179.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Te
                Reo</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">015</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ431268.json.schedulesdirect.org">INZ431268.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Al
                Jazeera NZ</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">016</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ431677.json.schedulesdirect.org">INZ431677.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">HGTV</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">017</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ430670.json.schedulesdirect.org">INZ430670.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Firstlight</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">026</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ431608.json.schedulesdirect.org">INZ431608.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Hope
                Channel</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">027</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ406728.json.schedulesdirect.org">INZ406728.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Parliament
                TV</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">031</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ431075.json.schedulesdirect.org">INZ431075.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Canterbury
                Television</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">040</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ406795.json.schedulesdirect.org">INZ406795.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Radio
                NZ National</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">050</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ406796.json.schedulesdirect.org">INZ406796.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Radio
                NZ Concert</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">051</td>
            </tr>
            <tr style="height:15pt" height="20">
              <td class="" style="height:15pt;border-top:none"
                height="20"><a moz-do-not-send="true"
                  href="http://INZ406797.json.schedulesdirect.org">INZ406797.json.schedulesdirect.org</a></td>
              <td class="" style="border-top:none;border-left:none">Base
                FM</td>
              <td class="" style="border-top:none;border-left:none"
                align="right">071</td>
            </tr>
          </tbody>
        </table>
        <div class="gmail_extra"><br>
          <div class="gmail_quote"><br>
          </div>
          <div class="gmail_quote"><b>8.  Fill your boots / database</b></div>
          <div class="gmail_quote"><br>
          </div>
          <div class="gmail_quote">close mythtv-setup, restart your
            backend cross your appendages and run:</div>
          <div class="gmail_quote"><br>
          </div>
          <div class="gmail_quote"><font face="monospace, monospace">mythfilldatabase
              --dd-grab-all</font></div>
          <div class="gmail_quote"><br>
          </div>
          <div class="gmail_quote"><br>
          </div>
          <div class="gmail_quote">All the usual disclaimers apply.  I
            am not an expert, this is simply what has worked for me.</div>
          <div class="gmail_quote"><br>
          </div>
          <div class="gmail_quote">The Schedules Direct data does seem
            to be of a higher quality, and my recording rules still seem
            to work.  There is no guide data for Shine TV, nor for some
            of the regional channels such as Dunedin TV.</div>
          <div class="gmail_quote"><br>
          </div>
          <div class="gmail_quote">Anecdotally yours,</div>
          <div class="gmail_quote"><br>
          </div>
          <div class="gmail_quote">Rory</div>
          <div class="gmail_quote"><br>
          </div>
        </div>
      </div>
    </blockquote>
    My notes for step 4 are a bit different than Rory's:- YMMV<br>
    <br>
    <span style="font-weight: bold;">4.</span>  configure your Schedules
    direct grabber<br>
    tv_grab_sd_json --configure<br>
    <br>
    Follow the on screen prompts.  I chose to use a "channels" config,
    rather than a "lineup" config because I wanted a more fine-grained
    control over my listings.  I don't know whether this is worthwhile
    or not. YMMV. Our country code is NZL<br>
    <br>
    This creates a .conf file in your ~/.xmltv folder<br>
    I then copied as follows:-<br>
    sudo cp ~/.xmltv/tv_grab_sd_json.conf~/.mythtv/SchedulesDirect.xmltv<br>
    and<br>
    sudo cp ~/.xmltv/tv_grab_sd_json.conf
    /home/mythtv/.mythtv/SchedulesDirect.xmltv<br>
    then edit the cache line in
    /home/mythtv/.mythtv/SchedulesDirect.xmltv<br>
    to<br>
    cache=/home/mythtv/.xmltv/tv_grab_sd_json.cache<br>
    <br>
    If the cache line is not edited mythfilldatabase, when run with user
    mythtv will give error.....<br>
    FAILED: XMLTV grabber returned error code 13<br>
    <br>
    The name of the xmltv file should match the name of the Video Source
    that you set up in step 5 below. (e.g. SchedulesDirect.xmltv)<br>
  </body>
</html>