So, I'm no developer but I can hack together a little code and i think I figured it out. I added a "disconnect" command to the metadata:
command "disconnect"
And then the following function:
def disconnect() {
telnetClose()
}
I was then able to create custom commands for Initialize, setCH and Disconnect and execute them in my triggered action in that order and the result is that the Telnet session released the network remote after the action is executed so I can use other network remotes. I added a few seconds delay between each command as it seems more reliable that way.
Hi. I am trying to get this on my Tivo Bolt. Most seems to work, except set channel. I'd like to be able to have rule machine automatically switch for SD to the HD channel, but setCH doesn't seem to work. Anyone else have an issue?
I ended up doing several things to bypass setCH. First, it was easier in rule machine to add the actuator capability to the program to allow access to the finer details of the program, next I found out the code for the green, D button on the remote and simply added it to the code. It is called "ACTION_D" if anyone needs it.
Okay, thank you for checking must be something weird with my tivo Bolt. Let me know if you would like to have any of my device edits (adds). Thanks - Brock
I've just had a quick play with this and my Virgin Media V6 Tivo here in the UK. Had to fix the IP address to its MAC in the router as there was nowhere to do it in the Virgin interface, but on a cursory glance, it seems to do what it says on the tin.
Going to try and mix/match this with my LG 2020 OLED Smart TV and HEOS, now. Wish me luck.
Trying to get this working and I am also having difficulty with the SETCH function. It simply does nothing. I am using an OTA tivo, so I have to specify sub-channels (6.1 or 26.2, etc) I have read that you have to use a space as the delimiter, but this isn’t working for me. I wonder if this driver simply doesn’t work properly with OTA channel numbers.
On my Tivo Bolt, the setCH function gave the "CH_FAILED, NO_LIVE" error as some have noted, so I have a workaround for the driver that uses the IRCODE command instead. Here is the changed function code:
def setCH (CH){
if (settings.TiVoMini){ //if is mark as mini
}
else{ //if is not a mini
/* This uses IRCODE commands concatenated in one telnet message separated by \r */
String cmd = ""
for (i=0; i<CH.length(); i++) {
if (i<CH.length()-1) {
cmd = cmd << "IRCODE NUM"+CH[i]+"\r"
}
else {
cmd = cmd << "IRCODE NUM"+CH[i]
}
}
sendMsg(cmd)
}
}
Not sure how you send sub-channels with the IR remote, but this could be modified to adapt.
It's been a while but I just had the need to control Tivo via Telnet...there is a command called ADVANCE that puts out the dash between numbers for OTA channels. So you would send "IRCODE NUM8\rIRCODE ADVANCE\rIRCODE NUM1" for channel 8-1.
Thank you for sharing this! I gave up on using the telnet interface with my Tivo OTA device because I couldn't track this info down anywhere. I may give it another shot now.