Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vizio SmartCat TV support #2906

Merged
merged 2 commits into from Jul 11, 2017
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
91 changes: 91 additions & 0 deletions source/_components/media_player.vizio.markdown
@@ -0,0 +1,91 @@
---
layout: page
title: "Vizio SmartCast TV"
description: "Instructions how to integrate Vizio SmartCast TV into Home Assistant."
date: 2015-03-23 19:59
sidebar: true
comments: false
sharing: true
footer: true
logo: vizio-smartcast.png
ha_category: Media Player
featured: true
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 TV into HA you'll need to pair it manually, to do so follow these steps:

Install cli using pip (you can choose to download it manually):

```bash
pip3 install git+https://github.com/vkorn/pyvizio.git@master
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:

```bash
pyvizio --ip=0 --auth=0 discover
```

Initiate pairing:

```bash
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:

```bash
pyvizio --ip={ip} pair_finish --token={challenge_token} --pin={tv_pin}
```

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

## Configuration

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

```yaml
media_player:
- platform: vizio
host: <ip>
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.).

<p class='note'>
Vizio SmartCast service is accessible through HTTPS with self-signed certificate. It means that if you have low LOGLEVEL in your HASS 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.
</p>
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.