Control TiVo box over telnet

Ah, very clever. Do you think there is a way of using a trigger of a channel change to switch inputs, just using the channel up/down on the remote rather than a specific channel?

Has anyone has any issues after upgarding to hassio v0.97?
I get this error in the log now and can’t find the tivo any more:

2019-08-08 20:23:27 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for virgintivo which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-08-08 20:23:27 ERROR (MainThread) [homeassistant.config] Failed to get platform media_player.virgintivo
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/config.py”, line 795, in async_process_component_config
platform = p_integration.get_platform(domain)
File “/usr/src/homeassistant/homeassistant/loader.py”, line 235, in get_platform
“{}.{}”.format(self.pkg_path, platform_name)
File “/usr/local/lib/python3.7/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1006, in _gcd_import
File “”, line 983, in _find_and_load
File “”, line 967, in _find_and_load_unlocked
File “”, line 677, in _load_unlocked
File “”, line 728, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/config/custom_components/virgintivo/media_player.py”, line 23, in
from homeassistant.components.media_player import (
ImportError: cannot import name ‘MEDIA_PLAYER_SCHEMA’ from ‘homeassistant.components.media_player’ (/usr/src/homeassistant/homeassistant/components/media_player/init.py)

At the moment, no. But I can have a look at the weekend. Might be able to get something to fire any time the channel number changes.

I’ve just put a fix up for this. Should be available via HACs etc too.

1 Like

You’re a good man @Bertbert

Your very kind to help me out, it’s beyond my abilities TBH. I just bought a new TV and now have an extra remote just to change sources. Anyway to remove it would be great, thanks!

Quick question before I start on this. Does your TV currently have the capability of being changed to the correct source via Home Assistant? If so, what do you use e.g.

service: media_player.select_source
entity: media_player.my_main_tv
service_data: {"entity_id": "media_player.my_main_tv","source": "HDMI1"}

If you can’t currently get Home Assistant to control the TV, that’s the first step. The component will rely on calling an existing service to change the source. I need to know the above in order to decide how much will need changed. Currently it only calls the media_player services (just a bit of lazy hard-coding on my part) so if it needs to be able to call other services, I’ll need to change that.

Hi Bert, sorry for not getting back to you sooner. I was trying to find the most efficient way of switching channels on my Philips TV. I’ve been trying to use some of the components available on HACS but with no success yet. It’s probably best if I can work out how to change the sources first before you spend your valuable time trying to help me. I’ll get back to you once I have the source switching figured out but can I thank you just now for your time and replies.

No problem. I spent a very small amount of time on it and got it half working. Half working means half not working too, but it is feasible.

One thing just in case you aren’t aware, the V6 remote (if that’s what you’ve got) can be set up to change sources by holding down the TV button. You’ll have to have set up the universal remote bit and as there are several codes for each make of TV, the first one you find that controls volume may not be able to control the HDMI sources.

1 Like

Great, that’s maybe all I need!

I’ve just added the component via HACS and added the following code to my configuration:

- platform: virgintivo
  tivos:
    1:
      name: Virgin V6
      host: TIVO-C68000010AA1234
  tvchannellists:
    enable: True

I can see it appear as “media_player.virgin_v6” but it says the box is off, which it isn’t and the state attributes come back as:

{
  "prog_title": null,
  "prog_description": null,
  "prog_start_time": null,
  "prog_end_time": null,
  "prog_type": null,
  "prog_episode_title": null,
  "prog_episode_number": null,
  "prog_series_number": null,
  "base_channel_name": "Live Events Channel",
  "friendly_name": "Virgin V6",
  "supported_features": 22961
}

What am I doing wrong?

Edit: fixed my own problem by changing the host to the IP of the box rather than the name. I’ll admit I don’t understand why the name of the box wasn’t working.

I’m guessing you are using Hassio. In which case It’s likely the same problem as this:

It seems that Hassio has problems resolving names on the local domain, hence the error. And why using IP works.

Hi,

Sorry to revive an old thread. I have noticed when I play a recording from the DVR the home assistant status goes to offline. Is there any way to stop this from happening or is it as I suspect that the telnet connection doesn’t give any way to differentiate between off and playback of a recording?

Thanks in advance!

That’s correct. When the box is either on standby or playing a recording it behaves the same way, i.e. accessible but doesn’t respond to any commands, so there isn’t any way to differentiate between the two states. So it just becomes marked as “off”. Nothing to be done about this, it’s a limitation of the telnet interface.

Sorry to be a pain just checking something. I restart HA and it seems the component isn’t loading and complaining about the API used to load the guide. I tried accessing the API URL using my browser and it says it isn’t available. Is the API used down or have I broke the component another way?

EDIT: All working again it seems thanks for the super quick fix!

Hello, I’m not sure what I am doing wrong, but my PC and Box are on the same network but, when I ping the local IP (192.168.0.66) it does not respond. If anyone can provide me with some assistance, that would be greatly appreciated!

First thing to check is whether you’ve enabled Network Access on the Tivo box. Then check if any firewalls are in the way that might be interfering.

Network Access is turned on, as for firewalls, where do you recommend that I look

dear,
I am not using yaml mode,
can u please guide me to get install this lovelace multiremote.
Thanks

Now days you can easily use yaml mode and editor mode at the same time, so have a look at that and then you probably will figure it out.
Im not using editor mode so if you get yaml mode running you can just take the code from my repo and use.