Samsung TV + Alexa: Alexa TV On/OFF Works, but "Alexa TV Volume Up/Down" doesnt

When I say “Alexa TV Volume Up” Alexa says “Samsung TV Remote doesnt support that”. But on the HomeAssistant interface it allows me to volume up, down, mute, skip next/previous, etc.

How can I enable those features on Alexa?

You could set up the Samsung TV custom component by xchwarze

And then create a script eg call a service to turn the volume up. Then expose the script to Alexa using emulated hue

Then set up a routine on the Alexa app, so when you say ‘alexa, living room Samsung volume up’ it turns the exposed ‘light’ on. Alexa will activate the script via emulated hue. I don’t have this set up but it can work.

You should try using my custom component, I’ve made a lot of improvements over the xchwarze/ha-samsungtv-custom component, including adding voice assistant support (only tested with Google Home though)

It should work out of the box, here it is:
jaruba/ha-samsungtv-custom

Check the readme for more details on how it’s used.

1 Like

So I followed installation instructions, but no media_player is showing in my components and I cannot add the media remote to my dashboard.

Any common problems?

It can’t not show a media player unless u have an error of some kind or if you didn’t add the correct data to the configuration.yaml

Check everything twice to make sure u did it right, and have ur TV on and close to u, it might ask for permission on ur TV up to 4 times after u restart HA (after installing this custom component)

This component is for Samsung 2016+ TVs, it should work with all Tizen based Samsung TVs.

I have UN65KS8000 so it should work fine.

Heres my configuration:

media_player:
  - platform: samsungtv_custom
    name: Living Room TV
    host: 192.168.xx.xxx
    port: 8002
    mac: xx:xx:xx:xx:xx:xx
    protocol: ws

How do you not have an error in your log saying that the custom component doesn’t support the "protocol" property?

Remove that… that is for a different samsung component… not mine…

Here is how my configuration looks for my component:

media_player:
  - platform: samsungtv_custom
    host: XXX
    name: Samsung TV
    mac: XXX
    port: 8002
    source_list: '{"TV":"KEY_SOURCE+KEY_LEFT+KEY_LEFT+KEY_ENTER","Chromecast":"KEY_SOURCE+KEY_LEFT+KEY_LEFT+KEY_RIGHT+KEY_ENTER","Manual":"KEY_SOURCE+KEY_LEFT+KEY_LEFT+KEY_RIGHT+KEY_RIGHT+KEY_ENTER"}'
    app_list: '{"Netflix": "11101200001", "YouTube": "111299001912", "Spotify": "3201606009684"}'

Where do the appllist numbers come from?

I want to add Emby

So I discovered my problem was the version of Homeassistant. I upgraded to the latest verison and it works.

However, I have not fixed it to work with Amazon Alexa… if you have any tips I would appreciate.

The codes from app_list come from the Samsung TV, I don’t know the unique ID of the Emby app to help with that.

If ur using my custom component, and it works for you now, then voice assistant support should already work. Normally, for Google Home’s case, I would need to sync my apps in order to get the updated voice commands, I’m not sure how that’s done for Alexa. If there’s no way to re-sync everything, then maybe try removing the device and adding it again in Alexa’s app?

Whatever the case may be, it initially registered to Alexa as an On / Off switch, now it’s identifying as a media device, and should be refreshed somehow in order to be seen as such.

So Alexa doesnt see HA, you have to use the emulated Hue module.

The one I was using was an older version and it seems that it changed to port 80 from 8300, so I had to diagnose that.

Now I think I got everything right and will give it a try.

How do I find the unique IDs? Or did you just find them from someone else?

Another update.

So I got the TV to show up in Alexa, but its showing up as a light. Volume Up/Down does nothing. But treating it as a light works. “Alexa TV 20%” puts it at volume 20.

Hopefully this can be resolved, but I dont know if this is an amazon issue or a jaruba issue, or a ME issue :slight_smile:

They were already in the repository that I forked out of, there seems to be a programatic method of fetching the IDs that is used in other repositories: homebridge-samsung-tizen/lib/methods/ws.js at 792f00db6b90b2486424c35056e8d9e01b99a5b1 · tavicu/homebridge-samsung-tizen · GitHub

And there’s a bigger list of IDs in this comment: ESPN App ID? · Issue #26 · tavicu/homebridge-samsung-tizen · GitHub

So I got the TV to show up in Alexa, but its showing up as a light. Volume Up/Down does nothing. But treating it as a light works. “Alexa TV 20%” puts it at volume 20.

Glad to hear it! In Google Home (although the icon is for a TV) it also just shows the controls for a generic light (turn on / off and volume), but all the commands work anyway, including “change input source to …”.

One thing to note though, missing controls simply can’t be a “jaruba issue” (lol)

All my component is doing compared to the others is that it identifies the TV as a media entity, and hooks up the controls for volume up / down, volume to X, change input source to X, etc.

So if it’s not working for you it’s either an Alexa limitation or a Home Assistant bug. But I doubt it’s any of those, it’s more likely that you just don’t know the exact phrases to tell Alexa what to do with the device.

So I think the issue right now is that Emulated Hue presents the TV as a “light” but I dont see any other way to get Home Assistant to talk to Alexa… Any thoughts?

Unless you want to send me an Alexa device as a gift for Christmas, I don’t see how I can blindly help u with this further as I don’t have one to test with.

I guess as a workaround u could install the IFTTT integration in HA, and make some custom commands telling ur TV exactly what to do…