Vizio SmartCast

I was just looking over the install instructions, and I’m not sure what that line of the instructions is for. I get the same error, but the pyvizio command was still available for me, despite that error. @vkorn, is it possible that’s not required for the install?

You need cli only to obtain token. If you’re using hassio, you can ssh into host and attach to hass docker. Or use your laptop for it :slight_smile:

@Kem

Directory ‘.’ is not installable. File ‘setup.py’ not found.

Make sure you’re into repo folder or use pip3 install pyvizio instead – I’ve uploaded it a a package

Heads up! New Vizio firmware in Beta with AirPlay and Homekit support… I.e . ver 2.18.5SEM.

HA does not support TVs and a device Class for Homekit but I tries to pair and returns an error if discovery for homekit is enabled. .

Well it looks like the Vizio Beta Firmware is now the official firmware, I was surprised and a bit excited to see my TV pop up as a new device. Unfortunatly, like the comment from @pg.sylvestre back in May, it does not pair. It does try though, it does display a pairing code, just does not accecpt it.

Anyone know if there is any movement on adding tv to the homekit device classes in the future?

It accepted my code, make sure your formatting it correctly xxx-xx-xxx

Mine comes up with two 4 digit numbers on top of each other for my vizio. I’ll try breaking it up though. So you have full control with HA as the home hit controller?

I haven’t finished setting it up but it’s pair’d.

I have mine paired as well. Curious as to what controls are available using home kit. Please share what you figure out.

Thanks

Thanks fr the tip, it added but there are not any entities because there is not yet any support for the TV device type in the homekit controller.

If you have not already done so I recommend voting for that feature to be added

Anyone want to share their lovelace card.
Trying to set up a remote like card for my vizio.

@firebass88, did you ever find or figure out how to build a remote card for your Vizio? I’ve recently gotten one of these and I’m struggling with the integration using the vizio.update_setting service to do most anything including turning it on. I’ve got the integration properly integrated and I can control it via pyvizio.

Thank.

No have not figured much out with it.

The vizio model seems to limited but I might not be looking at the right stuff.

The only problem I’m having with the Offical integration is that I can only turn my tv on to Smartcast and I don’t use that… I have Shield tv and want the tv to turn on to HDMI3 … anyway to do that?

Sure, just use a select source service call:

service: media_player.select_source
target:
  entity_id: media_player.vizio_smartcast
data:
  source: HDMI-3

This is what I have in my config but it’s not working it just keeps turning on Cast

vizio:
  - host: 192.168.1.xxx:7345
    access_token: xxxxxxxxxx
    name: My LV TV
    device_class: tv
    volume_step: 1
    service: media_player.select_source
    target:
      entity_id: media_player.vizio_smartcast
    data:
      source: HDMI-3

Suggestions? Thank you!

The service call does not go in your configuration, it goes in your automation or script.

1 Like

With some help I finally figured that out LOL I had a TON to clean up… I was putting stuff all over… took all that out.

I don’t know if this is universal, but on mine you can also set a default input on power up in the tv’s setting menu.

1 Like

Well that may just make things VERY easy :slight_smile: I’ll have to have a look at that!!!

If you follow the directions in other posts to pair and get an AUTH code for your TV, you can do something like this in a rest_command:

vizio_processkey:
  url: 'https://{{ ip }}:{{ port }}/key_command/'
  method: put
  content_type: "application/json"
  headers:
    AUTH: '{{ auth }}'
  payload: '{"KEYLIST": [{"CODESET": {{ codeset | int }},"CODE": {{ code | int }},"ACTION":"KEYPRESS"}]}'
  verify_ssl: false

You would pass in ip, port, auth code, codeset and code. The list of codeset and codes is:

Event Name Codeset Code
Volume Down 5 0
Volume Up 5 1
Mute Off 5 2
Mute On 5 3
Mute Toggle 5 4
Cycle Input 7 1
Power Off 11 0
Power On 11 1
Power Toggle 11 2
Down 3 0
Left 3 1
Select 3 2
Up 3 8
Right 3 7
Back 4 0
Exit 9 0
Menu 4 8
Home 4 3

I use this with custom button and conditional cards for complete Remotes that configure on way for DirecTV and differently when casting. They look like this:

Patio TV in SmartCast Mode:
image

Office TV in DirecTV mode with keyboard:

Changed to Favorities:

Power off in Bedroom:
image

I keep my TVs and DirectTV information in a JSON file and read that with a command_line sensor. The JSON file looks like this:

{
“tvs”: [
{
“name”: “patio_vizio”,
“ip”: “192.168.2.90”,
“port”: 7345,
“auth”: “UISAIUYDIUjhsjhk”,
“clientAddr”: “CD03FBF73E59”,
“favorites”: [
{
“callsign”: “ESPNHD”,
“channel”: 206
},
{
“callsign”: “ESPN2HD”,
“channel”: 209
},
{
“callsign”: “NFLHD”,
“channel”: 202
},
{
“callsign”: “NFLHD”,
“channel”: 212
},
{
“callsign”: “NHLHD”,
“channel”: 215
},
{
“callsign”: “MLBHD”,
“channel”: 213
},
{
“callsign”: “NBAHD”,
“channel”: 216
},
{
“callsign”: “GolfHD”,
“channel”: 218
},
{
“callsign”: “FS1HD”,
“channel”: 219
},
{
“callsign”: “NBCSHD”,
“channel”: 220
},
{
“callsign”: “CBSSHND”,
“channel”: 221
},
{
“callsign”: “RedZone”,
“channel”: 702
},
{
“callsign”: “BTNHD”,
“channel”: 610
}
]
},

Of course, that is my info for my devices. The clientAddr is for DirecTV Genie boxes and I also have a rest_command to operate that one. I would note that the Vizio REST integration is very fast, as fast as using the remote. All my remotes now sit in a drawer with no batteries, no need at all for them.

I do have a few Broadlink devices but I only use those for volume on attached devices (wired only Soundbar and a Denon AV reveiver on two of the TVs).

1 Like