Skip to content

fleshinachair/HomeAssistant_VirginTivo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Home Assistant VirginTivo

Home Assistant component for control of Virgin Media Tivo boxes

Virgin Tivo component for Home Assistant Source list

Features are

  • Supports multiple boxes
  • Configurable list of channels
  • Automatically switch to HD version of channel
  • Show current channel
  • Set channel through dropdown
  • Can restrict channels shown in dropdown
  • Switch between +1 and normal version of channel
  • Depending on whether the channel is available on Virgin Go
    • Display programme information
    • Display grab of current programme
  • Optionally use Tivo remote to control other media player devices (obscure I know!)
  • Services: find remote, send IR code, send keyboard command, last channel, live TV, switch to/from +1 channel, search for programme, subtitles on/off, "teleport".

A sample configuration is in the repository with a full list of Virgin Media channels.

Alexa automation hints are provided in the automations/alexa folder by garywilson4.

Usage

  • Drop the file into the custom_components/media_player directory.
  • Edit your configuration file to add the virgintivo platform to the media_player: section.

Configuration

There are two required sections: tivos and channels, plus one optional section: guide.

Platform settings are:

Name Default Description Example
platform (req) Must be virgintivo virgintivo
default_is_show (opt) true Channels default to shown/hidden true
force_hd (opt) false Switch to HD if available false
keep_connected (opt) false Persistent telnet connection to Tivo false
show_packages (opt) TV packages to show Free-to-air,Player,Mix,Fun,Full House

NB: if using the force_hd functionality, it is advisable to set scan_interval to a low value, e.g. 1 to allow the component to change to the HD channel quickly.

tivos

The Tivos should be listed under the tivos: section. Each entry has two required settings and one optional.

Name Default Description Example
name (req) Friendy name of Tivo box Virgin Tivo
host (req) IP or name of Tivo box TIVO-C68000012345678
force_hd (opt) false Switch to HD if available false
keep_connected (opt) false Persistent telnet connection to Tivo false

channels

Channels come under the channels: section. Each entry has a number of optional settings and one required setting (name). Use next/previous track to switch between the +1 and normal versions of a channel.

Name Default Description Example
name (req) Friendy name of channel BBC One
show (opt) Show the channel in the sources list false
package (opt) TV package Mix
hd_channel (opt) HD channel number if applicable 108
plus_one (opt) +1 channel number if applicable 114
logo (opt) Channel logo to display http://freeview.com/images/e4.png
target (opt) HA entity to change media_player.main_tv
source (req) Source on target to choose HDMI2

guide

The guide settings come under the guide: section. This section has a number of optional settings.

Name Default Description Example
enable_guide (opt) true Enable the guide functionality false
cache_hours (opt) 12 How many hours of the guide to preload 12
picture_refresh (opt) 60 Seconds between screen updates 60

Services

These can be called by automations, scripts etc.

Service Entity Description Example Data
Find Remote 1 media_player.virgintivo_find_remote Causes the remote to beep {"entity_id": "media_player.virgin_v6"}
Send IR Code media_player.virgintivo_ircode Sends an IR command {"entity_id": "media_player.virgin_v6", "command": "standby"}
{"entity_id": "media_player.virgin_v6", "command": "advance", "repeats": 10}
Send Keyboard Command media_player.virgintivo_keyboard Sends a key entry {"entity_id": "media_player.virgin_v6", "command": "A"}
Live TV media_player.virgintivo_live_tv Switch to normal TV mode {"entity_id": "media_player.virgin_v6"}
Plus One Off media_player.virgintivo_plus_one_off Switch to non +1 version of channel {"entity_id": "media_player.virgin_v6"}
Plus One On media_player.virgintivo_plus_one_on Switch to +1 version if available {"entity_id": "media_player.virgin_v6"}
Search media_player.virgintivo_search Search for a programme {"entity_id": "media_player.virgin_v6", "command": "family guy"}
Subtitles Off media_player.virgintivo_subtitles_off Turn off subtitles {"entity_id": "media_player.virgin_v6"}
Subtitles On media_player.virgintivo_subtitles_on Turn on subtitles {"entity_id": "media_player.virgin_v6"}
Teleport 2 media_player.virgintivo_teleport Change mode {"entity_id": "media_player.virgin_v6", "command": "livetv"}

1 Works with the Virgin V6 Bluetooth remote

2 This forces the Tivo into certain modes. Known available entries are: TIVO, LIVETV, GUIDE, NOWPLAYING

Example

This is a truncated example only. Use example.yaml in the repository for a full set of channels.

  - platform: virgintivo
    default_is_show: false
    force_hd: true
    tivos:
      1:
        name: Virgin V6
        host: TIVO-C68000012345678
      2:
        name: Virgin Tivo
        host: TIVO-CF0000012345678
    channels:
      100:
        name: Virgin Media Previews
      101:
        name: BBC One
        hd_channel: 108
        show: true
      102:
        name: BBC Two
        hd_channel: 162
        show: true
      103:
        name: ITV
        hd_channel: 113
        show: true
        plus_one: 114
      104:
        name: Channel 4
        hd_channel: 141
        plus_one: 142
      105:
        name: Channel 5
        hd_channel: 150
        plus_one: 155

About

HomeAssistant component for control of Virgin Media Tivo boxes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%