# TiVoWeb module to help resolve clashes if you have two TiVos



## sanderton

I've written this TiVoWeb module because I was aware that I was missing recording on one TiVo while the other was sat idle, but figuring out which recordings to copy was too much like hard work.

To use it, copy the module into the tivoweb-tcl/modules directory of BOTH TiVos, and restart TiVoWeb on both machines.

Click "Conflict Resolve" on one of the TiVos, type in the name/IP address of the second TiVo and the number of days ahead you want to look for conflicts. It will then show you a list of unresolved conflicts on the first TiVo. Click the button and it will display the possibilities of recording those shows on the second TiVo:










Click the links to record using the normal TiVoWeb system.

I have written this for my own use and it works for me, but I offer it in case its of use to anyone else.


----------



## pahunt

Sounds like a brilliant idea. I only wish I had 2 tivos


----------



## pgogborn

Having seen what one volunteer can do to greatly increase the functionality of networked TiVos, the salary earning team at TiVo Inc should be hanging their heads in shame.


----------



## dialanothernumb

Stuart,

Which should you be most embarrassed about, being a Bath supporter or showing "evidence" of [email protected]

This looks good. Will try when I've recovered from my little "pulled disks" problem of earlier in the week


----------



## warwick

I was just discussing how handy a feature like this would be with a friend at work today (we've both just installed endpad this week)

And I get in and it's sitting waiting for me... Fantastic !!!!

Installed no problems - and it appears on both menus - and - if I start the procedure from my Sky Tivo (192.168.1.200) it works fine, - BUT _ if I start it from my freeview Tivo (192.168.1.201) I get this:

--cut here--
action_findconfs '' 'set "tivoname" "192.168.1.200";set "daysahead" "7";set "Save" "Next";'
can't read "conflicts": no such variable
while executing
"html_form_hidden "conflicts" $conflicts"
(procedure "::action_findconfs" line 52)
invoked from within
"::action_$action $chan $part $env"
("eval" body line 1)
invoked from within
"eval {::action_$action $chan $part $env}"
--cut here--

The only thing I did that's not mentioned in the instructions was to CHMOD 664 both files, so that they have the same permissions as everything else in the modules folder. Was this right ??

Any ideas where i'm going wrong ???


----------



## horwitz

Well, it sounds like it's finally time to hack the second TiVo. Nice work!


----------



## sanderton

> _Originally posted by warwick _
> *I was just discussing how handy a feature like this would be with a friend at work today (we've both just installed endpad this week)
> 
> And I get in and it's sitting waiting for me... Fantastic !!!!
> 
> Installed no problems - and it appears on both menus - and - if I start the procedure from my Sky Tivo (192.168.1.200) it works fine, - BUT _ if I start it from my freeview Tivo (192.168.1.201) I get this:
> 
> --cut here--
> action_findconfs '' 'set "tivoname" "192.168.1.200";set "daysahead" "7";set "Save" "Next";'
> can't read "conflicts": no such variable
> while executing
> "html_form_hidden "conflicts" $conflicts"
> (procedure "::action_findconfs" line 52)
> invoked from within
> "::action_$action $chan $part $env"
> ("eval" body line 1)
> invoked from within
> "eval {::action_$action $chan $part $env}"
> --cut here--
> 
> The only thing I did that's not mentioned in the instructions was to CHMOD 664 both files, so that they have the same permissions as everything else in the modules folder. Was this right ??
> 
> Any ideas where i'm going wrong ??? *


The conficts variable stores a list of the unresolved conflicts. Is it possible that there aren't any on that TiVo (check the Recording History module of TiVoWeb to see)? My Freeview TiVo comes up with very few. If that were the case the bit of the routine that adds to the conflicts list never gets called so the conflicts variable never gets initialised, hence the error. TCL's a bit crap like that.

You don't need to chmod TiVoWeb modules, but it doesn't hurt if you do,


----------



## sanderton

I fixed that bug, and it was suggested in Another Place that it would be good to have the "Busy" entries clickable to cancel the existing recording and record the conflict, which seemed a good idea, so I've added that.

The zip in the firts post has been amended.


----------



## cyril

What about if you have more than 2 TiVos ? 

Well I suppose I don't really get any clashes except during Christmas Day and Boxing Day


----------



## warwick

Working perfectly now ...

Thanks for all your help.


----------



## 11274

This module suggests another that would be useful with multiple tivos., namely a unified "Now Showing" list.


----------



## sanderton

> _Originally posted by cyril _
> *What about if you have more than 2 TiVos ?
> 
> Well I suppose I don't really get any clashes except during Christmas Day and Boxing Day  *


I did think of you Cyril, but then I figured you probably ahd one TiVo per channel anyway!


----------



## cyril

I guess I might be the one who would most benefit from a unified Now Showing List!


----------



## dialanothernumb

I have an unsubbed tivo, mainly for kids programmes. Will this work with a subbed tivo and its unsubbed cousin?


----------



## sanderton

No, as it expects there to be programme guide details on the other TiVo. You could adapt the code easily enough though.


----------



## dialanothernumb

Seems that it takes a while for the conflict database to refresh (or whatever it does in tivo-ese)

I've found that shortly after I've set up a few new recordings, confres isn't picking the conflicts up... needs about an hour. Is this similar to other experiences.

Also, how often do others run confres? Once a week or so? Prehaps it could be automated?

Stuart, I have ordered the tcl book you mentioned so (but don't hold your breath) a buggy bugger of a piece of code will attempt to link this module with the manrec module to hand off conflicts to an unsubbed box. 

I alsowondered (and I know this is offtopic) whether one could write script to pass a marker in digiguide to the manual recording module. I would use this as a quicker way of scheduling when at the computer/at work, than the standard way in tivoweb. Also it would be a marginally easier interface than manual recording alone on an unsubbed spare box. Any views?


----------



## PaulK

Another top mod Stuart !

I wonder if this could ever be automated?

Paul


----------



## sanderton

I set off with that in mind, but found that for my purposes I actually wanted manual control.

It would be reasonably simple for the code to automatically schedule into any free slots, but it's not something I want to do myself. If anyone wants to mod it, then feel free!


----------



## ChrisJB

Regarding automation, I found that using the DailyMail email was enough to give me a nudge to sort out conflicts. Like Stuart, I would prefer to do the handoff manually


----------



## bignoise

The man. You are.. the man. I'm sorry, but that's the way it is. You *are* the man.


----------



## smiffy

> _Originally posted by dialanothernumb _
> *I have an unsubbed tivo, mainly for kids programmes. Will this work with a subbed tivo and its unsubbed cousin? *


Me too... would this be an easy update like the manual recording from Digiguide?


----------



## sanderton

You would have to adapt it a little.

At the moment it "sends" the channel ident, title and start time to the remote TiVo, which then finds a match in its database and shows that.

You would need to adapt it to send channel number, start time and end time and feed that into an adaptation of cwyngert's manual recording code.

Of couse is the unsubbed machines channel numbers were different, you'd then have another level of complexity, as you'd need to map them.

Perfectly possible though. Feel free to have a go using my code as a base if you want!


----------



## FredThompson

Any chance you'll be releasing another version which enables recording of the possible matches by default? This might also be real cool if there was a way to automatically set all recordings to stay until manually deleted. Say you're gone for a couple of weeks, this combination could let the 2 TiVos work as a team so you've less chance of losing something due to a full TiVo. Gang-scheduling would be cool too, more than 2 TiVos.


----------



## sanderton

No; this module does what I need it to do, so I'm not planning any more devlopment on it myself.

However dialanothernumb has hinted that he might be going to add stuff along the master-slave line.


----------



## gart

Would it be possible to coordinate between the two tivos and mark the status of shows that are moved something other than Conflict?


----------



## kweller

Ignorant of Kent writes...when I run this it can't open 'otherside' as the URL needs the port number. I know nothing about TCL (can anyone recommend a good book?) but looked at the code and saw a line that said -

_set othertivourl "http://$tivoname/otherside"_

In my naiveté I thought if I changed it to look like -

_set othertivourl "http://$tivoname:1683/otherside"_

that woud resolve the problem but it doesn't seem to have. Can someone give me a clue please?

Thanks.

Kevin

Edit: And then I realised the problem isn't that I'm ignorant, it's that I am a prat! Funny how reloading TiVoWeb sorted that out.

So, just the recommendation for the book remaining.


----------



## sanderton

Just put the port number in the name of the other Tivo when prompted; no need to edit the code.


----------



## kweller

Ah that's easier, thanks.

Kevin


----------



## lcsneil

> _Originally posted by kweller _
> *
> So, just the recommendation for the book remaining. *


Try putting TCL TUTORIAL into Google!

No idea if they are any good but looks a lot of info in the first item alone!

Neil


----------



## kweller

Thanks Neil, that first one is a useful resource particularly as I'm struggling with Linux as well.

Kevin (wondering why he didn't think to do an on-line search)


----------



## sanderton

Ther's a TCL primer in "Hacking TiVo" by Jeff Keegan, which also includes stuff on the TiVo-specific commands.


----------



## kweller

Thanks Stuart. That's out of stock on Amazon with the suggestion I 'buy used'. Any idea where I can get it from?

Kevin


----------



## sanderton

Jeff's member of this forum (jkeegan) - ask him!


----------



## kweller

Oh! <blushes> I've just PM'd him, thanks.


----------



## jkeegan

After getting Kevin's PM I contacted my publisher (they initially went to great lengths to make sure it shipped in the UK.. don't know why it doesn't now). My editor just replied this morning saying he's working on seeing if Amazon.com can ship copies to the UK site..

Sorry this happened.. Lemme know if you still can't buy it there in a few days and I'll ask again.

..Jeff

p.s. sanderton, thanks for noticing the Tcl appendix.. That was something I really wanted to make sure I'd be able to write for the book.


----------



## sanderton

Thanks for writing it. 

Typical really; I'd just spent weeks struggling through a couple of TCL textbooks and reams of printouts of TivoWeb code and finished writing EndPad, and then your book turns up from amazon.com and all the info I needed right there!

Hackers these days have it easy. :0 

Things have moved ona lot since it came out through; when's the second edition due?


----------



## jkeegan

> _Originally posted by sanderton _
> *Thanks for writing it.
> 
> Typical really; I'd just spent weeks struggling through a couple of TCL textbooks and reams of printouts of TivoWeb code and finished writing EndPad, and then your book turns up from amazon.com and all the info I needed right there!
> 
> Hackers these days have it easy. :0
> 
> Things have moved ona lot since it came out through; when's the second edition due? *


Right now I'm staying at home with my eight month old daughter, looking for a job.. (and no, writing doesn't count - I might as well work at McDonalds  ).. Once I'm employed, I can consider it.

So, hopefully soon!


----------



## sanderton

> _Originally posted by jkeegan _
> *Right now I'm staying at home with my eight month old daughter, looking for a job.. (and no, writing doesn't count - I might as well work at McDonalds  ).. Once I'm employed, I can consider it.
> 
> So, hopefully soon!  *


With an eight-month-old at home, writing would be out of the question however much it paid...


----------



## Kingpleb

Just wondering has anyone tried this with two tivos and two Pace1000(or any others) STB's on ntl? as i have a spare stb upstairs basically for watching tripe on and the BB connection thru it i was pondering using some money and getting a 2nd tivo with a nice large HDD, Lifetime sub + turbonet, then installing turbonet on my existing one and use them both with this program. sounds like a dam fine program Sanderton keep up the good work!


----------



## cgunn

> _Originally posted by sanderton _
> *You would have to adapt it a little.
> 
> At the moment it "sends" the channel ident, title and start time to the remote TiVo, which then finds a match in its database and shows that.
> 
> You would need to adapt it to send channel number, start time and end time and feed that into an adaptation of cwyngert's manual recording code.
> 
> Of couse is the unsubbed machines channel numbers were different, you'd then have another level of complexity, as you'd need to map them.
> 
> Perfectly possible though. Feel free to have a go using my code as a base if you want! *


I'm a programmer but very new to tcl and tivo programming. So far I've modified confres.tcl to create html forms for each conflict, that will send the appropriate fields to the manual recording module, but the channels are wrong. Can you tell me how to get the channel number instead of the channel ident?

Thanks,

Chris


----------



## Compwiz312

Chris, just wondering if you had any success in redoing the script to set up manual recordings. I don't know if this would work (as I don't program), but if you used the same lineup on both Tivos, with one unsubscribed (let it run GS anyway), couldn't you just use the channel lineup module to change the channel numbers, but the ids would stay the same (and thus work).

Justin


----------



## cgunn

> _Originally posted by Compwiz312 _
> *Chris, just wondering if you had any success in redoing the script to set up manual recordings. I don't know if this would work (as I don't program), but if you used the same lineup on both Tivos, with one unsubscribed (let it run GS anyway), couldn't you just use the channel lineup module to change the channel numbers, but the ids would stay the same (and thus work).
> 
> Justin *


