PDA

View Full Version : ServiceState



iceberg
07-09-2001, 10:18 AM
I've searched through here and can only find mentions of how to set the ServiceState. What exactly do I need to do to set it to 5 so my unit stops annoying me while I persue other guide data options? I'm sorry if I'm being dense and missing something obvious. Thanks in advance.

stryder
07-09-2001, 10:49 AM
It was in this thread.
http://www.dealdatabase.com/forum/showthread.php?s=&threadid=1112&perpage=15&pagenumber=3

Bought halfway down the screen I believe

iceberg
07-09-2001, 10:55 AM
I thought I read it somewhere, but I couldn't find the post again when I actually wanted to do it. Thanks very much.

TiVoMad
07-09-2001, 01:06 PM
Hi All,
Well, I thought I would have a break from the drive expansion stuff and play with tcl and stuff. I've been looking at the servicestate hack. I want to make a standalone PVR with manual recording only. It seems to me that setting the servicestate value to 5 is only part of the solution. If you do this on a TiVo that has expired guide data, it still does not allow manual recording and it still brings up the nag screen. Does anyone know where the TiVo gets the date for the expiration of the guide data ? Is it a value somewhere or is it calculated from the data. Looking at the JPags stuff, he doesn't set a value anywhere. I also tried setting the date of a guide data program entry to a future date and signalled myworld to take it but it didn't cure the problem.

Any help appreciated,
Kind Regards,
Trevor.

stryder
07-09-2001, 02:32 PM
The JPags stuff doesn't set the date of guide data expiration because he isn't actually creating database entries, he is putting the information for data already there in place. Basically just updating the entries. This switches the titles and dsecriptions out from the generic ones to the correct data.

aram1s
07-09-2001, 02:58 PM
Trevor,

I think that will be better addressed by ripping apart the slice files. Once you can create your own slice files, then you can just make a slice file and have the tivo import it.

A

Tictoc
07-09-2001, 06:12 PM
Hi Trevor, welcome to the forum!

First, I want to say that you did a wonderful hack with that drive expanded utillities. I hope you can continue your great work here, without all of the legal mambo jumbo like in other forum(s).


Btw, I think with service state hack, I can still Manually record by time/channel eventhough the nag screen is still there everytime I hit tivo button.

iceberg
07-09-2001, 07:41 PM
I haven't ever dialed into Tivo. Is this a problem? I'm getting an error when I try and run the immortal.itcl Will I have to dialup once? I configured the guided setup, but rebooted when I got to the point where it wanted to dial. Most of the setting stuck... I was thinking of just using some of the Jpag scripts to configure the channels and guide. Anyone?

The error I get with immortal.itcl is:

07/09:19:43:37: immortal.itcl: error storing Setup: expected integer but got ""

and then lists off the settings (I can submit if necessary).

Please advise. Thanks in advance.

Pique
07-09-2001, 08:50 PM
I have not updated the software to 2.01 i'm still on 1.3, are you talking about disable nags from 2.01?

is it safe to update to 2.01 without the service now?

P.

Tictoc
07-09-2001, 08:53 PM
it works for me.

Some suggestions:

Make sure you do it within tivosh.

Check the script again, make sure you do all the typing right (ie. serviceState instead of servicestate).

It's a short script. Try to type it line by line within tivosh instead of running the script.

pasha
07-09-2001, 11:01 PM
well
serviceState
and expiration
is one step
seems like setting them to correct value doesnt work well for SA
it's need program data...
and I didn't look for this part...
and seems like important part is last succesfull call...
so here is some hints

set now [clock seconds]
set stateExpiration [expr ($now / 86400) + 365 ]


open your database /Setup
and load this crap

dbobj $setup set ServiceState $serviceState
dbobj $setup set ServiceStateExpiration $stateExpiration
dbobj $setup set LastCallStatus $StatusStrings::Succeeded

surgeon
07-10-2001, 04:11 AM
Originally posted by eel-sushi
well
serviceState
and expiration
is one step
seems like setting them to correct value doesnt work well for SA
it's need program data...
and I didn't look for this part...
and seems like important part is last succesfull call...
so here is some hints

set now [clock seconds]
set stateExpiration [expr ($now / 86400) + 365 ]


open your database /Setup
and load this crap

dbobj $setup set ServiceState $serviceState
dbobj $setup set ServiceStateExpiration $stateExpiration
dbobj $setup set LastCallStatus $StatusStrings::Succeeded



I no speaka Linux sooo good, but is this right for a shell script to do the above???


#!/bin/bash
#
#################
# No More NagZ! #
#################
#
set serviceState 5
set now [clock seconds]
set stateExpiration [expr ($now / 86400) + 365]

