Tivo media player component

Would a TIVO media player component be possible?

1 Like

If you can somehow control it using a Python module then yes! :smile_cat:
There’s no “good” Python module for controlling my Sky box yet so I set up another project that lets me control it using the command line, then just set up a few scripts to run shell commands. :cat:

Here is someone who wrote a simple command line remote control. Cool thing he included the Python code. Not very difficult to implement. Needs to be wrapped in a component. Might need a few helper functions if you want to send multiple keys.

https://charliemeyer.net/2012/12/04/remote-control-of-a-tivo-from-the-linux-command-line/

I too am interested in this. Has anyone accomplished this yet? I don’t understand python code well enough to wrap what you’ve wrote into a component.

Thanks

I’m starting on this now. I’ll have code up soon for the basics!

Just curious if there’s any update to this project

I put together some basic code at: https://github.com/groupwhere/homeassistant-tivo.

This loads into my setup but doesn’t do much yet. Several commands are there such as channel up/down, teleport, etc. It connects to the Tivo and should be able to perform those commands. But I am not sure how to get that to connect to the UI for those functions.

By the way, charliemeyer’s site was helpful, but it also attempts to serve a coin miner, so be careful.

1 Like

I found Py code here https://github.com/wmcbrine/tivoremote
Is it possible to implement this into HA

Thanks for the code! Gonna test it out and see how it goes. Hopefully I can work on the code a little too, but python’s syntax still so different for me :slight_smile:

By the way, my code linked above does actually do stuff now, e.g. channel up/down with zap2it program info, etc.

Looks like I’m having trouble just getting the component going lol.

File "/config/custom_components/media_player/tivo.py", line 345, in media_content_id
    return self._current["status"]
KeyError: 'status'

I just set it up before going to bed last night and I’m at work now so haven’t really been able to dig in to it.

Please submit an issue at github. Any other errors before or after that? What model Tivo?

no surprise here, but it eventually started working (after idk how long to be honest). I know the DVR (Bolt) was on, but maybe it was busy recording? anyway sorry for the delay, didn’t get to dig in much today.

here’s a screen shot

edit: seeing socket errors and other errors trying to call any media function. I’ll submit an issue.

Hi! I get this error then trying to setup My TiVo pĂĄ Hass.

Error while setting up platform tivo
    Traceback (most recent call last):
      File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
        SLOW_SETUP_MAX_WAIT, loop=hass.loop)
      File "/usr/local/lib/python3.6/asyncio/tasks.py", line 352, in wait_for
        return fut.result()
      File "/usr/local/lib/python3.6/asyncio/futures.py", line 244, in result
        raise self._exception
      File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 55, in run
        result = self.fn(*self.args, **self.kwargs)
      File "/home/homeassistant/.homeassistant/custom_components/media_player/tivo.py", line 108, in setup_platform
        tivos.append(TivoDevice(*host))
      File "/home/homeassistant/.homeassistant/custom_components/media_player/tivo.py", line 160, in __init__
        self.get_status()
      File "/home/homeassistant/.homeassistant/custom_components/media_player/tivo.py", line 180, in get_status
        data = self.send_code('','')
      File "/home/homeassistant/.homeassistant/custom_components/media_player/tivo.py", line 229, in send_code
        self.connect(self._host, self._port)
      File "/home/homeassistant/.homeassistant/custom_components/media_player/tivo.py", line 168, in connect
        self.sock.connect((host, port))
    socket.timeout: timed out

can you show me your config section for this device?

- platform: tivo
  host: ##local ip###
  name: Tivo
  port: 31339
  device: 0
  debug: 1
#    zapuser: your_zaptoit_email_login
#    zappass: !secret zap2it_pass

I assume that ##local ip### actually has an ip address instead. Are you able to connect using telnet to the device from the machine running home assistant?

telnet ip.ad.dr.ess 31339

Yes in host field the local ip for TIVO is written.

No it get
telnet: command not found
when i write this string over ssl
$ telnet 192.168.1.30 31339

Should i install someting?

You’ll have to install telnet via apt-get install telnet or yum install telnet if on centos/rh/fedora.

Now I can ssh a telnet line but i get this error
telnet: Unable to connect to remote host: Connection timed out

On my TIVO there is to ip one local ip and one broadcast ip. Should i use the local ip?