home-assistant.github.io/source/_components/media_player.vizio.markdown
Paulus Schoutsen 41955dc31a
Remove url prefix pt 2 (#5014)
* Migrate the non blog posts to use no domain

* Update demo links

* Remove Zanzito references from owntracks docs
2018-03-24 22:14:34 -07:00

103 lines
3.3 KiB
Markdown

---
layout: page
title: "Vizio SmartCast TV"
description: "Instructions on how to integrate Vizio SmartCast TV into Home Assistant."
date: 2017-07-10 19:00
sidebar: true
comments: false
sharing: true
footer: true
logo: vizio-smartcast.png
ha_category: Media Player
featured: false
ha_release: 0.49
ha_iot_class: "Local Polling"
---
The `vizio` component will allow you to control [SmartCast](https://www.vizio.com/smartcast-app) 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):
```bash
$ pip3 install git+https://github.com/vkorn/pyvizio.git@master
```
or
```bash
$ 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:
```bash
$ pyvizio --ip=0 --auth=0 discover
```
Enter the following command to initiate pairing:
```bash
$ 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:
```bash
$ 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:
```yaml
# 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.).
<p class='note'>
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](/components/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](https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings), 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`
</p>