set db [dbopen]
trans { set setup [db $db open /Setup]
dbobj $setup set ServiceState $serviceState
dbobj $setup set ServiceStateExpiration $stateExpiration
dbobj $setup set LastCallStatus $StatusStrings::Succeeded }
dbclose $db

pasha
07-10-2001, 08:05 AM
#!/bin/tivosh
source /tvlib/tcl/tv/Inc.itcl
source /tvlib/tcl/tv/mfslib.tcl
source /tvlib/tcl/tv/setup.tcl
source /tvlib/tcl/tv/StatusStrings.itcl

Lord Magnus
07-10-2001, 09:23 AM
Can someone point me to some reference on this dbobj thing? I have a little linux background, but I don't recognize those commands. Are they part of tcl or are they some tivo executable?

surgeon
07-10-2001, 11:43 AM
Originally posted by eel-sushi
#!/bin/tivosh
source /tvlib/tcl/tv/Inc.itcl
source /tvlib/tcl/tv/mfslib.tcl
source /tvlib/tcl/tv/setup.tcl
source /tvlib/tcl/tv/StatusStrings.itcl

Is this the correct way???

#!/bin/tivosh
#
##############
# NoMoreNagZ #
##############
#
source /tvlib/tcl/tv/Inc.itcl
source /tvlib/tcl/tv/mfslib.tcl
source /tvlib/tcl/tv/setup.tcl
source /tvlib/tcl/tv/StatusStrings.itcl

set serviceState 5
set now [clock seconds]
set stateExpiration [expr ($now / 8640) + 365]
set db [dbopen]
trans { set setup [db $db open /Setup]
dbobj $setup set ServiceState $serviceState
dbobj $setup set ServiceStateExpiration $stateExpiration
dbobj $setup set LastCallStatus $StatusStrings::Succeeded }
dbclose $db

Also, hypothetically speaking of course, let's say that someone had access to .slice files from one of their lifetime sub'ed boxes and could copy those files to their newest un-sub'ed box and insert them. Then they ran the little script above. Would that be enough to make the un-sub'ed box smile???

mrblack51
07-10-2001, 11:57 AM
you would need to use dbload slicefile to load the slices as far as i know.

CyberMop
07-10-2001, 09:48 PM
I gotta problem... I have fiannly got the BashPrompt working on my directivo - never working with this os before it was - well, took my windowed mind a while to get used to it.... Any ways.....

There is one command I am getting hung up on.... here is the command and the response - any help would be appreciated...

bash-2.02# set stateExpiration [expr ($now / 86400 + 365]
bash: syntax error near unexpected token `($'

iceberg
07-10-2001, 10:25 PM
Originally posted by CyberMop
bash-2.02# set stateExpiration [expr ($now / 86400 + 365]
bash: syntax error near unexpected token `($'

My guess... close the )...

set stateExpiration [expr ($now / 86400 + 365)]


Hope it helps.

EDITED:
I just read the post from the last page... looks like it might be:

set stateExpiration [expr ($now / 86400) + 365 ]

but in any case, there is a paren missing ;)
:EDITED

EDITED2:
SUCESS script as follows... side note, doesn't like being run as a shell script, had to do "tivosh nomorenagz.itcl"

turns out tivosh is in /bin... should work if you "chmod 700 nomorenagz.itcl" and just run it.

trans needed to be expanded to transaction.

Also, it is definately 86400, this converts unix seconds to unix days form 1970, and adds a year.

Anyway, here is the entire script that worked for me on my 312 without ever dialing TIVO...

#!/tvbin/tivosh
##############
# NoMoreNagZ #
##############
#
source /tvlib/tcl/tv/Inc.itcl
source /tvlib/tcl/tv/mfslib.tcl
source /tvlib/tcl/tv/setup.tcl
source /tvlib/tcl/tv/StatusStrings.itcl

set serviceState 5
set now [clock seconds]
set stateExpiration [expr ($now / 86400) + 365]
set db [dbopen]
transaction { set setup [db $db open /Setup]
dbobj $setup set ServiceState $serviceState
dbobj $setup set ServiceStateExpiration $stateExpiration
dbobj $setup set LastCallStatus $StatusStrings::Succeeded }
dbclose $db

:EDITED2

It is still bitching up a storm about not having guide data or anything, but that will hopefully be solved soon ;)

aram1s
07-11-2001, 10:44 AM
Will this now allow you to record more than 1/2 from live tv?

A

iceberg
07-12-2001, 10:52 AM
I don't know. Is there a limitation if you don't have service that you can't record more than 1/2 hour at a time off live tv? I'm not at the point yet where recording is required. I have ReplayTV for that...

I'm compiling the script which adds my channel lineup to the lineup in the Tivo (what is the best source for this?). I got some information from tvguide.com and the affiliate info from tv.yahoo.com (eg boston chan 2 = wgbh = pbs), is there other stuff I should be trying to put into the channel lineup? Is it important? Is there a database?

