Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - JasonFox

Pages: [1]
1
Other Plugins / Tivo control over Network
« on: March 21, 2014, 02:31:03 AM »
Hopefully it will be helpful to others. I dabbled with this month ago after discovering it on the Tivo Community forums here: http://www.tivocommunity.com/tivo-vb/showthread.php?t=392385 but couldn't get it work successfully in VC and I had decent control working through my iTach with IR commands (thanks to some patient help from the VC forums) so I left it. Decided to give it another try a couple of weeks ago and finally got it to work correctly. I've been meaning to post it ever since but work has kept me busy.

I use a listen command specific to the Tivo that disables my XBMC command group since the phrases used sometimes overlap (pause, play, fast forward, etc). All commands are basic telnet and when I tried before I always used TCP.Single.Write. I had tried with and without /x0D/x0A and subsets but I could never get it working for some reason. So this time I decided to open a connection during the listen command and issue TCP.Client.WriteLn for individual commands. That seemed to be the secret. Just TCP.Client.WriteLn with no terminator set in the session open. I set my 'don't listen' command and 'idle timeout' to close the session and re-enable the XBMC group (as I now use it for media more often than the Tivo).

My holy grail would be to have someone write a plug-in or Python command group that uses the rpcRequest options discovered by Arantius and fleshed out by Moyekj (the creator of KMTTG) in this thread  (allowing for much more XBMC like control.. "skip to 50%", "show episodes of 'big bang theory'"), but that's way beyond my meager skills. http://www.tivocommunity.com/tivo-vb/showthread.php?t=462980&page=3

Here are the commands I use to get VC to list and open and close the TCP session:

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<command id="787" name="Listen" enabled="true" alwaysOn="True" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>VC.On</cmdType>
    <cmdString />
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Sound.PlayWav</cmdType>
    <cmdString>C:\Vox Commando\Sounds\Tivo upper.wav</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>TCP.Single.Write</cmdType>
    <cmdString>{M:GcTV.TV MUTE}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.DisableGroup*</cmdType>
    <cmdString>XBMC</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.EnableGroup</cmdType>
    <cmdString>Network Tivo Commands</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Tcp.Client.Connect</cmdType>
    <cmdString>TIVO&amp;&amp;192.168.1.54&amp;&amp;31339</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <phrase>OK</phrase>
  <phrase>Tivo</phrase>
</command>

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<command id="8" name="Don't Listen" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>VC.Standby</cmdType>
    <cmdString />
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>TCP.Single.Write</cmdType>
    <cmdString>{M:GcTV.TV MUTE}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.EnableGroup*</cmdType>
    <cmdString>XBMC</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.DisableGroup</cmdType>
    <cmdString>Network Tivo Commands</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Sound.PlayWav</cmdType>
    <cmdString>C:\Vox Commando\Sounds\Tivo Thumbs Down.wav</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>TCP.Client.Disconnect</cmdType>
    <cmdString>TIVO</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <phrase>ignore me,don't listen,stand by,stop listening</phrase>
</command>

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<command id="719" name="Mute on Idle" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>TCP.Single.Write</cmdType>
    <cmdString>{M:GcTV.TV MUTE}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.EnableGroup*</cmdType>
    <cmdString>XBMC</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.DisableGroup</cmdType>
    <cmdString>Network Tivo Commands</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Sound.PlayWav</cmdType>
    <cmdString>C:\Vox Commando\Sounds\Tivo Thumbs Down.wav</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>TCP.Client.Disconnect</cmdType>
    <cmdString>TIVO</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <event>vc.idletimeout</event>
</command>

