IceTV offers two services to PVRs:
- A 7-day Electronic Program Guide (EPG), the IceTV Guide.
- A system for managing recordings on PVRs so that recordings can be made by naming a program or series, and IceTV will track changes in the scheduling of the program and change recording times accordingly, IceTV Interactive.
The IceTV system uses an unpublished proprietary protocol. This makes it difficult to say much about how IceTV works with complete certainty.
Exchanging data with the IceTV server
The IceTV services have a "pull", rather than "push" model. IceTV-enabled PVRs request updates from IceTV servers, rather than the servers sending updates on their own accord. One compelling reason for this is that most PVR users who buy Internet connectivity from a retail Internet Service Provider (ISP) do not have a fixed, unique IP address for their computers. By using a "pull" protocol, the IceTV server does not need to know the IP address of any of IceTV's customers.
IceTV limits how frequently PVRs may connect to it to update. It appears that IceTV Guide updates can normally be done every 60 minutes, and IceTV interactive updates can be done every 30 minutes. However, the protocol has a "call back in X minutes" message from the IceTV server, which appears to be sent at the end of each exchange, but is also sent if the server is contacted by a PVR before it was due to make contact, and can also be sent if the PVR contacts the server at the correct time, but the server is loaded, and has increased the time between updates.
On Beyonwiz PVRs you can see messages indicating how long it will be to the next update in the status window in SETUP>Network>IceTV.
Beyonwiz PVRs attempt to contact the IceTV server shortly after they start up. If it's longer since they last contacted IceTV than the time they were asked to wait, the server will respond and update the EPG and any timers under IceTV control. If the PVR has been off for only a short time, then it will try to contact the server, and be refused with a "call back in X minutes" reply. The time specified will normally be the time that the PVR would have been able to contact the server if it had been left on. So if the last IceTV Interactive update was about 15 minutes ago, and you sent the Beyonwiz into standby, then start it up again almost immediately, it will get a message to "call again" in about 14-15 minutes.
Beyonwiz recorders don't contact the server at specific times of day. That would be likely to cause congestion on the server. Their contacts with the server are effectively randomised by their startup times.
IceTV makes changes to their EPG throughout the day, often in response to posts on the IceTV Forum, but its main update is made at about 13:00 EST.
Caching the IceTV EPG
So that you will have an EPG available at startup, whether the Beyonwiz was able to contact the server or not, the Beyonwiz saves (caches) the most recent update of its EPG. This is stored on the internal HDD on internal-drive Beyonwiz PVRs, and (in more recent firmware) on the external registered recording drive on a DP-H1, if it has one. If a DP-H1 does not have a registered recording drive, the EPG cannot be saved, and so a H1 without a recording drive won't be able to display an IceTV EPG until it can contact the server.
Sometimes cached information can cause problems in the EPG. If The EPG is not consistent with what you expect it to be, it may be useful to clear the EPG cache (SETUP>System>Initialize>Clear EPG Cache). This is most likely to be needed after a Daylight Savings Time transition.
It's about Time!
Time is clearly critical to the EPG and to managing recording timers.
The Beyonwiz has three ways to maintain its time: AUTO; where it regularly updates its clock from the time-of-day stamps sent in digital TV broadcasts; MANUAL, where the user sets up the time and makes sure that the clock doesn't drift too far from the correct time, and adjusts accordingly; and NETWORK, which uses the Network Time Protocol (NTP) to adjust the PVR's time at startup and then daily (if it's kept powered on).
The system time on the Beyonwiz, the time-of-day information in digital TV broadcasts and in NTP is in UTC (coordinated universal time, or temps universel coordonn?), sometimes still referred to as GMT. Times are translated into local time for display.
AUTO time relies on the ability of the broadcasters to maintain accurate correct time. Although this is now easy to achieve using NTP, they seem to manage to sometimes have several minutes difference between broadcasters, and to broadcast erroneous times after a Daylight Savings Time (DST) transition. This is in spite of, or perhaps because of, the fact that the broadcast time does not jump by an hour at a DST transition! For this reason, many Beyonwiz owners prefer not to use AUTO time.
MANUAL time is simple. The user sets the time on the Beyonwiz, and needs to adjust the time manually if the clock drifts.
NETWORK time is probably the best option if the Beyonwiz is normally connected to the network at startup, and the network will normally be on when the Beyonwiz does its daily (24-hour intervals since the last startup) NTP update. NTP server managers generally appear to do a much better job of maintaining accurate time than the broadcasters. A well-managed NTP server will usually keep time to within less than 0.1 sec of UTC. The default NTP server on the Beyonwiz is au.pool.ntp.org. This is a "virtual" NTP server, which can connect to one of a pool of NTP servers that can be accessed through the one DNS name. At the time of writing, au.pool.ntp.org "fronts" for 60 NTP servers. However, if your ISP has an NTP service, you are likely to get better accuracy, and use fewer network resources, by using your ISP's NTP server. Don't be concerned about network use by NTP. The way the Beyonwiz uses NTP, its network use is trivial compared to the IceTV EPG (which itself is quite modest).
Daylight Saving Time (or, "but doesn't it fade the curtains?")
For the EPG and IceTV to work correctly, you must set your time zone correctly. In AUTO, set your nominal time zone (the non-DST one, so +10:00 for Eastern Standard Time), and then use Enable/Disable DST to switch between DST and normal time. DST: Enable does not automatically switch DST on and off in AUTO mode. You have to switch it manually when DST changes. In MANUAL and NETWORK mode, you set the current Time Offset. For EST states, +10:00 for normal time, and +11:00 for DST. I have no idea why the two cases are handled differently.
Do not change the Beyonwiz's time setting on DST transitions, change its DST setting or Time Offset. If you change the time, you'll probably mess up your EPG and timers.
Daylight Savings Time transitions always seem to create problems for Beyonwiz users. Even if you normally choose AUTO time, it's judicious to switch to MANUAL or NETWORK the day before a DST transition, and for about a week afterward. This reduces the problems by avoiding any incorrect times from the broadcasters.
For the switch off DST in March 2011, IceTV at last issued what could be considered its first reasonably realistic instructions for the DST changeover on Beyonwiz PVRs:
An additional step between 8 and 9 is recommended:
- On the Beyonwiz go to the "Setup" via the remote control.
- On the second tab labled "Network", go down to "IceGuide on the side.
- Set IceGuide to Disable.
- Clear the IceTV cached data by following the steps at How do I clear out the cached guide and force an update?
- In the setup on the Beyonwiz under Time Setting change the timezone information (If you are using AUTO time then disable DST, for MANUAL or NETWORK time change the time offset by going back by 1 hour).
- Login to the IceTV website and go to the My Account section of the website.
- Click on the TV Recorders tab under the banner at the top of the screen.
- Click on the link to "Resend all recordings for all devices", this will re-queue all recordings and they will then be scheduled on the Beyonwiz during it's next update.
- Under the "Network" tab again in the setup of the Beyonwiz under IceGuide, set IceGuide back to Enable.
- Once the guide and timers have updated (worst case scenario this can take 1 hour) check your timers to ensure they are now showing up at the correct time.
8a. Wait at least one hour.
This will ensure that at the first IceTV update, both the EPG and then the timers are sent. Timers are normally checked every 30 minutes and the EPG every hour, and if the new timers are sent before the new EPG is sent, things can get confused. Waiting an hour will ensure that both are sent. If you use step 8a, then the update at step 10 should happen immediately.
How the IceTV EPG is updated
The IceTV EPG server data appears to be timestamped, and the .server can respond with EPG changes that have been made since some given time. It's unclear whether the exchange uses the time of the last server contact, or the time of the most recent EPG item in the current EPG. The latter would seem to be the more reliable method.
How timers are updated
This part of the post is quite uncertain. The exact details of this process are proprietary to IceTV, and although the developer of the protocol is a forum member, he is under an NDA to IceTV about disclosing the details. He has, however, made it clear on the forum that the protocol is far more capable than the part of it that IceTV has implemented. So if you have a good idea about how IceTV could be improved, it's likely that the protocol has been designed to support that feature, but it has not been implemented yet.
The timers file on the Beyonwiz (/tmp/config/book.xml) is an XML file, and can be read by anyone who can open up the Beyonwiz for telnet access.
When IceTV is enabled, each timer has a 64-bit IceTV id. It's thought that this number is the identifier of the program (episode for series) in IceTV's database. All timers have this id, even if they were set from the Beyonwiz rather than from the IceTV server, and even if the timer is for a different time span than the scheduled program on IceTV.
At each update, the Beyonwiz informs the IceTV server about any changes to timers made locally on the PVR, and the server informs the PVR about any changes on the server: new recordings added, recordings deleted, program timeslot changes, etc. The changes are resolved, and the server's list of recordings is updated,and the PVR's timer list is updated. If you delete a timer set by IceTV on the Beyonwiz, that has the same effect (after an update) as "Cancel episode" on the IceTV Web. page
Any errors in the update process are reflected by a yellow warning sign icon on the recording entry on the IceTV Web page. This is the only indication you get from IceTV about any problems, and there is no further useful explanation of what the problem was. The indication is only available after the update where the problem is detected. You won't normally see the error immediately when you make changes on the IceTV server or on the Beyonwiz (for example, if you make a change on the Beyonwiz that conflicts with a change on the server that hasn't been sent to the Beyonwiz yet). You also may not see the error even after the update unless you Refresh the page in your browser. This is one of the most frequently complained-about aspects of IceTV Interactive (the other is that you can't merge consecutive recordings on the same service).
Sometimes updates that depend on resolution of the changes occurring in the correct order are not resolved properly, for example:
Code: Select all
Initial recordings
2030-2130 Seven
2030-2130 Nine
Update
2030-2130 Nine >> Delete
2030-2130 SBS >> Add
Because this update process (and the IceTV update process) is based on sending changes, if the Beyonwiz's idea of the EPG or timer state is different from the server's idea of the state, problems can happen. To resolve these problems, yo need to force the server to resend all its data.
For the EPG, SETUP>System>Initialize>Clear EPG Cache, then SETUP>Network>Ice Guide>Ice Guide: Disable. Then re-enable the Ice Guide and wait for the next update. For recordings, in your IceTV account, My Account>Interactive, click on "Resend all Timers" for the device you want to force a full update for. Check your timer list after the next update!
What do the red, orange and green icons mean?
What do the red, orange and green icons mean?
Some of the nitty-gritty
There's not much reliably known about this.
The Beyonwiz finds its list of IceTV devices (for SETUP>Network>Ice Guide>Select Device) from the URL http://www.icetv.com.au/cgi-bin/epg/web ... rmat=plist.
The IceTV devices list for your account comes back something like this (for a Beyonwiz DP-S1 and a Windows Media Centre PC:
Code: Select all
<plist version="1.0">
<array>
<dict>
<key>id</key>
<integer>0</integer>
<key>label</key>
<string>beyonwiz</string>
<key>manufacturer</key>
<string>Beyonwiz</string>
<key>model</key>
<string>S1</string>
</dict>
<dict>
<key>id</key>
<integer>2</integer>
<key>label</key>
<string>MediaCentreW7</string>
<key>manufacturer</key>
<string>Microsoft</string>
<key>model</key>
<string>Windows 7</string>
</dict>
</array>
</plist>
Thanks to madmax, tonymy01, peteru and jpp for suggestions and corrections.
Jpp has made a Topfield version of this FAQ available on the on the Topfield forum. Some time in Q1 of 2011, the Topfield forum was closed (even for reading) to non-members. You'll need to be a Topfield forum member to read the Topfield version of the FAQ, and I have no way of checking whether the link is correct.
Last edited 25 Apr 2011