Does anyone know if the SignalSource schema is documented (with descriptions?), or what all the options/correct types of values are? I plan on making the script/subroutine available (if it's not already out there somewhere.

set db [dbopen]
transaction {

set setup [db $db open /Setup]
set sources [dbobj $setup get Source]

puts "Adding channel..."
set source [db $db createsub SignalSource $setup]
dbobj $source set ProviderName "ATT" ;# is this where I should be putting the Cable Co name? I think so.
dbobj $source set SignalType 5 ;# What is this? Bueller
dbobj $source set Connector 1 ;# RFIn(1)/Composite(3)/SVideo(5) <----
dbobj $source set RFChannel 2
dbobj $source set CableBoxCodeNum 0 ;# I think this only applies if you're using an external box.
dbobj $source set LineupType 0 ;# should this stay 0?
dbobj $setup add Source $source ;# save the channel

...see next message (too long)

iceberg
07-12-2001, 10:55 AM
...continues

puts "Enter naming information"
set station [db $db create Station]
dbobj $station set CallSign "WGBH" ;# Change me and the one below 4 whateva
dbobj $station set Name "WGBH"
dbobj $station set Affiliation TiVo ;# Is this where PBS could go?

puts "Creating channel: 2"
set channel [db $db createsub Channel $setup]
dbobj $channel set Station $station
dbobj $channel set SourceIndex 1 ;# does this stay 1?
dbobj $channel set Number 2 ;# Change me for the channel #
dbobj $channel set Surf 0 ;# confused
dbobj $channel set Favorite 0 ;# confused
dbobj $channel set Record 0 ; # I was able to record a few minutes, and it's in now showing with it set to 0. Is this whether tivo can choose to record off it automatically or not?
dbobj $source add Channel $channel

}


In any case, I will try and kick off a 2 hour record to test it tonight to see if it does go over 1/2 hour (if that was a limitation for unsubbed units).

Input is welcome and appreciated. I'm not psyched, but I have a tcl book and I'm probably going to have it read in a file in the format:

[Gobal]
ProviderName "ATT"
SignalType 5
Connector 1 ;# RFIn(1)/Composite(3)/SVideo(5)

[Channels]
2 2 WGBH PBS 0
3 3 CHAN3 CHAN3 0

and stick something like
if {$argc != 2} {
error "Usage: command filename"
}
set f [open [lindex $argv 0] r]

and do a bunch of gets statements and loop through to create all the channels (with a subroutine). I know I'm duplicating effort, but at least it will be done twice.

stryder
07-12-2001, 11:01 AM
I believe that the 1/2 hour limitation only concerns pausing live tv ? I never saw any indication that it affected the normal schedule recording using the guide.

SuperVHS
07-12-2001, 11:29 AM
The record limit of 1/2 hour results because, when there is no guide data, the default record window is 30 min. If you have guide data for a 60 min show, it will record the full hour.

You can manually set a recording for any length.

iceberg
07-14-2001, 10:10 PM
Looks like I make my tivo into a boatanchor. Glad I have a backup...

Jul 14 21:47:09 (none) UiTimer[104]:Heartbeat thread (pid 104) started
Jul 14 21:47:10 (none) MyWorld[103]: MyWorldGlobals::UpdateBoadAnchorMode: boat anchor mode is TRUE!

Anyway.... back to the drawing board. I tried a manual record (pressing record) while watching a show and it recorded 30 minutes. I guess without guide data, this device is only going to record 1/2 hour.

I will restore and figure out what I did wrong... then I'll post the script that loads the channel lineup.

iceberg
07-15-2001, 10:21 AM
Ok, so what's the dbobj command to remove a channel from the lineup?

TiVo_Canada
08-12-2001, 05:18 PM
UpdateBoadAnchorMode ???

I thought this meant that there was no Guide Data.

Does this imply something else?

infinity
08-28-2001, 12:00 AM
Can someone tell how to apply this script to my sony T60 dirtivo? I am not real hip to linux i have Dylans boot disk? and what directory or folder do i make to put this in or do i? Can i use dylans boot disk to apply it. I need the steps to do this. I have spent hours and have got no where. I would appreciate any help tremendously. Thanks...

#!/bin/bash
#
#################
# No More NagZ! #
#################
#
set serviceState 5
set now [clock seconds]
set stateExpiration [expr ($now / 86400) + 365]

set db [dbopen]
trans { set setup [db $db open /Setup]
dbobj $setup set ServiceState $serviceState
dbobj $setup set ServiceStateExpiration $stateExpiration
dbobj $setup set LastCallStatus $StatusStrings::Succeeded }
dbclose $db