And here is the Network Commands Group

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<commandGroup open="False" name="Network Tivo Commands" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="532" name="Tivo Channel Up" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE CHANNELUP&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Channel Up</phrase>
  </command>
  <command id="543" name="Tivo Channel Down" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE CHANNELDOWN&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Channel Down</phrase>
  </command>
  <command id="547" name="Tivo - Tivo" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE TIVO&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Main Menu</phrase>
  </command>
  <command id="559" name="Tivo - Select" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE SELECT&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Select</phrase>
  </command>
  <command id="572" name="Tivo - Live/Switch" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE LIVETV&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Switch Tuners,Live TV</phrase>
  </command>
  <command id="576" name="Tivo - Guide" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE GUIDE&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Guide</phrase>
  </command>
  <command id="606" name="Tivo - Clear/Delete" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE CLEAR&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Clear, Delete</phrase>
  </command>
  <command id="604" name="Tivo - Info" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE DISPLAY&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Info, Information,Display</phrase>
  </command>
  <command id="607" name="Tivo - Up" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="300" loopMax="10" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE UP&amp;&amp;250</cmdString>
      <cmdRepeat>{1}</cmdRepeat>
    </action>
    <phrase optional="true">Tivo, Move</phrase>
    <phrase>Up</phrase>
    <payloadRange>1,10</payloadRange>
  </command>
  <command id="610" name="Tivo - Down" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="300" loopMax="10" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE DOWN&amp;&amp;250</cmdString>
      <cmdRepeat>{1}</cmdRepeat>
    </action>
    <phrase optional="true">Tivo, Move</phrase>
    <phrase>Down</phrase>
    <payloadRange>1,10</payloadRange>
  </command>
  <command id="637" name="Tivo - Right" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE RIGHT&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase optional="true">Tivo, Move</phrase>
    <phrase> Right</phrase>
  </command>
  <command id="638" name="Tivo - Left/Back" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE LEFT&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase optional="true">Tivo, Move</phrase>
    <phrase> Back</phrase>
  </command>
  <command id="643" name="Tivo - Enter/Last" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE ENTER&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Enter</phrase>
  </command>
  <command id="657" name="Tivo - Replay" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="300" loopMax="10" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE REPLAY&amp;&amp;400</cmdString>
      <cmdRepeat>{1}</cmdRepeat>
    </action>
    <phrase>Replay</phrase>
    <payloadRange optional="true">1,10</payloadRange>
  </command>
  <command id="667" name="Tivo - Pause" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE PAUSE&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Pause</phrase>
  </command>
  <command id="681" name="Tivo - Play" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE PLAY&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Play</phrase>
  </command>
  <command id="713" name="Tivo - FFW &lt;#&gt;" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="300" loopMax="3" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE FORWARD&amp;&amp;250</cmdString>
      <cmdRepeat>{1}</cmdRepeat>
    </action>
    <phrase optional="true">Tivo</phrase>
    <phrase>Fast Forward</phrase>
    <payloadRange optional="true">1,3</payloadRange>
  </command>
  <command id="723" name="Tivo - REW &lt;#&gt;" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="300" loopMax="3" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE REVERSE&amp;&amp;250</cmdString>
      <cmdRepeat>{1}</cmdRepeat>
    </action>
    <phrase optional="true">Tivo</phrase>
    <phrase>Rewind</phrase>
    <payloadRange optional="true">1,3</payloadRange>
  </command>
  <command id="714" name="Tivo - REC" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE RECORD&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Record</phrase>
    <phrase optional="true">This, This Program</phrase>
  </command>
  <command id="717" name="Tivo - Skip &lt;#&gt;" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="300" loopMax="6" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE ADVANCE&amp;&amp;250</cmdString>
      <cmdRepeat>{1}</cmdRepeat>
    </action>
    <phrase optional="true">Tivo</phrase>
    <phrase>Skip</phrase>
    <payloadRange optional="true">1,6</payloadRange>
  </command>
  <command id="768" name="Tivo channel {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="1">
    <action>
      <cmdType>TTS.SpeakSync</cmdType>
      <cmdString>Switching to channel: {PF.1}</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;SETCH {1}&amp;&amp;1000</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegEx</cmdType>
      <cmdString>CH_STATUS\\x20(.*?)\\&amp;&amp;&amp;&amp;{Var.TivoResponse}</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>TTS.SpeakSync</cmdType>
      <cmdString>Channel is now: {M:CoxChannelNames.{Match.1}}&amp;&amp;1000</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Change Channel to</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\CableChannels.xml</payloadFromXML>
  </command>
  <command id="793" name="What Channel is this?" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="1">
    <action>
      <cmdType>Results.RegEx</cmdType>
      <cmdString>CH_STATUS\\x20(.*?)\\&amp;&amp;&amp;&amp;{Var.TivoResponse}</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>TTS.SpeakSync</cmdType>
      <cmdString>Channel is now: {M:CoxChannelNames.{Match.1}}&amp;&amp;1000</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>What Channel is this?</phrase>
  </command>
  <command id="736" name="Tivo - List" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;TELEPORT NOWPLAYING&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Show</phrase>
    <phrase>List, Now Playing, Now Playing List</phrase>
  </command>
  <command id="766" name="Tivo - Thumbs Up" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE THUMBSUP&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Thumbs Up</phrase>
  </command>
  <command id="800" name="Tivo - Thumbs Down" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IRCODE THUMBSDOWN&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Thumbs Down</phrase>
  </command>
  <command id="789" name="Tivo - Slow" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Tcp.Client.WriteLn</cmdType>
      <cmdString>TIVO&amp;&amp;IROCODE SLOW&amp;&amp;200</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Slow, SloMo, Slow Motion</phrase>
  </command>
  <command id="790" name="Set Tivo Response Variable" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Results.SetVar</cmdType>
      <cmdString>TivoResponse&amp;&amp;{1}</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>TIVO</event>
  </command>
