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.


Messages - JasonFox

Pages: [1] 2
1
Happy Birthday! :hugs :yay :clap

2
Other Plugins / Re: TCP Plugin and Tivos
« on: March 30, 2014, 08:22:52 PM »
I think I need to experiment a bit more. I'm having very mixed results. Send command 5 times in 10 seconds only the first works, send command twice 15 seconds apart and neither works. Doing the same with my old command set works perfectly. It must be something on my end. I'll keep digging.  :)

3
Other Plugins / Re: TCP Plugin and Tivos
« on: March 30, 2014, 07:48:18 PM »
Finally got a chance to play with this a little today and have run into a few questions/snags. Apologies in advance if any of them have obvious answers.   ;)

First I'm confused about what the 'onload' command does. My thought was that it loaded the python program so that the 'Py.ExecString' commands work. Does it need to run once so those commands can be called (showing my programming ignorance here)? But it appears to be triggered by the event 'onload' which I never see happen. Was it supposed to be trigged by VC.Loaded?

Second have you had any trouble using commands back to back? I tried a few commands (IRCODE LIVETV, TELEPORT NOWPLAYING) and had to wait quite a bit between commands for it work. Using IRCODE LIVETV to switch quickly between tuners would not work. If I understand the python (based on nearly zero programming knowledge) it opens and closes the connection for each command right? I like that better than what mine does but maybe it's the reason for being unable to issue back to back commands? Otherwise I'm wondering if this true for you as well or specific to my Tivo (Roamio).




4
Other Plugins / Re: TCP Plugin and Tivos
« on: March 22, 2014, 01:56:35 AM »
Thanks for sharing your python version I definitely want to give it a try.

I only experienced the problem you described above (constant events from tivo to VC) once and it coincided with a failure to disconnect, not sure how/why either happened.

I won't have time in front of VC and Tivo until tomorrow night but I'll share how you're python script works on my set up as soon as I get the chance.

5
Other Plugins / Re: Tivo control over Network
« on: March 22, 2014, 01:46:43 AM »
The delay was a hold over from when I was using my iTach to send actual IR signals. It may not be necessary.

The only delays that I know needed to be there where the ones for the SETCH commands so that it would wait long enough for the response and updated variable so it could announce the channel had changed. I really only added that announce because I wanted to see if I could capture and parse the the response via regEx as a challenge as I had little experience with it. Thankfully the wiki and some forum threads proved to be great resources.


6
Other Plugins / Re: Tivo control over Network
« on: March 21, 2014, 02:58:05 AM »
Sorry just remembered the set channel command uses a payload and map that has all the channel names > channel numbers for Cox cable where I live. You would need to substitute your own channel maps/payload for that command.

7
Other Plugins / TCP Plugin and Tivo
« on: March 21, 2014, 02:32:38 AM »
See my post here:

http://voxcommando.com/forum/index.php?topic=1459.0

Don't know if it will be helpful to your situation since I don't use the standby command specifically but hopefully it will.  :)

8
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>






9
General Discussion / Re: best cheap microphone
« on: December 29, 2013, 04:05:48 PM »
I am currently using a Blue Yeti:

http://www.amazon.com/Blue-Microphones-Yeti-USB-Microphone/dp/B002VA464S/ref=sr_1_1?s=musical-instruments&ie=UTF8&qid=1388346576&sr=1-1

Using an open air mic is great if you don't want to be bothered with holding/wearing the microphone and does allow for a more 'Jarvis' like environment. (Which was the reason I chose one as well). However as James has mentioned in many previous posts recognition will suffer compared to using a mic that is (or can be brought) close to your mouth. Be prepared to repeat instructions on occasion and for the recognition for vary depending on where you are facing and where in the room you are. Using a prefix and ducking a pretty much mandatory if you are going to use this type of mic in my experience so far. With that said I have been very happy with mine.

As an aside I got the Blue Yeti to replace a MXL AC404 conference mic:

http://www.amazon.com/gp/product/B001TGTDFM/ref=wms_ohs_product?ie=UTF8&psc=1


which also worked well but I find myself repeating commands less frequently with the new mic.

I realize that neither of those is exactly cheap but those are only two have experience with so far. Best of luck in your search and let us know how whichever mic you decide on works out.

