[mythtv-users] Checking power status of STB

Justin Alcorn justin at jalcorn.net
Tue Nov 4 02:30:57 UTC 2014


On Mon, Nov 3, 2014 at 12:31 PM, Justin Alcorn <justin at jalcorn.net> wrote:
> On Mon, Nov 3, 2014 at 7:44 AM, Justin Alcorn <justin at jalcorn.net> wrote:
>> On Fri, Oct 31, 2014 at 5:48 PM, Daryl McDonald <darylangela at gmail.com> wrote:
>>>
>>>
>>> On Fri, Oct 31, 2014 at 4:11 PM, Tom Lichti <tom at redpepperracing.com> wrote:
>>>>
>>>> On Fri, Oct 31, 2014 at 3:47 PM, Justin Alcorn <justin at jalcorn.net> wrote:
>>>>>
>>>>> On Fri, Oct 31, 2014 at 3:43 PM, Andrew C. (AFPup) Stadt
>>>>> <acstadt at stadt.ca> wrote:
>>>>> >
>>>>>
>>>>> >> My setup: TWC with Cisco STB. Ubuntu 14.04.1 and MythTV 0.28
>>>>> >>
>
> Enhanced to check the mythweb status page and determine if the device
> is actually recording....
>
> #!/bin/bash
>
> REMOTE_NAME=blaster
> DEVICE=/dev/lircd
> SLEEP_TIME="0.3"
> WAIT_TIME="5"
> STB="0_74"
> VDEV="/dev/video0"
> POWER="${STB}_KEY_POWER"
>
>  send () {
>    irsend --device=${DEVICE} SEND_ONCE ${REMOTE_NAME} ${STB}_${1}
>    sleep ${SLEEP_TIME}
>  }
>
> count=0
> until $( wget -o /dev/null -O - --   http://localhost/mythweb/status |
> grep ${VDEV} | grep "not recording" > /dev/null );
> do
>         echo "/dev/video0 is recording...waiting"
>         (( count++ ))
>         if [ ${count} -gt 1 ]
>         then
>                 echo "Tried ${count} times, giving up...."
>                 exit 1
>         fi
>         sleep 5
> done
>
> until $(timeout 2 dd if=${VDEV} of=/dev/null bs=4k count=1 1>/dev/null
> 2>/dev/null )
> do
>         echo "Powering on STB"
>         send KEY_POWER
>         sleep ${WAIT_TIME}
> done
>
>
>  for DIGIT in $(echo ${1} | sed -e 's/./& /g'); do
>    send KEY_${DIGIT}
>  done


Yeah, uh...no.

I failed to take into account that the status page says it's
recording...before it ACTUALLY is recording.  So whenever the channel
change script is called, the status page says recording, and the
channel is never changed.

Good thing I tested it on a day that I didn't really care about the
recordings it was making.

#!/bin/bash

REMOTE_NAME=blaster
DEVICE=/dev/lircd
SLEEP_TIME="0.3"
WAIT_TIME="5"
STB="0_74"
VDEV="/dev/video0"
POWER="${STB}_KEY_POWER"

 send () {
   irsend --device=${DEVICE} SEND_ONCE ${REMOTE_NAME} ${STB}_${1}
   sleep ${SLEEP_TIME}
 }

# If the channel change program is being called, we have to assume
that the HDPVR is ready to be used....

until $(timeout 2 dd if=${VDEV} of=/dev/null bs=4k count=1 1>/dev/null
2>/dev/null )
do
        echo "Powering on STB"
        send KEY_POWER
        sleep ${WAIT_TIME}
done


 for DIGIT in $(echo ${1} | sed -e 's/./& /g'); do
   send KEY_${DIGIT}
 done


More information about the mythtv-users mailing list