Figured out what the problem was, after observing the little IR transmitter.<br><br>When I was running the script from the command line, the IR transmitter was flashing 3 times; when from MythTV, only twice.<br><br>Changed the script to hit enter after changing channels (the $needs_enter line).<br>
<br><br><br>Thanks to everyone who replied...without this list, I would have probably given up a while ago!<br><br><br><br>____________________________________________________________________________________<br><br>My change channel script for a Hauppauge<b></b> PVR-150 and a Comcast-supplied Motorola DCT700 cable box:<br>
<br><br>#!/usr/bin/perl<br><br># Script obtained from<br># <a href="http://www.blushingpenguin.com/mark/lmilk/change_channel">http://www.blushingpenguin.com/mark/lmilk/change_channel</a><br>#<br>#<br># make sure to set this string to<br>
# the corresponding remote in /etc/lircd.conf<br>$remote_name = &quot;blaster&quot;;<br><br># Let&#39;s assume you don&#39;t need to press enter after you punch in a<br># channel number. Change this to 1 if your cable box expects you press<br>
# enter after each command<br>$needs_enter = 1;<br><br># Change this to point to your rc executable<br>$rc_command = &quot;/usr/bin/irsend&quot;;<br><br># This subroutine actually sends the signal to the cable box<br>sub change_SIGNAL {<br>
    my($SIGNAL) = @_;<br>    system (&quot;$rc_command SEND_ONCE $remote_name $SIGNAL&quot;);<br>}<br><br>$SIGNAL=$ARGV[0];<br>open F, &quot;&gt;&gt; /home/mythtv/channel.log&quot;;<br>#open F, &quot;&gt;&gt; /var/log/channel.log&quot;;<br>
print F &quot;channel changing $SIGNAL\n&quot;;<br>close F;<br>print &quot;channel changing $SIGNAL\n&quot;;<br><br># Checks if $SIGNAL begins with a digit<br># If it detects that the string is made up of digits, then it puts<br>
# spaces between the digits.  Ex. 1234 becomes 1 2 3 4<br>if ( $SIGNAL =~ /^\d+$/ )<br>{<br>    my $length = length($SIGNAL);<br>    my $counter = 0;<br>    my $temp;<br><br>    while( $counter &lt; $length )<br>    {<br>
        $temp .= substr($SIGNAL,$counter,1) .&quot; &quot;;<br>        $counter++;<br>    }<br><br>    change_SIGNAL($temp);<br>}<br>else<br>{<br>    # argument we passed was not made up of digits, so it must be a<br>    # command that does something other than channel changing on the<br>
    # cable box<br>    change_SIGNAL($SIGNAL);<br>}<br><br># Do we need to send enter<br>if ( $needs_enter )<br>{<br>    system (&quot;$rc_command SEND_ONCE $remote_name ENTER&quot;);<br>}<br>