10
and unsurprisingly you are both correct!  ::bow

Sorry to have taken up so much of everyone's time on what turned out to be simple(stupid) errors on my part.

If it's any consolation I did learn a lot along the way.  :P

11
Yes. I found that after I retried the commands as Client.WriteLn in the other command.  I believe the problem must be something I did wrong in the payload? Executing the command now doesn't give the unable to connect error that happened before it only gives the "no matches found" error.

I just realized I didn't include the voxlog.txt in my last post. I'm including it below.


12
Thanks James. I'm guessing the problem is something I have done wrong with the payload as the only error I get now is "no matches found" in the reg.ex command.  The TTS fires as the final 'enter' iTach command, but the #'s don't. Copies of command and xml to follow.

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<command id="733" name="Tivo channel {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="1">
  <action>
    <cmdType>TTS.Speak</cmdType>
    <cmdString>Switching to channel: {PF.1}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Tcp.Client.Connect</cmdType>
    <cmdString>iTach&amp;&amp;192.168.1.102&amp;&amp;4998</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Results.RegEx</cmdType>
    <cmdString>(\d)&amp;&amp;&amp;&amp;{1}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Tcp.Client.WriteLn</cmdType>
    <cmdString>iTach&amp;&amp;{M:GcTivo.TIVO - {Match.{i}}}&amp;&amp;200</cmdString>
    <cmdRepeat>{#M}</cmdRepeat>
  </action>
  <action>
    <cmdType>Tcp.Client.WriteLn</cmdType>
    <cmdString>iTach&amp;&amp;{M:GcTivo.TIVO - ENTER/LAST}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>TCP.Client.Disconnect</cmdType>
    <cmdString>iTach</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <phrase>Tivo Change Channel to</phrase>
  <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\CableChannels.xml</payloadFromXML>
</command>



13
That was my next thought as well but I modified the old command to use Client.WriteLn and it worked perfectly so that's not the problem.

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<command id="758" name="Tivo - CNN/1022" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="" description="">
  <action>
    <cmdType>Tcp.Client.Connect</cmdType>
    <cmdString>iTach&amp;&amp;192.168.1.102&amp;&amp;4998</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Tcp.Client.WriteLn</cmdType>
    <cmdString>iTach&amp;&amp;{M:GcTivo.TIVO - 1}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.Pause</cmdType>
    <cmdString>200</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Tcp.Client.WriteLn</cmdType>
    <cmdString>iTach&amp;&amp;{M:GcTivo.TIVO - 0}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.Pause</cmdType>
    <cmdString>200</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Tcp.Client.WriteLn</cmdType>
    <cmdString>iTach&amp;&amp;{M:GcTivo.TIVO - 2}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.Pause</cmdType>
    <cmdString>200</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Tcp.Client.WriteLn</cmdType>
    <cmdString>iTach&amp;&amp;{M:GcTivo.TIVO - 2}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.Pause</cmdType>
    <cmdString>200</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Tcp.Client.WriteLn</cmdType>
    <cmdString>iTach&amp;&amp;{M:GcTivo.TIVO - ENTER/LAST}</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.Pause</cmdType>
    <cmdString>200</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>TCP.Client.Disconnect</cmdType>
    <cmdString>iTach</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <phrase>Tivo Change Channel to C N N</phrase>
</command>

Just saw your next post. I'll try that now.

14
The good news I've figured out why the channel changes and I get no speech. The bad news is that the reason is I was an idiot and didn't disable the old individual commands when I was testing.  :bonk   So when I said "Tivo change channel to C N N" VC was executing the actions in my old command. The new command you wrote wasn't being executed.
 
Once I disabled all the individual channel commands I had written previously I get the TTS w/ a failed iTach command everytime.  :(

15
Thank you very much nime5ter! This works perfectly for changing channels on my Tivo. I have no RegEx experience so would never have been able to do this myself. This was very educational for me.

Strangely the first action (The TTS.Speak command) doesn't execute when I speak the command. If I use the 'save and execute' button from within the command editor and add a channel name in the payload field it does the TTS but does not sent the iTach commands. Screenshots from the history below. So long as it keeps actually changing the channels I'm happy but from a learning perspective I'm curious as to what the problem could be.




Anyway thank you again. VC and this forum continue to amaze me!


Pages: [1] 2