I've gotten it working on my TiVos but haven't gotten around to cleaning it up to post. I also modified it so that you have the option of displaying adjacent shows on different channels, so you can send them to the other TiVo so that sanderton's endpad.tcl can do it's thing.

Does anybody know whether it would be ok to post an update like this here?

Edit: It also adds a button to delete (mark the show as moved), so the next search for conflicts won't show it. And an option to show moved conflicts.


----------



## sanderton

Go ahead and post it, but please make it clear it's your version in the name of it.


----------



## cgunn

Conflict Resolve with Manual Recording

This group of modifications to existing TivoWebPlus modules provides the ability
to resolve conflicts by creating a manual recording on another TiVo and deleting
(marking as resolved) the original recording.
Thanks to Stuart Anderton for confres.itcl which is the basis for 
confresManual.itcl
Thanks to Christopher R. Wingert for manrec.itcl which was modified to accept 
station callsigns instead of channel chnsel ids.
Thanks to falcontx for TivoWebPlus.

To install:
FTP confresManual.itcl (and optionally ui1.itcl) to the TiVo that has conflicts.
FTP manrec.itcl to the TiVo that will receive the transfered recording.
Perform a quick restart of TivoWebPlus on both TiVos.


To use:
Click the "Conflict Resolve Manual" link in the TivoWebPlus that has conflicts.
On the resulting page, put the name or ipaddress of the TiVo to send conflicts to.
Decide whether you want to transfer Conflicts or shows that are in adjacent time 
slots but on different channels.
Decide if you also want to see previously resolved shows.
Click the Next button.
The resulting page will list the conflicts or adjacent shows. You have the 
option of selecting the recording quality, and whether or not you want to force 
the show to be recorded even if there is a conflict on the destination TiVo.
Click the Record button for the show to be transferred. This will take you to 
the manual recording page of the remote TiVo. 
Once the show has been scheduled on the remote TiVo, use the browser's back 
button to return to main TiVo.
At this point, you can delete, or actually mark the show as resolved, using the 
delete button.
Or you can record another conflict.

If a deleted show has a schedule change (start time or duration) that still 
results in it being a conflict, the next time you visit the page, the show name 
will be followed by "(Schedule has changed)" to warn you that you should 
retransfer this recording.

If you install the optional ui1.itcl, the User Interface module will be modified 
so that the screen that displays info about upcoming showings will have an 
option to record that showing on another TiVo. This allows you to click on the 
Episode link in most screens of the User Interface module (ToDo, Season Pass, 
etc) and have an option to transfer that recording.


----------



## sirfergy

Anyone gotten around to gettings this 100% automated?


----------



## cyril

My workaround a few years back was to have one TiVo for each channel. It's more or less 99% automated


----------



## sirfergy

Hah! 

I was hoping keep my 2nd tivo unsubbed since i only have a few shows that get missed a week.


----------



## Wolffpack

This is just GREAT!!!!


----------



## sirfergy

Has anyone automated this yet?


----------



## gtrogue

Maybe I missed something but my conflicted shows show up with the wrong times. It looks like you get GMT. Is there a way to change the times to reflect other time zones?


----------



## jhatfield

great module Sanderton 

Only thing it really needs now is the show description to pop up when you hold the mouse arrow over it. Anybody working on that?


Jon


----------



## ywu

> _Originally posted by cgunn _
> [This group of modifications to existing TivoWebPlus modules provides the ability
> to resolve conflicts by creating a manual recording on another TiVo and deleting
> (marking as resolved) the original recording.]


Dumb question, but will this work on standard TivoWeb, rather than TWP?


----------



## cgunn

The conflict resolve part should work fine with TivoWeb or TWP. Only the ui1.itcl requires TWP


----------



## cojonesdetoro

> _Originally posted by cgunn _
> *Conflict Resolve with Manual Recording
> *


This is shweet!

I thought that I would download this hack and start looking at how I could automate it. Once I used it, I realized that it just would not be useful for me to have it automated. I have just a few recordings to resolve in a two week period and a whole bunch I'd rather let go unrecorded.

It also would involve writing a TW module that acts like a browser client... not worth the trouble although it would be fun to try.

One suggestion, it would be nice to have checkboxes so you don't have to click on each individual recording. You can just fill in the form and have one submit button. Of course, you'd need to deal with conflicts of your conflicts. It's more useful if you use 'force' for everything.

EDIT: Heh, a few more sugestions. It would be nice to parameterize the recording quality and tivo IP. Some novice users may not know that you need to change a 75 to a 40 to change from high to medium as the default.


----------



## cojonesdetoro

I hate to reply to my own post but perhaps there is room for automation.

