Today I use this method with the Spectrum web player, as I no longer have a cablecard which is required for the HDHR Prime. The method is similar though.
I'm using the androidhdmi-for-channels app/plugin to send the command to the Windows system. A bash script builds the URL command and then calls curl to send it. I used to just send the channel number, but someone found out how to determine the Spectrum channel ID, which is a 5 digit number, so you can send either the 5 digit number or a channel number and the AutoIt script will handle either. Here is a version of the bmitune.sh I use with most of my channels cut out to make it short:
#!/bin/bash
EG="http://192.168.1.14:8088/index-blank.htm?SpectrumWeb."
LOG1="/home/zogg44/androidhdmi-for-channels/swc-log.txt"
channel=0
# Channel substitution as needed for actual Spectrum channel numbers
if [[ $1 = "101" ]] # USA
then
channel=58452
elif [[ $1 = "104" ]] # Fox
channel=19616
else
channel=0
fi
if [[ $channel != 0 ]]
then
date >> "$LOG1"
echo ---SpectrumWebCtrl: Tuner 1 Request: "$1" Send: "$channel" >> "$LOG1"
curl -s -o /dev/null "$EG""$channel"
fi
On the Windows box, I use EventGhost because it has plugins for timers and running command lines, so I start a timer when the AutoIt script is called and it will kill the browser after say 4 hours if for some reason it's been left running. You could eliminate EG and use winexe or similar on linux to send the command directly to Windows to start the AutoIt script, but I've been using EG a long time and it does other things for me too.
Also, EG is based on Python, so a simple Python script strips off the channel number from the web command. So it will receive a command such as SpectrumWeb.19616, strip off the channel number, run the command line compiled AutoIt executable with the channel number argument, and then set the kill timer.
The AutoIt script is too long to post here but maybe I can put it somewhere for download. What it does is start the desired browser, usually Chrome, to the Spectrum watch URL. If the channel number is the 5 digit code, then it will set it directly to that channel. If it's 2-4 digits, then it uses the old method of starting the browser, waiting a while for the channel to start playing, then clicking and up arrow to get to the first channel and then literally down arrow the required number of times.
Spectrum skips some channels, so I have to maintain a list of channel numbers with keypresses down. I don't really keep up with this anymore since I only use it for certain channels that I can't get anywhere else, but the AutoIt script does still support it.
It also clicks to start the video, a quirk of the Spectrum web interface, and can toggle on/off the captions as well, although I always keep them on.
They set up the web i/f where it requires mouse clicks to use it, not really keyboard friendly but you can use the kb for some things, so automating it was definitely a challenge. I spent a long time trying to automate it, and it works pretty well. It gets used several times a week here.