</commandGroup>






2
Currently I'm using individual commands to send IR codes to my iTach to change TV (more specifically Tivo) channels. I'd like to change this to a single command that uses a payload.xml with the channel names and the #s and/or IR codes map codes as the values. The problem I have is that I need each # to be sent separately with a short pause between. Is there a way to have a payload with channel name as the phrase and the mapped channel commands as the values loaded into {1),{2}.{3},{4}? For example I'll paste my existing command for CNN below. Can a payload.xml take an input of C N N and output values in {1},{2},{3}, and {4} that are would go in the <cmdString>fields? (I hope that made sense  :P

Thanks in advance for any advice.

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<command id="705" name="Tivo - CNN/1022" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>TCP.Single.Write</cmdType>
    <cmdString>{M:GcTivo.TIVO - 1}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.Pause</cmdType>
    <cmdString>200</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>TCP.Single.Write</cmdType>
    <cmdString>{M:GcTivo.TIVO - 0}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.Pause</cmdType>
    <cmdString>200</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>TCP.Single.Write</cmdType>
    <cmdString>{M:GcTivo.TIVO - 2}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.Pause</cmdType>
    <cmdString>200</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>TCP.Single.Write</cmdType>
    <cmdString>{M:GcTivo.TIVO - 2}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.Pause</cmdType>
    <cmdString>200</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>TCP.Single.Write</cmdType>
    <cmdString>{M:GcTivo.TIVO - ENTER/LAST}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <phrase>Tivo Change Channel to C N N</phrase>
</command>


3
After recently upgrading to 1.1.5.8 I discovered that issuing a 'don't listen' command to place VC back into standby does not stop the idle timeout timer.  If I have the idle timeout set to 15 seconds after a listen command and then issue a 'don't listen' VC goes immediately back to standby, but then still issues an idle timeout once 15 seconds from the original listen command hits.

The reason this is concerning for me is that with my current setup I'm stuck using mute for ducking and my TV does not have discreet mute and unmute remote commands. So if I manually go back to standby it unmutes and then the idle timeout causes it to mute again. (as I have an event tied to idle timeout to cause it unmute automatically)

I hope that made sense.

I did test this by reverting to 1.1.5.0 and the problem does happen in that version.

Thanks!

4
Feature Requests / Pause between repeats
« on: August 25, 2013, 07:06:15 PM »
I'm not sure if this is a feature request or maybe the ability exists already I just can't find it.  I have a Global Cache iTach that I use to send IR signals to my TV, and Tivo (I use th e XBMC plugin for communication with XBMC). For some of the Tivo commands I have set a variable to allow for repeats (FFW + # to allow for 3 levels of speed). The difficulty is that the repeats happen too quickly sometimes and so "Fast Forward 3" only gets received as one or two FFW signals. Is there a parameter available to add a pause between repeats? If not can one be added?

I also wanted to say thank you to James (for writing great software) and Mr. Wolf, Kalle, msdh and all the other great members of the community for your contributions. Without all the great info each of you have contributed I would be totally lost.  ;D

Pages: [1]