I think a feature where you specify specific recording names that are always force-recorded on the other Tivo might be nice. It would have to come with all sorts of caveats and disclaimers, of course. I can imagine someone going crazy wondering why their recordings or season passes on the 'slave' tivo keep getting whacked. I'm going to look into this. 

I also thought about the 'imitate a web browser client' issue and it shouldn't be that hard for this application. Tivoweb is actually pretty simple. It doesn't use cookies, JS ('cept some modules) or applets. Simple POST and GET commands should be able to do everything.


----------



## adspguy

I find that that I use this module to verify that between the season passes I have on my two tivos, I get the programs I want. About once a week I do the conflict resolve, and just check to see the "already recording" messages for the shows I thought. I rarely need to tell it to record on the other tivo.

On a different note, it also works with tivoweb on one tivo and TWP on the other. (I've been to lazy to install the TWP on the other one)

This is way too cool


----------



## jhatfield

I like it, but I still think it would be more user-friendly if the description of the show would pop-up when you hold the mouse over the title, i.e. if it was an actual link to the show like in other parts of tivoweb. When I use this module, I typically have a 100 or more shows that are conflicts on my main tivo. So, I'm always trying to figure out which listing is which, and the times are all off, so I'm usually trying to figure out which of 17 different episodes of Stargate-SG1 is the one I'm looking for, etc., etc., etc. It's really not much of a problem on the other two tivos. They have hardly any conflicts between them.

I like the module, but for me it's a bit tedious to use where I need it most. 

Jon


----------



## sanderton

100 conflicts!

The module works fine for my needs and I have no plans to add to its functionality. 

If you want to have extra stuff, well the way it works with these hacks is that if you want it then you add it! Code to change the time format and add mouse-overs is in other TW modules for you to use as a template.


----------



## jhatfield

> _Originally posted by sanderton _
> *100 conflicts!
> 
> The module works fine for my needs and I have no plans to add to its functionality.
> 
> If you want to have extra stuff, well the way it works with these hacks is that if you want it then you add it! Code to change the time format and add mouse-overs is in other TW modules for you to use as a template. *


Yeah, it's a really long list. 

Well, maybe I'll have to learn something about module writing.

Jon

EDIT: I just checked. I had 130 conflicts this time. Long list, but average for that tivo.


----------



## cojonesdetoro

Well, I've made some progress in writing a proc that uses parameters defined in the script itself to issue the proper GET statements to pass to the other Tivo. You give it the titles of shows to auto-force-record and it generates the statements. I've cut-n-paste the statements to a telnet session to port 80 on the other tivo and it works as expected. It's probably only useful for a handfull of shows. I actually only have two shows that are regular conflicts.

All I have to do now is write a few more parts and add some error checking. I have to create the socket code that opens the TCP connection to the other tivo in order to pass the URL. I also have to put together the code that will automatically run the module in the background at regular intervals. Both of these are fairly easy but then I have to do a little alpha testing myself before I ask others to risk their Tivos.

My other Tivo is unsubbed so I'm writing this as an add-on for the manrec version submitted by cgunn. I'll be asking for beta testers within a week unless things come up. Most of the hard part is done but right now it's time for bed.


----------



## cojonesdetoro

Okay, looks like I got it working.

If anyone is interested, let me know and I will send you a copy of the script to beta test. It is working on my setup with a subbed US SA1/3.0 to a slave unszubbed SA1/3.0, both running TW+. It works by enforcing the recording on the slave for specific show titles specified in varuables within the script. It opens the socket to the slave tivo and submits the URL directly.

The script runs as a 'silent module' in that it does not show up on the tivoweb menu. It gets executed when tivoweb starts and then proceeds to 'call itself' every 30 seconds. There is a RUNTIME variable where you set the time of day for it to actually execute the conflict resulution and enforce the recordings on the slave tivo. Every 30 seconds it checks to see if it is time to run, as per the RUNTIME variable, and then does so if it is. It leaves output in the tivoweb log file.

I think I'll find it useful for certain weekly shows but I guess I'll see how truly useful it is in the long run.

EDIT: This script requires cgunns variation of Sanderton's module. Thank's to both.


----------



## cojonesdetoro

I just thought of another great application alonf these lines.

It would be nice when you're at a tivo screen showing a conflict that you can issue a key sequence that sends the recording request to another tivo. I'm not sure if you can read the context of a conflict screen and determine the information you need to need from /tmp/mwstate to do this.

I'm going to start messing around to see. This would be a nice way to resolve immediate conflicts not involving season passes right from the Tivo interface with a remote control. hmmm... let me see:

yep, sho'nuff. I dump the state while at a conflict screen and get this in /tmp/mwstate:

snip.
.
This newly requested program is on at the same time as a 
previously scheduled recording, as shown below. You must cancel 
one of your previously scheduled recordings in order to record the 
new one.

Will NOT record:
<15>UPN 9 News <165>5/12 <225>10:00 pm-11:00 pm <405>9 WWOR
<30>overlaps with <150>The Carol Burnett Show: Let's Bump Up the Lights <330>10:00 pm - 11:00 pm
}.
.
snip

I'm not sure what the numerals in brackets mean but I at least have a a station ID, show title and time. That should be enough to find it, contruct a URL and send it to the manual record module on the remote tivo. All I have to do is then watch for a specific remote sequence that would normally be ignored by myworld but would trigger the routing to do this. I could then print a newtxt2osd message inficating that the result was sheduled on the remote successfully.

Now this sounds like a really cool app. I'll star messin' around to see if I can make success with this but, from what I've learned so far by looking at stuarts and cgunn's work, this should be very possible.

BTW: THe only other hack I know that can schedule a recording on another tivo, frommthe tivo interface, is cwingert's OHM project. It's a nice project but sometimes the remote ty is corrupt. It doesn't hurt a tivo but does seem to make ohm go haywire.


----------



## ywu

hi cojonesdetoro

I was wondering how the beta testing was going for your automated script (as well as the even better remote-initiated one!). I'm looking forward to trying it out when you've got it stable.


----------



## cojonesdetoro

I had one person volunteer to beta test the automated one. I sent him a copy last week but haven't gotten any feedback. The code is still ugly. I wrote it by hacking up cgunn's script to create the URL and send it directly but I left a lot of stuff there that's not needed. I called it confresAuto.tcl. If you want to test it I can send you a copy. I'd rather have a few people try it before I post something that could cause grief.

I only recently got the remote-initiated one working. I decided to add it as a new function to my fxpmerge script, since I already have it reading remote codes and looking at context changes. It seems to be working so far although it's a but crude. The program descriptions and titles get a little munged on the remote, unsubbed unit because I strip out non-alpha characters in the generation of the URL.

It works by:
- looking the context to change to 12 (record a program screen). 
- If you then press [rec] it will dump the state
- read the /tmp/mwstate file, parse out the title+desc+callsign+time+duration
- create the URL for cgunns version of manrec
- open a socket and 'pretend' to be a browser and submit the URL
- read the responses to see if there was a conflict and report success/failire

Note: right now it forces recordings but reports conflicts. I have to come up with an option that 'asks' if it's okay to override a conflict instead of playing 800lb gorilla.

It's crude but works great here. I have two SA1/3.0 tivos. Once is subbed and one is not but the unsubbed Tivo has the same lineup and callsign/channel setup as the subbed unit. I don't think this will work without that.

If anyone wants a copy of this, I will send it via Email.

BTW, the best way to contact me is to PM me here or on the other board (ddb) and give me your Email addy. All I ask is that you report back on how it worked and if there are any serious problems.


----------



## cojonesdetoro

I have added a feature to the remote-initiated remote record script whereby you can toggle the 'force record' flag. Now it will not force record by default. You have to press [1] to toggle the behavior.


----------



## Jobius

I've hacked up Stuart's original code (not cgunn's version) to add timezone support and hover text for episode descriptions. The formatting is also a little different, so automated scripts that parse confres output may fail.

I've only tested it on TivoWeb Plus. And since we're on the UK forum, I should confess that I've misspelt "Programme" as "Program". 

Still, It Works for Me, and some may find it useful, so I'm posting it.


----------



## irrelevant

Has anybody done any further work on this?

My problem is that tivo1 will often bump a recording because of a higher priority recording on a channel that both tivos get, but tivo2 doesn't always have the lower priority channel (tivo1 is sky, tivo2 freeview)

confresmanual that I run now allows me to reschedule the bumped recordings, but this doesn't help all that often. 

Is there any way to cancel the *higher* priority recording, reschedule that on the slave tivo, and let the main one get the lower priority recording?


----------



## cojonesdetoro

> _Originally posted by irrelevant _
> *Is there any way to cancel the *higher* priority recording, reschedule that on the slave tivo, and let the main one get the lower priority recording? *


The information you need should be there but, on the surface, it looks like a lot of work is needed to achieve what you want. You would have to get the list of shows that cause the conflict and use them instead.

Do you have one Tivo whose channel listings are a subset of the other? Maybe you need to go in the opposite direction and let the 'subset' Tivo send recordings to the one with more channels. If it's not that simple then it would require a good bit of coding. Unless you're willing to do it yourself, I doubt it will get done. There probably aren't a lot of people who require such a 'niche' feature. Most people who use most incarnations of this hack would need nearly identical channel lineups (even when the 'slave' is unsubed).

BTW, I just noticed that my avator is 'sporting the colors' while I post in a UK forum. Please do not interpret this in any sort of negative way. I'm not trying to "make a statement". It's just a coincidence


----------



## irrelevant

Thanks for the response. I had thought about running it in the opposite direction, (from the secondary tivo) but at present that one doesn't actually have much scheduled to record on it, and it obviously cannot know about shows that only appear on channels it doesn't receive anyway, so even if I manage to set up season passes, etc, it won't flag a clash as it can't try to record ...

Thinking aloud here ...
If one deletes a show out of the todo listing in tovoweb, does the tivo automatically reschedule previously unresolved clashes for recording?

if it does ... then I guess all we need in this case would be for confresmanual.tcl to tell us what was taking priority over the unrecordable show, and offer a delete button (pinched from the todo page) for that, along with a 'schedule instead on tivo2' button for that same show ... then we could choose which one to send to the other tivo .. would that work?


----------



## cojonesdetoro

Hi,

Since Tivo has lowered the price of subcribing additional units here in the US. I have not done anything with my 'automated' version of conflict resolver and no longer use it. It worked well while I had an an unsubbed Tivo but now I just manage my season pass priorites so that shows are not missed.

I have decided to post it here in case anyone wants to develop it further or may find it useful as it stands. 

This script takes a bit of a brute force approach. You need to 'hard wire' the show titles you wish to schedule on the remote, unsubbed Tivo. It will execute once a day at a defined time and schedule the recordings on the remote(slave) Tivo. It ignores conflicts on the remote and will schedule a show even if it has already been scheduled. Cgunn added a feature whereby conflicts could be marked as resolved and not processed in the future but I ignored all that in the interest of just getting it working quickly. The script requires cgunn's changes to Stuart's original script so install that first. 

It's useful if there are a few shows you know you want to record no matter what the circumstance. It will only resolve conflicts for specific show titles.


Since this script is messy and lacks any elegance, treat it as ALPHA code with the associated risks. I doubt that the script could cause more harm other than to not work at all, or perhaps unintentionally overwrite some TODO items on the remote TIvo.

This script worked in the following environment so YMMV:

US-SA3.0 Tivowebplus subbed master Tivo
US-SA3.0 Tivowebplus unsubbed slave unit (with the same channel lineup. this part is important!)

There's more specific "howto" text in the script itself.

Have fun.

EDIT: As a safety measure, I have named the file so that it will not be run by Tivoweb unless renamed with a .itcl extension. Do this last after reading and making the needed edits in the file.

EDIT2: This script does not require a PC to act as the "go between". It "pretends" to be a browser client sourcing from the master Tivo while scheduling the shows on the slave Tivo. Even if no one finds the script's actual function useful, coders may like to look at the scheduling technique used as well as the 'browser client' process. It's nice to have a Tivoweb module that can be triggered to do something at specific times (like cron).
Thanks to Riley3105 for showing me how.


----------



## philhu

Does the ORIGINAL conflict resolution module work for 2 subbed tivos with different channel numbers?

I have one with a cable box and one with direct cable. Our channels are different between box and no-box cable (NBC is 4 on the box, but 23 on the cable directly).

Since Sanderton's module sends idents, NOT channels, will the second tivo pick it up and 'remap' to the correct channel?

So, if I have a conflict on nbc/4 on tivo 1 with a show, will it send it to tivo2
as the ident NBC, which will record on 23?


----------



## cojonesdetoro

Actually, I think it's cgunn's version that uses the callsigns instead of channel numbers. Try them both out and measure your results. You can see quickly if it's going to work for you by looking at the 'todo' screen on the target/slave tivo.


----------



## sanderton

> _Originally posted by philhu _
> *Does the ORIGINAL conflict resolution module work for 2 subbed tivos with different channel numbers?
> 
> I have one with a cable box and one with direct cable. Our channels are different between box and no-box cable (NBC is 4 on the box, but 23 on the cable directly).
> 
> Since Sanderton's module sends idents, NOT channels, will the second tivo pick it up and 'remap' to the correct channel?
> 
> So, if I have a conflict on nbc/4 on tivo 1 with a show, will it send it to tivo2
> as the ident NBC, which will record on 23? *


It does a text look up on the ident code; channel numbers are not used anywhere. I wrote it to do exactly what you describe - one TiVo gets its channels from satelleite, the other from digital terrestrial. BBC 1 is 101 on one box and 1 on the other.


----------



## philhu

> _Originally posted by sanderton _
> *It does a text look up on the ident code; channel numbers are not used anywhere. I wrote it to do exactly what you describe - one TiVo gets its channels from satelleite, the other from digital terrestrial. BBC 1 is 101 on one box and 1 on the other. *


Wow! this is cool.

I am setting it up right now

phil


----------



## Enesha

Hey All, I hope someone can help here. I have two DirecTiVo's at my house, that are both upgraded to 4.0 to allow for HMO and MRV, etc. I have confresolv installed on both machine in tivoweb+ 1.0. My problem is this...I start the script on tivo 1, entering tivo 2's ip, leaving it at 7 days. It brings up the list of conflicts, then I tell it to pass iff to Tivo 2. This is the point where it fails. It passes itself off to the "otherside" of tivo 2, but the grid that comes back tells me: "Channel not available". I'm not sure how this is possible as both are DirecTiVo units subbed on the same account with the same channels. 

Any input would be greatly apprectated, and if you need more information, tell me and I can post it Wasn't sure what else you might need. THanks

--E


----------



## phango13

tried both the sanderton and cgunn versions and get the same error with both:

INTERNAL SERVER ERROR
--cut here--
action_manrec '' 'set "titlestr" "Law & Order";set "episodetitlestr" "License to Kill";set "descriptionstr" "McCoy and Borgia target the man who chased a mass murderer through Manhattan.";set "chnsel" "";set "callsign" "SF11";set "wodatetz" "1109116800";set "wotimetz" "22";set "womin" "0";set "durationstr" "60";set "ratingstr" "0";set "repeat" "once";set "recqual" "75";set "forcerecord" "0";set "submit" "Record";'
expected integer but got "22.1"
while executing
"lsort -integer [array names channeltablenum]"
(procedure "getchannelsir" line 10)
invoked from within
"getchannelsir"
(procedure "create_manual_todo_recording" line 12)
invoked from within
"create_manual_todo_recording $chan $timeArray $chnsel $callsign $titlestr $episodetitlestr $descriptionstr $ratingstr $programSource $recqual"
(procedure "::action_manrec" line 154)
invoked from within
"::action_$action $chan $part $env"
("eval" body line 1)
invoked from within
"eval {::action_$action $chan $part $env}"
--cut here--

is it a problem with my channel guide?? thanx in advance for any help...


----------



## sanderton

I've seen this before; you are on one of the US networks which list local stations as "x.y". This code (like a lot of other modules) expects the channel number to be an integer, not a fraction.

Take the -integer paramter out of the indicated lsort command.


----------



## phango13

many thanx Stuart!! i'll give this a go tonite and report back...


----------



## chippyt

I just tried removing the -integer trick and it worked great. I wanted to use this module for a while, but I had the same error as above, now it works great.

Thanks!

PS Is there a way to set a time zone (US Mountain) instead of Tivo's internal clock. I know I know, I should live in a real time zone. ha ha


----------



## Blahblah2000

I can't seem to download any of the files from this thread. Are these files hosted on tivocommunity.com, or some other hosting site that may be down?

Thanks!


----------



## lcsneil

Blahblah2000 said:


> I can't seem to download any of the files from this thread. Are these files hosted on tivocommunity.com, or some other hosting site that may be down?
> 
> Thanks!


Tivocommunity.com and it seems OK to me (18:35 GMT)

Neil


----------



## Blahblah2000

Weird. Still doesn't work for me both from home or work. Oh well.

Thanks for the info, though.


----------



## lcsneil

It comes up as a pop up - you aren't blocking pop ups are you? (Think both IE and Firefox block by default) - I have block pop ups for tivocommunity switched off.

Neil


----------



## Blahblah2000

Nope, not blocking. It pops up and tries to connect, then fails and displays this error:

"Internet Explorer cannont download ...achment.php?attachmentid=2861 from www.tivocommunity.com.

Internet Explorer was not able to open this Internet site. The requested site is either unavailable or cannot be found."

/shrug


----------



## sanderton

I'm getting that error too. If you're after the file in the top posting, you can get it from my web site in my sig.

Edit: try right clicking and opening in new window, just worked for me!


----------



## Blahblah2000

Ah, great. Thanks Sanderton! 

Edit: Your right-click tip worked perfectly. Thanks.


----------



## adavison17

Hi,

Has anyone had problems with this module, along the lines of receiving a response of "*STATUS: Slot free, error finding fsid for link*" on the remote machine?

I'm running tivowebplus, on non-standard ports if that turns out to be a contributor...

Andy


----------



## sanderton

That means that it found a matching channel, but the programme in the time slot does not match the one in the source TiVo. Manually compare the guide data, see if you can see the problem.


----------



## adavison17

Hmmm. I checked the guide info, and everything matched. Interestingly when I tried to resolve the same conflict later this evening I got the following "crash"

Any ideas, or do I need to "Use the Source, Luke" 

Andrew

--cut here--
action_manrec '' 'set "titlestr" "Dr. Phil";set "episodetitlestr" "What Type Of Parent Are You?";set "descriptionstr" "Self-help advice and strategies for a healthy life.";set "chnsel" "";set "callsign" "Nine-Mel";set "wodatetz" "1111449600";set "wotimetz" "12";set "womin" "0";set "durationstr" "60";set "ratingstr" "0";set "repeat" "once";set "recqual" "75";set "forcerecord" "1";set "submit" "Record";'
expected integer but got ""
while executing
"db $db openid $chnsel"
("uplevel" body line 54)
invoked from within
"uplevel $body"
invoked from within
"transaction {uplevel $body}"
(procedure "RetryTransaction" line 5)
invoked from within
"RetryTransaction {
puts $chan "Creating Recording..."

set recording [ db $db create Recording ]
dbobj $recording set BitRate 0
..."
(procedure "create_manual_todo_recording" line 15)
invoked from within
"create_manual_todo_recording $chan $timeArray $chnsel $titlestr $descriptionstr $ratingstr $programSource $recqual $keepdays"
(procedure "::action_manrec" line 201)
invoked from within
"::action_$action $chan $part $env"
("eval" body line 1)
invoked from within
"eval {::action_$action $chan $part $env}"


----------



## sanderton

Someting odd about that channlel, looks like it's not getting recgnised by TivoWeb.


----------



## cmylxgo

Enesha said:


> Hey All, I hope someone can help here. I have two DirecTiVo's at my house, that are both upgraded to 4.0 to allow for HMO and MRV, etc. I have confresolv installed on both machine in tivoweb+ 1.0. My problem is this...I start the script on tivo 1, entering tivo 2's ip, leaving it at 7 days. It brings up the list of conflicts, then I tell it to pass iff to Tivo 2. This is the point where it fails. It passes itself off to the "otherside" of tivo 2, but the grid that comes back tells me: "Channel not available". I'm not sure how this is possible as both are DirecTiVo units subbed on the same account with the same channels.
> 
> Any input would be greatly apprectated, and if you need more information, tell me and I can post it Wasn't sure what else you might need. THanks
> 
> --E


I am getting the same problem. Any luck?



Code:


Programme Time (TiVo internal clock) Channel Status 
Survivor: Palau Thu 01:00 - 02:00 WWJ Channel not available 
Point Pleasant Fri 02:00 - 03:00 WJBK Channel not available


----------



## sanderton

It does a simple text match on the callsigns from the channels I receive list of the second Tivo. 

I have not tested this module with TW+; it may hold the CIR list in a different way?


----------



## cmylxgo

sanderton said:


> It does a simple text match on the callsigns from the channels I receive list of the second Tivo.
> 
> I have not tested this module with TW+; it may hold the CIR list in a different way?


Thanks...I'll try and figure it out.

Has anyone tried this on TW+ and got it to work?


----------



## adspguy

I use this module a couple times a week with TW+. It has no problem even though one tivo gets its programming from a digital cable box and the other gets analog cable direct from the wire (very different lineups.)

In case I haven't said it before, this module is awesome!


----------



## cmylxgo

adspguy said:


> I use this module a couple times a week with TW+. It has no problem even though one tivo gets its programming from a digital cable box and the other gets analog cable direct from the wire (very different lineups.)
> 
> In case I haven't said it before, this module is awesome!


Thanks for the input. This must be an issue with the DirecTivos then. I have tried removing the -integer from the .tcl without any luck. Man I really want to get this working. This module is even better now that you can have it included in your jazzed daily emails


----------



## chippyt

I use this module with tivowebplus 1.1pre2 and HDVR2s running 4.0 and it works great. I had to remove the -integer to make it work though.


----------



## cmylxgo

chippyt said:


> I use this module with tivowebplus 1.1pre2 and HDVR2s running 4.0 and it works great. I had to remove the -integer to make it work though.


Are you using Stuarts version or someone elses? I just did a full reboot on my 2 HDVR2 running 4.0.1b and TW+ 1.1pre2 and still get the same problem.

This is what is being passed...


Code:


{1111627800 1111629600 DT2 EP7133100008 {The Simple Life: Interns} 5400}
{1112580000 1112583600 E! EP7215080010 {The Entertainer} 7200}


----------



## sanderton

In proc action_otherside, add the line:

puts $chan $callsigns

after the line

getchannelsir

and post the output when you try a resolve. 

It should dump all the callsigns it knows about adn you should see if the ones you want are there or not.


----------



## cmylxgo

sanderton said:


> In proc action_otherside, add the line:
> 
> puts $chan $callsigns
> 
> after the line
> 
> getchannelsir
> 
> and post the output when you try a resolve.
> 
> It should dump all the callsigns it knows about adn you should see if the ones you want are there or not.


Hmmm...I did that and now it wont pass anything without the below error


Code:


INTERNAL SERVER ERROR
--cut here--
action_otherside '' 'set "conflicts" "{1111627800 1111629600 DT2 EP7133100008 {The Simple Life: Interns} 5400} {1112580000 1112583600 E! EP7215080010 {The Entertainer} 7200}";set "Save" "Pass them to the other TiVo";'
expected integer but got "7.1"
    while executing
"lsort -integer [array names channeltablenum]"
    (procedure "getchannelsir" line 10)
    invoked from within
"getchannelsir"
    (procedure "::action_otherside" line 9)
    invoked from within
"::action_$action $chan $part $env"
    ("eval" body line 1)
    invoked from within
"eval {::action_$action $chan $part $env}"
--cut here--

I doubled checked and made sure that -integer was removed.


----------



## cmylxgo

I changed...

_foreach channum [lsort *-integer * [array names channeltablenum]]_

To...

_foreach channum [lsort [array names channeltablenum]]_

Is this correct?


----------



## cmylxgo

sanderton said:


> In proc action_otherside, add the line:
> 
> puts $chan $callsigns
> 
> after the line
> 
> getchannelsir
> 
> and post the output when you try a resolve.
> 
> It should dump all the callsigns it knows about adn you should see if the ones you want are there or not.


Ok...got it to work...no idea what was hamming it up. I rebooted both tivos and tried again.

Looks like its not dumping all the call signs. Below is what I got at the top of the other side page...


Code:


NMX SMX KMX PPV PPV ESN2 DTV FINE OXGN PAX NGC NKTN GAC DTV CSTV FUEL CBS TSO RSNa NBA2 NBA6 NBA7 NB12 NHL MC35 TIVOS

Since these are all DirecTivos how can I make it use the actual channel number?


----------



## sanderton

Without re-writing it you can't.

Are you sure you have the "Channels I recieve" set correctly on the second TiVo - it's just reading that list.


----------



## cmylxgo

sanderton said:


> Without re-writing it you can't.
> 
> Are you sure you have the "Channels I recieve" set correctly on the second TiVo - it's just reading that list.


I'm not sure what you mean by "Channels I recieve". Is that something that I have to setup in TW or through some settings on my TiVo menu?


----------



## cmylxgo

Ok...I resolved the channel guide issue. I copied my entire module dir from my working tivo to the tivo in question. I was able to confirm the channel line was there by using the User Interface/Channel Guide/All link in TW+.

Now for the strange issue that I can not figure out for the life of me. Once I try to transfer the show to the other side I get the -integer issue again.


Code:


INTERNAL SERVER ERROR
--cut here--
action_otherside '' 'set "conflicts" "{1111627800 1111629600 DT2 EP7133100008 {The Simple Life: Interns} 5400} {1112580000 1112583600 E! EP7215080010 {The Entertainer} 7200}";set "Save" "Pass them to the other TiVo";'
expected integer but got "7.1"
    while executing
"lsort -integer [array names channeltablenum]"
    (procedure "getchannelsir" line 10)
    invoked from within
"getchannelsir"
    (procedure "::action_otherside" line 9)
    invoked from within
"::action_$action $chan $part $env"
    ("eval" body line 1)
    invoked from within
"eval {::action_$action $chan $part $env}"
--cut here--

I have ftp'd confres.itcl off the tivo and checked it. Just like I stated above the file has the -integer removed. Is there another TW+ module that is called when the data is transfered to the other side? I'm starting to loose my mind


----------



## sanderton

Did you do a full restart of TW? The code is all held in memory after loading; changes on the disk will do nothing until restarted.


----------



## sanderton

cmylxgo said:


> I'm not sure what you mean by "Channels I recieve". Is that something that I have to setup in TW or through some settings on my TiVo menu?


On the TiVo, where you tick the channels you have subscriptions to?


----------



## cmylxgo

sanderton said:


> Did you do a full restart of TW? The code is all held in memory after loading; changes on the disk will do nothing until restarted.


Yep..not only did I do a full reload. I quit TW+ and telneted into the box and restated the service. I also rebooted both Tivos. I also made some text changes to the page so I knew the new version was loaded. I would call myself an experienced TiVo hacker and this one has got me baffled. I also even tried clearing my internet cache and I tried this on 3 different PCs.


----------



## sanderton

cmylxgo said:


> Yep..not only did I do a full reload. I quit TW+ and telneted into the box and restated the service. I also rebooted both Tivos. I also made some text changes to the page so I knew the new version was loaded. I would call myself an experienced TiVo hacker and this one has got me baffled. I also even tried clearing my internet cache and I tried this on 3 different PCs.


Well, you clearly haven't deleted the "-integer" from getchannelsir I'm afraid! The error message is pretty clear...


----------



## cmylxgo

sanderton said:


> Well, you clearly haven't deleted the "-integer" from getchannelsir I'm afraid! The error message is pretty clear...


I agree with you on clarity of the error message. Today I tried a cold boot of both tivos. No luck. I then changed just the -integer from your original file via vi from the command line on both tivos. Did a full reload in TW+ and I still get this [email protected]#$%^&* error message  I have also tried moving the conflict to a 3rd tivo with the same damn problem.

I also removed confres.itcl and did a full restart verified that the module was gone then copied it over in binary mode via ftp. Edited the file with vi and did another full reload. I'm getting close to throwing the towel in.


----------



## sanderton

FTP the confres.itcl from the target TiVo and post it here.

Two that have caught me out on accisaion:

* Do you have more than one install of tivoweb, say 1.9.4 and TW+?
* Are you sure you are working on the copy from the /modules directory of the live install?


----------



## cmylxgo

sanderton said:


> FTP the confres.itcl from the target TiVo and post it here.
> 
> Two that have caught me out on accisaion:
> 
> * Do you have more than one install of tivoweb, say 1.9.4 and TW+?
> * Are you sure you are working on the copy from the /modules directory of the live install?


I only have TW+ installed. I just double checked to make sure. And I am 100% confident that I am working with the /modules version.

I started messing around with the manual version and had success with that. The manual version deleted my conflict (Local Channel Conflict) off my tivo so I was unable to test it again. I had to go and add a bunch of wish list items to make some new conflicts to test with.

I've come to two conclusions so far. One, this might be a TW+ bug or two, the conflicts that I am currently working with do not have the decimal or local channels and they are passing the -integer test.

The reason I think it might be a TW+ problem is that I modified your file to use confres2 and otherside2 and titled it Conflict Resolver 2. That was a test so I knew that it was using the new code that had the -integer removed. Well..when I passed the show to the other side it failed with the -integer problem. So I removed my modified .itcl file and did a full reload. I then used your file again and when I went to pass to the other side it sent it the my old url http://tivo/otherside2 instead of http://tivo/otherside. For some reason it must load the code and store it somewhere...like it cached it or something. Here is the part that puzzles me the most. I did a cold restart and it did the same thing. So it must write it to some files somewhere. But I am not a TW+ guru so I could be way off base here.

As for the file it is currently working...it has passed a ton of shows...but they are all from the movie channels so I have a feeling they are passing the -integer. As far as I know the locals are the only non integer values. So at this point I can not confirm if my problem is resolved or not. Is there a way to force a conflict on my locals?

I have attached the file as you requested. I put some notes in it where I modified it.


----------



## sanderton

This will definitely be a smack-to-the forehead mmeonet when you figure out what you are doing. I don't believe this is a subthe TW+ bug, but something very obvious, whatever it is. 

First off, there is certainly no cache in TW and I very much doubt that there's one in TW+, but all the code in /modules is loaded into memory on TW startup. A Full Restart will start over (actually a Quick Restart will too so far as modules are concerened). 

One possibility is that another module you have loaded has a procedure called getchannelsir which is taking priority over the one in conflict resolver? An old copy of the conflict resolver module perhaps? Try renaming the proc and the call to it.


----------



## cmylxgo

I changed the getchannelsir proc to getchannelsir2 and it seems to be working now. To test it I used the values from one of my previous post and built a test html file to pass the data to the otherside tivo.



Code:


<FORM METHOD="POST" ACTION="http://tivo/otherside"">
<INPUT TYPE="hidden" NAME="conflicts" VALUE="{1111627800 1111629600 DT2 EP7133100008 {The Simple Life: Interns} 5400} {1112580000 1112583600 E! EP7215080010 {The Entertainer} 7200}">
<INPUT TYPE="submit" NAME="Save" VALUE="Pass them to the other TiVo">
</FORM>

These shows were failing before and now I get the Availability on second TiVo: screen. Thanks for the all the direction you gave me Stuart. Plus, I learned alot about coding on the TiVo 

I've attached the final file that has worked for me. For anyone that uses this file they may want to change the default value for your remote tivo. The value in bold is what needs to be changed.

puts $chan [tr "" [td "The other TiVo to try to find recording space on: "] [td [html_form_text 1 35 "tivoname" "*10.0.0.99:99*"]]]


----------



## chippyt

The module doesn't seem to take into account the second tuner on DirecTivos. I tried to pass a few recordings from one HDVR2 to another and it said the other HDVR2 was busy. Only one tuner was busy, so it could record on the second tuner, but the module doesn't realize it. A fix for this would be a great addition. Regardless, this is one module I use regularly. Thanks


----------



## sanderton

Kid of assumed that with a two tuner DirecTivo you wouldn't need it; it's for us lowly series 1 SA users really.

Wouldn't have a clue how to program for two tuners anyway, and couldn't test any code.

Which is why the DirecTivo version of Endpad ended up being written by someone else.


----------



## cmylxgo

With wish lists and all those damn reality shows my wife likes to watch...its common that 2 tuners wont cut it. In fact I ran into a situation once that I had 5 shows recording at one time. I had to do some serious juggling (3 DirecTivos) to make it work...but now that your file is working...life is now going to be alot easier


----------



## DaytonaDave

Hi All,

I have this running fine now with my two Tivos, but am having one issue that does not seem to be addressed.

When my main Tivo tries to pass over a show being recorded on a Local, I always get the response that the channel is not available on the 2nd Tivo. (I do have locals on both, and they both work fine).

Anyone else seeing this?
Thanks,
Dave


----------



## sabu

Does anyone have this working with one Tivo being an SA Series 1 and the other being an SA Series 2? I'm thinking about adding a second Tivo for conflict resolution (both show and wife) and want to know if I need to go digging for a Series 1.

Thanks,
Bob


----------



## sanderton

I see no reason why it wouldn't work.


----------



## gem2919

Hi to all, new user from down-under, Sanderton, I'm in awe.. great work mate. However its one of your babies that has drawn me to join the forum as I'm having a little trouble. If you can help I'd appreciate it. 

I'm running 2 Series1 tivo's with the Oztivo image 1.3 (Just bought my second unit). I'm having trouble with Conflict Resolve, all goes well, until I select a show to resolve, once I choose "pass them to the other Tivo" I get a response "Slot free, error finding fsid for link" and cant go any further. I've searched high and low and cant find any previous reporting / solution. I'm sure its basic, but I am definitely "amateur" when it comes to software issues.

Thanks in advance

Gary


----------



## cojonesdetoro

sabu said:


> Does anyone have this working with one Tivo being an SA Series 1 and the other being an SA Series 2? I'm thinking about adding a second Tivo for conflict resolution (both show and wife) and want to know if I need to go digging for a Series 1.
> 
> Thanks,
> Bob


Can anyone confirm the existence of a work S1->S2 implementation. I have been putting off hacking my Toshiba SD-H400 for some time but this might encourage me get off my bum* and hack it.

*Yeah, I'm a yank but I'm familiar with the Queen's English


----------



## sanderton

I can't see any reason why it wouldn't work. 

We say "arse".


----------



## vertigo235

Just added a second tivo and this module sounds so attractive. However I get this error when I try to use it.

INTERNAL SERVER ERROR
--cut here--
action_otherside '' 'set "conflicts" "{1124845200 1124848800 DSC EP6114420007 {Dirty Jobs} 3600} {1124847000 1124848800 DIY EP5309570047 {Weekend Landscaping} 5400} {1124850600 1124852400 DIY EP6893000021 {Grounds for Improvement} 9000} {1124928000 1124931600 SPKE EP3803410092 {CSI: Crime Scene Investigation} 00000} {1124935200 1124938800 CT3 EP6797140016 {CSI: NY} 7200} {1125104400 1125108000 SPKE EP3803410097 {CSI: Crime Scene Investigation} 3600} {1125108000 1125111600 CT9 SH0000210000 20/20 7200} {1125360000 1125363600 SPKE EP3803410003 {CSI: Crime Scene Investigation} 00000} {1125532800 1125536400 SPKE EP3803410007 {CSI: Crime Scene Investigation} 00000} {1125532800 1125534600 SCI EP4154020018 {How It's Made} 00000} {1125534600 1125536400 SCI EP4154020019 {How It's Made} 1800} {1125543600 1125545400 SCI EP4154020018 {How It's Made} 10800} {1125545400 1125547200 CRT EP7457860013 {The Takedown} 12600} {1125545400 1125547200 SCI EP4154020019 {How It's Made} 12600} {1125619200 1125622800 ETV EP5293060073 {The New This Old House Hour} 00000} {1125622800 1125626400 CT3 EP3803410103 {CSI: Crime Scene Investigation} 3600} {1125626400 1125630000 HIST EP1031150356 {Modern Marvels} 7200} {1125702000 1125705600 SPKE EP3803410010 {CSI: Crime Scene Investigation} 82800}";set "Save" "Pass them to the other TiVo";'
expected integer but got "64.1"
while executing
"lsort -integer [array names channeltablenum]"
(procedure "getchannelsir" line 10)
invoked from within
"getchannelsir"
(procedure "::action_otherside" line 9)
invoked from within
"::action_$action $chan $part $env"
("eval" body line 1)
invoked from within
"eval {::action_$action $chan $part $env}"
--cut here--

Any ideas.


----------



## vertigo235

Yes it does help to read the thread before asking a question!


----------



## rbreding

Read through the thread and just curious if there was any resolution to accessing the second tuner on the 2nd (or 3rd) DirecTiVo ?

Thanks


----------



## vertigo235

I was going to ask about that too. This is such a great module, I'm tempted to dig and and try to figure out how to make it work my self. 

It actually will work with dual tunners you just have to click on the link to resolve conflicts on the second tivo and see if there is actually a second tunner available. 

It would be nice to know right away on the "otherside" screen if both tunners are used or not though. 

I'll let you know if I make any progress.


----------



## Fofer

vertigo235 said:


> I was going to ask about that too. This is such a great module, I'm tempted to dig and and try to figure out how to make it work my self.
> 
> It actually will work with dual tunners you just have to click on the link to resolve conflicts on the second tivo and see if there is actually a second tunner available.
> 
> It would be nice to know right away on the "otherside" screen if both tunners are used or not though.
> 
> I'll let you know if I make any progress.


Please do, vertigo235, that's be great! I love this module.  Thanks sanderton, and cmylxgo for your DTiVo tweaks. :up:


----------



## jasch

I am trying to get this up and working on my Tivo (seems that 2 tuners are not enough anymore <grin>).

I managed to remove the -integer bit, since I was getting the previously reported error, but now I get this on the "otherside":



Code:


INTERNAL SERVER ERROR
--cut here--
action_otherside '' 'set "conflicts" "{1127185200 1127187000 LA2 EP2776100177 {The King of Queens} 10800} {1127187000 1127188800 LA2 EP7537960001 {How I Met Your Mother} 12600} {1127188800 1127190600 LA2 EP5927330050 {Two and a Half Men} 14400} {1127190600 1127192400 LA2 EP7537980001 {Out of Practice} 16200} {1127271600 1127275200 DSC SH7463420000 {Firehouse USA: Boston} 10800} {1127271600 1127273400 LA7 EP4456910108 {According to Jim} 10800} {1127361600 1127365200 LA11 EP7542030002 {Head Cases} 14400}";set "Save" "Pass them to the other TiVo";'
expected integer but got ""
    while executing
"db $db openid $stationdayfsid"
    ("uplevel" body line 2)
    invoked from within
"uplevel $body"
    invoked from within
"transaction {uplevel $body}"
    (procedure "RetryTransaction" line 5)
    invoked from within
"RetryTransaction {
					set stationday [db $db openid $stationdayfsid]
					set showings [dbobj $stationday get Showing]	
					set slen [llength $show..."
    (procedure "::action_otherside" line 36)
    invoked from within
"::action_$action $chan $part $env"
    ("eval" body line 1)
    invoked from within
"eval {::action_$action $chan $part $env}"
--cut here--

Any ideas on what the problem is?


----------



## jasch

Hmmm. I restarted again, and I tried the code, now I get this error:



Code:


INTERNAL SERVER ERROR
--cut here--
action_otherside '' 'set "conflicts" "{1127185200 1127187000 LA2 EP2776100177 {The King of Queens} 10800} {1127187000 1127188800 LA2 EP7537960001 {How I Met Your Mother} 12600} {1127188800 1127190600 LA2 EP5927330050 {Two and a Half Men} 14400} {1127190600 1127192400 LA2 EP7537980001 {Out of Practice} 16200} {1127271600 1127275200 DSC SH7463420000 {Firehouse USA: Boston} 10800} {1127271600 1127273400 LA7 EP4456910108 {According to Jim} 10800}";set "Save" "Pass them to the other TiVo";'
missing close-bracket or close-brace
    while compiling
"foreach channum [lsort "
    (compiling body of proc "getchannelsir", line 10)
    invoked from within
"getchannelsir"
    (procedure "::action_otherside" line 9)
    invoked from within
"::action_$action $chan $part $env"
    ("eval" body line 1)
    invoked from within
"eval {::action_$action $chan $part $env}"
--cut here--

The exact code I am using is:



Code:


proc getchannelsir {} {

global cir
global callsigns
global channeltablestation
global channeltablenum
global db


foreach channum [lsort [array names channeltablenum]] {
        set stationfsid $channeltablenum($channum)
        set data $channeltablestation($stationfsid)
        set callsign [lindex $data 2]
        lappend cir "$callsign $stationfsid"
        lappend callsigns "$callsign"
}

}


----------



## jasch

Ok, I found the source of my problems, but I havent figured out how to fix them yet.

The *missing close-bracket or close-brace* error I get when the program I am trying to pass on the other TiVo is not ye on the other TiVo's guide (ie, appears as "To Be Announced" for example). I got this errors, because I was trying out the conflic resolver with a high number of days, so I believe I was in the threshold of the maximum permitted/allowed (about 12 days).

Now I am back to the *expected integer but got ""* error. I traced this error to: Channel not available (at least that's what TWP thinks). It's a local channel, and I can watch it perfectly fine on both TiVos on the same channel numer. I tough it was a matter of giving it a little time, restarting TWP, etc. That was 2 days ago.

Furthermore I have no lists set-up (either Channels I Receive or Favorites), so all my channels are "open".

Any ideas from anyone?


----------



## lee espinoza

Same here my guide is full and I still get:
INTERNAL SERVER ERROR
--cut here--
action_otherside '' 'set "conflicts" "{1129510800 1129514460 KSAT EP6723180028 {Desperate Housewives} 3600} {1129514400 1129518000 KRRT EP4621440008 Smallville 7200} {1129683600 1129687200 KRRT EP7542310007 Supernatural 3600} {1129683600 1129685400 TRAV EP6243890033 {John Ratzenberger's Made in America} 3600} {1129683600 1129687200 DSC EP6114420018 {Dirty Jobs} 3600} {1129770000 1129771800 FINE SH6251710000 {Made to Order} 3600} {1129852800 1129856400 KRRT EP4621440101 Smallville 00000} {1129941000 1129942800 KABB EP3513740136 {Malcolm in the Middle} 1800}";set "Save" "Pass them to the other TiVo";'
expected integer but got "12.1"
while executing
"lsort -integer [array names channeltablenum]"
(procedure "getchannelsir" line 10)
invoked from within
"getchannelsir"
(procedure "::action_otherside" line 9)
invoked from within
"::action_$action $chan $part $env"
("eval" body line 1)
invoked from within
"eval {::action_$action $chan $part $env}"
--cut here--


----------



## jasch

lee espinozax
"lsort -integer [array names channeltablenum said:


> "x


Read the thread. The answer to this problem has been posted several times.


----------



## john1980

If anyone would like to try it, the latest version of the Manual Record module (version 0.2.2) should be compatible with this module. It may help resolve some of the issues with dual-tuners, etc...

I'm also happy to code any changes/requests if you can spot something that could be improved.


----------



## billnbell

INTERNAL SERVER ERROR
--cut here--
action_otherside '' 'set "conflicts" "{1138419000 1138440600 ESNa SP1736950000 {Clippers @ Nuggets} 12600}";set "Save" "Pass them to the other TiVo";'
expected integer but got "22.1"
while executing
"lsort -integer [array names channeltablenum]"
(procedure "getchannelsir" line 10)
invoked from within
"getchannelsir"
(procedure "::action_otherside" line 9)
invoked from within
"::action_$action $chan $part $env"
("eval" body line 1)
invoked from within
"eval {::action_$action $chan $part $env}"
--cut here--


----------



## Wolffpack

billnbell,

This issue with TWP has been addressed. Look up a few posts and read the thread. There is a fix.

An integer cannot contain a value of 22.1 so possibly the definition of that variable needs to change.


----------



## jasch

It's been working for me for months, but I just noticed that if I have two conflicting programs at the same time, only one get's listed...

For example, tonight I am recording on ABC, CBS, FOX and NBC at the same time, yet the conflict resolvers only lists one program with conflict, instead of the two it should...


----------



## Entcee

I was wondering... One of my DirecTiVo's in only using one tuner (I only have one cable in that room.)

What code would I need to change so confres knows I connot record 2 shows at the same time?

Thanks in advance.


----------



## john1980

Entcee said:


> What code would I need to change so confres knows I connot record 2 shows at the same time?


There are many different confres methods, but I am guessing that you might be able to get away with just letting TivoWeb/Plus on that box know that it only has one tuner.

Assuming that you are running TivoWebPlus on this system you should be able to set dtivo to 0. In the version I have this variable is being set in the httpd-tt.tcl module, change "set dtivo [MfsFileExists /ApgBoot]" to "set dtivo 0"... this may work... you will need to test.


----------



## Entcee

Thanks I will try it next time I am messing around with things.

I appreciate it!


----------



## willardcpa

OK, I brought this thread back up for two reasons. First of all I find that the conflict resolution is a great utility. Second, I have an issue with it and am soliciting some help. I note that it is in the latest version of Tivowebplus, but I think that it still has the "bug" (at least for those of us on this side of the pond - must be some damn thing about dollars and cents vs. pounds and schillings) in it that gives problems re channels that are not "whole integers" the thread indicates that you need to eliminate the "- integer" in one line. Well after a ton of searching I found that the phrase in question is on line 210 - so there I am helping.  
Now to the help that I need, the module seems to indicate that you can just enter the name of the other tivo, but I can't get it to work without entering the address (eg 192.168.1.2). Is there a way to be able to use the tivo name instead? 
BTW thanks to Sanderton for cooking this up.


----------



## sanderton

If you have a hosts file mapping the IP address to a name you can use that.


----------



## willardcpa

Thanks, I have seen that mentioned, but forgot about it as I have not had any occasion to require it in the past.


----------



## willardcpa

Well, I went into the /etc/hosts file and added the names an IP addresses of my other tivos. But that didn't seem to help. I probably should mention that I am doing this on DTivos and I have five of them hooked up to my network. Since that didn't work I looked around to see if I could find a workaround. What I came up with was going into confres.itcl and on line73 where it assigns the address as "http://$tivoname/otherside" I just substituted the IP address of one of my other tivos for the "$tivoname" and it seems to have "hardwired" the conflict resolution to that particular tivo. Works for me, as I would probably just be using one for the resolution anyway. Thanks again for the help and authoring this module.
Hmmmm, seeing how it actually reconnects to the tivowebplus on the other tivo in IE. Maybe I need to be setting up the hosts on my computer instead of on the tivo box??


----------



## willardcpa

Well after spending about five hours on this I have it figured out. I had to set up the names of the other tivos on the computers hosts file (once I figured out that it was read only and I had to change that so I could modify the hosts file).
That got it to working - so I went back and restored the confres.itcl to their original status. 
Now I can look all around the house (five Dtivos) see the confilicts and push them to another box.

Thanks again to Stuart for the help and original work.


----------



## john1980

willardcpa said:


> I note that it is in the latest version of Tivowebplus, but I think that it still has the "bug".


There is a rather modified version of the various conflict resolvers included in the "latest" TWP which does not have the integer bugs in it. The complete package has been checked and all "integer" sorts have been dealt with appropriately so you should not have any trouble with them. If you are not running the latest then I would suggest giving it a go... it's pretty good  (TWPv1.3.0)


----------



## willardcpa

Thanks John, I had previously seen that. But I misread the statement that the latest version was 1.2.1, I tuned out the later comments. Since I had 1.2.1 I thought that I had the latest.


----------



## rderkis

Conflict resolution currently uses the manual record module, to schedule show recordings on 2nd tivo. It works great! Even adding the show name! 
I want to be able to do this with any show listed in the history list or just the deleted shows.
I have studied the code for 2 weeks but can not figure out which variable checks to see if it is a conflict. I am guessing that if I could change the condition to not equal, the TLC would list all the (deleted) programs. 
Any help with this would be greatly appreciated! I think I am getting to old to figure it out


----------



## rderkis

I did figure out that by changing the code in confresManual.itcl from
"creason == 20" to "creason != 20" in both places it is found, causes all shows to be displayed. From there you can pick which ones to record on your 2nd tivo.


----------



## Pete77

OK I'm coming to the party rather late on this but after reading through the thread would appreciate clarification on the following points:-

1. As I understand it Sanderton's (or TCM2007 as we must now refer to him) original module requires the second slaved Tivo that the conflicts are resolved on to have a Lifetime Sub. Is that a correct understanding or can an unsubbed Tivo also be used via Manual Recording with the original Conflict Resolve written by sanderton?

2. Some of the module variants written by our US Cousins to work under TivoWebPlus appear as though they can run a Slave Tivo that is unsubbed but to do this requires the use of TivoWebPlus (probably 1.3.1 or earlier as no one seems to have reworked the automated version of the Conflict Resolve module for TivoWebPlus 2.0) and all sorts of manual messing around with channel names etc.

I happen to have here a spare unsubbed Thomson Tivo S1 unit I got for free (from someone who would have otherwise tossed it out on the junk heap) but before I waste money looking out for a cheap Turbonet card for it on Ebay it seems there is no point if I in fact need to have a sub on this machine to get anywhere.

Can anyone who runs the automated version of the Conflict Resolve module with an unsubbed Tivo give me an idea of how tricky it actually is to get it working and would any of the original authors of the US automated version of this module consider updating it to work with TivoWebPlus 2.0 Also will the US version of Conflict Resolve for TivoWebPlus work on a Series 1 UK Tivo as long as it is running TivoWebPlus?

I know in the USA you have exciting things like the TivoS3 that can handle conflicts for you but here in the UK we are stuck with using our trusty Tivo S1 unless a Petition that is currently running on the UK part of the forum can persuade Virgin Media to update their Scientific Atlanta based V+ box to run with Tivo software (as run by Cox Communications on the same box in the USA) instead of the cheap dumb video recorder software they have supplied it with as standard. See http://www.ipetitions.com/petition/tivo4vplus/index.html for info on the petition.

If either the great man himself (i.e. TCM2007 - nee sanderton) or any of our US Cousins could assist with these various questions it would be very much appreciated.


----------



## TCM2007

Pete77 said:


> O
> 1. As I understand it Sanderton's (or TCM2007 as we must now refer to him) original module requires the second slaved Tivo that the conflicts are resolved on to have a Lifetime Sub. Is that a correct understanding or can an unsubbed Tivo also be used via Manual Recording with the original Conflict Resolve written by sanderton?


Yes, that's correct. My module passes the program name and channel ident to the slave Tivo, which attempts top find a match, sot it needs to be subbed. This is because on my system the master has Sky and the slave Freeview, so setting up a simple "record channel 21 at 10.30" would not work.

Others have since retrofitted the manual record as their setups are two idential STBs.

I've not used those versions, so i can't answer q2.


----------



## Pete77

TCM2007 said:


> Yes, that's correct. My module passes the program name and channel ident to the slave Tivo, which attempts top find a match, sot it needs to be subbed. This is because on my system the master has Sky and the slave Freeview, so setting up a simple "record channel 21 at 10.30" would not work.
> 
> Others have since retrofitted the manual record as their setups are two idential STBs.
> 
> I've not used those versions, so i can't answer q2.


I have a suspicion that there is a very high maintenance overheard to getting this working and keeping it working whenever there are channel changes that does not really justify my investment in another Lifetime subbed machine even at the current low prices (an unmodded Lifetime subbed 40Gb machine sold for £110 including delivery earlier today). As a single person household I would have no other real use for a second Lifetime Subbed Tivo.

I do now have a basic working 40Gb machine here without a sub that came into my hands free of charge. However it would need a Cachecard or Turbonet card before we could even consider the Manual Recording option.


----------



## 1gr8ftoy

Does this work still? I am going to be using a Series3 HD and a Premier XL as of next week and would love this feature...


----------



## mikerr

Only for S1 Tivos...


----------



## 1gr8ftoy

Ok thanks!


----------

