# XmlTV Binding

XMLTV is an XML based file format for describing TV listings. This format is often used by Home Theater software to produce their Electronic Program Guide (http://wiki.xmltv.org/index.php/Main_Page (opens new window))

The norm allows to separate program display from its building. The building of the XMLTV file itself is taken in charge by so called "grabbers" (http://wiki.xmltv.org/index.php/HowtoUseGrabbers (opens new window)).

Some websites provides updated XMLTV files than can be directly downloaded.

Here is a sample for France and Switzerland : https://xmltv.ch/ (opens new window)

This binding takes an XMLTV file as input and creates a thing for each channel contained in it. XmlTV channels are called Media Channels in this binding in order to avoid messing with openHAB Channels.

For each thing, you will be able to get information regarding the current program and the next to come.

# Supported Things

# Discovery

Once the XmlTV bridge to a file is created, you can add all known channels by searching new things.

# Binding Configuration

Configuration Parameter Required Description Default
filePath X Full path (including filename) to an Xml TV file
refresh X XMLTV file reload interval in hours 24h
encoding X XMLTV file encoding UTF8

# Thing Configuration

Configuration Parameter Required Description Default
channelId X Id of the channel as presented in the XmlTV file
offset X Offset applied to program times (forward or backward (minutes) 0
refresh X Refresh interval in seconds 60

# Channels

Channel Type ID Item Type Description
iconUrl String Channel Icon URL
icon Image Icon of the channel

# Current program (currentprog) Channels Group

Channel Type ID Item Type Description
progStart DateTime Program Start Time
progEnd DateTime Program End Time
progTitle String Program Title
progCategory String Program Category
progIconUrl String URL to an image of the program
icon Image Icon of the program
elapsedTime Number:Time Current time of currently playing program
remainingTime Number:Time Time remaining until end of the program
progress Number:Dimensionless Relative progression of the current program

# Next program (nextprog) Channels Group

Channel Type ID Item Type Description
progStart DateTime Program Start Time
timeLeft Number:Time Time left before program start
progEnd DateTime Program End Time
progTitle String Program Title
progCategory String Program Category
progIconUrl String URL to an image of the program
icon Image Icon of the program

# Full Example

# xmltv.things

Bridge xmltv:xmltvfile:france "XmlTV" @ "TV" [filePath="/etc/openhab/scripts/tvguide.xml"]
{
    Thing channel france2 "France 2" @ "TV" [channelId="C4.api.telerama.fr", offset=0, refresh=60]
}

# xmltv.items

String france2_title "Titre" {channel="xmltv:channel:france:france2:currentprog#progTitle"}