Vizio SmartCast TV
The vizio
component will allow you to control SmartCast compatible TVs (2016+ models).
Pairing
Before adding your TV to Home Assistant you’ll need to pair it manually. To do so follow these steps:
Install the command-line tool using pip
(or you can choose to download it manually):
$ pip3 install git+https://github.com/vkorn/pyvizio.git@master
or
$ pip3 install -I .
Make sure that your TV is on before continuing.
If you don’t know IP address of your TV run following command:
$ pyvizio --ip=0 --auth=0 discover
Enter the following command to initiate pairing:
$ pyvizio --ip={ip} pair
Initiation will show you two different values:
Value | Description |
---|---|
Challenge type | Usually it should be "1" . If not, use the 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 a 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 the authentication token returned by this command to configure Home Assistant.
Configuration
To add your Vizio TV to your installation, add the 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 received in the last step of the pairing process.
Notes and limitations
Turning TV on
If the Power Mode
of your TV is set to Eco Mode
, turning the 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. 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.
You can adjust the log level for media_player
components with the logger component, or if you need to keep a low log level for media_player
you could proxy calls to your TV through an NGINX reverse proxy.
If you want to only ignore only this specific python urllib3 SSL warning, you will need to run Home Assistant with the python flag -W
or the environment variable PYTHONWARNINGS
set to:
ignore:Unverified HTTPS request is being made