@Proxlx Btw, although not a direct solution, if u buy a chromecast (v1, v2 or v3, not the latest Google TV one) and turn on the Chromecast (from HA) when the TV is off, then the tv will turn on to the Chromecast source directly, which has a default art slide. Not sure if that fits better with ur plans.
Thanks Jaruba! Actually had a similar idea also.
I’m going to try a Broadlink RM4 Pro. You can store IR/RF commands into it and trigger them from HA. If the TV is off (fully shutdown) if you press the ambient button on the remote it will go directly to the ambient / art mode without going via the tv channels first so I’m hoping I can record this into the Broadlink and fire it back. I can then use your integration for all the other clever bits, channel selection etc, and to check if the tv is on / off in the first place. I have a few other IR devices it will be useful for also such as fireplace.
Thanks for getting back to me!
Mark
Hi first of all I would like to thank @jaruba for your work!
I recently bought a brand new Q60T 2020. I followed all the instructions but I have some trouble with setting any app from Home Assistant. I can change the input from TV to HDMI, I can control the volume (even mute) but when I try to start any app it doesn’t work. From the phone using SmartThings app I can control the TV and switch to Netflix or any other app. The log from https://graph-eu01-euwest1.api.smartthings.com/device/list only shows whether the TV is on or off. If I change the channel or start the app from Smartthings app on the phone I can see in the device information page the real value for channel, volume etc
The permissions for the token are the same stated in the official documentation for Samsung TV Integration
I leave the details here of my configuration and everything:
# Samsung TV Q60T configuration
media_player:
- platform: samsungtv_tizen
name: Samsung TV
host: 192.168.4.123
mac: 44:5c:e9:9b:xx:xx
api_key: !secret api_key_smartthings
device_id: !secret device_id_samsungtvq60
update_method: smartthings
source_list: '{"TV": "ST_TV", "PS3": "ST_HDMI2"}'
app_list: '{"Netflix": "11101200001/org.tizen.netflix-app", "Prime Video": "3201512006785/org.tizen.primevideo", "YouTube": "9Ur5IzDKqV.TizenYouTube"}'
I’m currently running version 0.118.0
Thanks for the help!
@aribasadme They work fine for me on both a 2017 tv and a 2019 tv, try variations of your config, for example with Netflix, try:
"Netflix": "11101200001"
or "Netflix": "org.tizen.netflix-app"
, see if that helps in any way.
@aribasadme Btw, there is an active issue for this here: https://github.com/jaruba/ha-samsungtv-tizen/issues/82
Not many complained about it, I wonder if there’s something specific that changed with 2020 TVs.
I already tried but no success with that…
I will try this solution! Maybe it’s something related to 2020 TVs or to the country (in my case Italy). I will let you know. Thanks!
I think it is related to the 2020 TV’s. I can’t switch to Netflix or KPN either. It works fine on my other TV’s.
@jaruba Does this work across VLANs? The standard HA samsung tv integration used to work until I moved the TV to a different VLAN than my home assistant
Hey @jaruba, I’ve hit another issues. I’ve moved HA onto a docker container in WSL2… The issue now is any system restarts trigger the TVs to need to re allow device connectivity, so I have to click allow a few times on each TV.
I appreciate this is not an issue with your component. My question is more, what identifies HA as being unique? I think it might be that WSL is generating a new local IP each time it fires up. I have got static IP set in ubuntu (the OS I use in WSL2), but effectively I have two IPs for the ethernet bridge on WSL2. 192.x.x.x as my static and a 172.x.x.x that is set within WSL2 and is not static…
So basically do you think its the local IP address change that’s my issue, or should I be looking maybe at mac address of the docker container itself?
Appreciate any pointers to narrow down as I have everything else working well on WSL2 now
Thanks
@north3221 I think that ur issue is (most probably) Docker not saving ur new authentication key file. With Docker, there is a Dockerfile, which can remap folders for it’s virtualized instances to actual folders on ur HDD, thus allowing persistent data. The virtual instances themselves get reset every time u run Docker again, thus it removes the file that holds the authentication key for ur TV from the component…
So from what I can tell, your component can track the TV’s on and off state, but can’t control anything. Weird.
My network has been set up so that my Home Assistant can communicate across all VLANs, however devices on a different VLAN cannot initiate connection with my Home Assistant
@HeedfulCrayon It would be easier if u told me what u need the component to do for it to work. The on / off states (at least the ping update method) use a HTTP request across ur LAN, if u enable the SmartThings API u will get a lot more control over it… unless ur blocking ports on ur VLAN… Otherwise we use 2 other communication types: WebSockets for sending key commands and UPNP for volume control and a few other features… It may be that just some protocols fail communication in ur scenario…
@jaruba Fab makes sense, I should of thought about an auth key file! doh…
I’ll take a look where it’s getting stored and make that a persistent map in my docker config
Thanks very much for the pointer, will save me a great deal of time looking in the wrong place
@jaruba that doesn’t seem to be the issue, the mount points are configured. I went through your code and added some extra logging. Unless I am mistaken the websockets.py saves the auth key in a file within the custom component folder. That is saving and persistent… smartthings.py doesn’t seem to save an auth response anywhere?
So I assume smartthings is just the api_key and smartthings itself is storing auth for that request… and websockets is the file within the custom componment folder.
So I am back to assuming there is an ip/mac address issue which the tv itself must store a map of auth key to ip/mac…
I’ll look again tomorrow
Like I said definitely not an issue with your component. So not expecting ‘support’ just sharing in case you have any other pointers, and also in case helps others with similar set up
hey @jaruba so after a lot of digging, reading and experimenting… I am 99% sure that the issue is that WSL2 doesn’t keep a static MAC address. So the TV must keep the token assigned to mac.
There is no way to fix that at the moment. I don’t think this is anything that can be done from your component side, if you think of anything of course let me know, but I cant see it. Your code already provides serialize name in the api call, its a shame that’s not used by the TV to verify the token, but from a security perspective it makes sense not to.
So I need to live with it for now while many of us try and find a work around to this WSL issue.
Ta
@jaruba Thank you for all the work on this component. The built in component would just fail to connect to my TV (TU8000F). I tried another component with no success. it has taken me quite a bit of work and reading through this thread as well as your documentation but it is working in general. The state updates seem a little buggy sometimes (if i mute the tv from the media card sometimes it shows as off for a short time). I have failed to get HA to set or recognize apps but the more I think about it I’m not sure how much I would use that feature but I will keep playing with it. I really just wanted to commend you on the work put into this it is appreciated.
Hello,
I want to integrate my Samsung TV with Alexa, but Alexa don’t detect any scene. Turn Off, on, mute works correctly. Smarthings configured, some scripts created and I’ve Created a routine but Alexa only shows “Power ON” scene, this scene is not created by me.
Followed this guide:
https://github.com/jaruba/ha-samsungtv-tizen/blob/9d1bc52836617c06d7902f64398be6e5364b9626/Alexa_guide.md
But scripts aren’t detected
EDIT:
I’ve forgot to add script domain under alexa integration. Sorry
Hi,
I have an interactive channel which I can access using the red function button, called “Ziggo On Demand”. I added the source to the source list with KEY_RED
, which works:
source_list: '{"TV": "ST_TV", "Ziggo On Demand": "KEY_RED"}'
However, the media_title
attribute, sometimes shows 9920, other times 10080. All other attributes, do not help identifying the current source playing. I am wondering whether it would be possible to translate this strange source into a media_title
which makes more sense.
The available state attributes when activated are:
source_list:
- TV
- Ziggo On Demand
volume_level: 0
is_volume_muted: false
media_title: '9920'
source: TV
friendly_name: Samsung TV
supported_features: 20413
device_class: tv