Vizio SmartCast TV


The vizio component will allow you to control SmartCast compatible TVs (2016+ models).

Pairing

Before adding TV to Home Assistant you’ll need to pair it manually, to do so follow these steps:

Install the command-line tool using pip (you can choose to download it manually):

$ pip3 install git+https:[email protected]
$ pip3 install -I .

Make sure that your TV is on, as sometimes it won’t show PIN code if it wasn’t on during pairing initialization. If you don’t know IP address of your TV run following command:

$ pyvizio --ip=0 --auth=0 discover

Initiate pairing:

$ pyvizio --ip={ip} pair

Initiation will show you two different values:

Value Description
Challenge type Usually it’s should be "1", if it’s not the case for you, use additional parameter --ch_type=your_type in the next step
Challenge token Token required to finalize pairing in the next step

Finally, at this point PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing:

$ pyvizio --ip={ip} pair_finish --token={challenge_token} --pin={tv_pin} 

You will need authentication token returned by this command to configure Home Assistant.

Configuration

To add your Vizio TV to your installation, add following to your configuration.yaml file:

# Example configuration.yaml entry
media_player:
  - platform: vizio
    host: IP_ADDRESS
    access_token: AUTH_TOKEN

Configuration variables:

  • host (Required): IP address of your TV.
  • access_token (Required): Authentication token you’ve received in last step of the pairing process.

Notes and limitations

Turning TV on

If you do have Power Mode of your TV configured to be Eco Mode, turning device ON won’t work.

Changing tracks

Changing tracks works like channels switching. If you have source other than regular TV it might end do nothing.

Sources

Source list shows all external devices connected to the TV through HDMI plus list of internal devices (TV mode, Chrome Cast, etc.).

Vizio SmartCast service is accessible through HTTPS with self-signed certificate. It means that if you have low LOGLEVEL in your Home Assistant configuration, you’ll see a lot of warnings like this InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. As an option, you could proxy all calls for example through NGINX.