Improving Samsung TV Control

@mverbraak I don’t think so, the numbers you see as media_title are what the TV sends as the “Channel Name” to the SmartThings API, we can’t know more then the TV itself sends. If you want to investigate this, you can check the SmartThings panel to see all the information that the TV exposes in real time.

I had same notification always. New device found. When i check This the New device it was Samsung tv always… what shall i do? If i turn statik ip configuration on Samsung tv, will it resolve?

@jaruba Thank you for you respons. I checked the SmartThings panel and there is a lot of information there, but unfortunately not something distinctive.

Hi ,
I have a q90t55 and configured as follow :

  - platform: samsungtv_tizen
    name: TV Living
    host: 192.168.x.x
    mac: "xx.xx"
    api_key: "xx"
    device_id: "xx"
    scan_app_http: false
    app_list: '{"Netflix": "org.tizen.netflix-app","Net": "11101200001","Netf": "11101200001/org.tizen.netflix-app","Netfl": "Netflix"}'

none of the app switch the tv to the app , i have no clue how to get this fixed.
and even if in the readme there is the " tv apps will show automatically , unfortunately if i do not put anything the only to voices in the menu are TV / HDMI

if i add those channels , i can switch channel correctly , so i guess the problem is only to how call the app in the right way.

channel_list: ‘{“BBC NEWS”: “888”,“BBC ONE HD”: “890”, “FoodNetwork”: “924”, “SkyNews”: “994”, “ITV”: “952”}’

@Umbe Do you use AdGuard or Pi Hole? if so, you need to whitelist the SmartThings servers, or ur TV can’t talk to the servers.

Yes , i have pihole , now i whitelisted what was red , no changes :frowning:

  - platform: samsungtv_tizen
    name: TV Living
    host: 192.xx
    mac: "xx"
    api_key: "xx"
    device_id: "xx"
    app_list: '{"Netflix": "11101200001/org.tizen.netflix-app", "PLEX": "3201512006963/kIciSQlYEM.plex", "Prime Video": "3201512006785/org.tizen.ignition", "Spotify": "3201606009684/rJeHak5zRg.Spotify"}'
    channel_list: '{"BBC NEWS": "888","BBC ONE HD": "890", "FoodNetwork": "924", "SkyNews": "994", "ITV": "952"}'
    source_list: '{"TV": "KEY_TV"}'
    update_method: "ping"

I can see hhat is going on … but , no control of the app, i can even play and pause spotify.

Anyone else got an issue that everything but netflix will load using the app selection?

I have this in my config and I can load browser, youtube, plex, sky etc but not netflix?


samsungtv_smart:
  - host: 192.168.1.138
    source_list: '{"TV": "ST_TV", "Sky": "ST_HDMI1", "Apple TV": "ST_HDMI2", "Nintendo": "ST_HDMI3", "Xbox": "ST_HDMI4"}'
    app_list: '{"Netflix": "11101200001"   , "Plex": "3201512006963", "YouTube": "111299001912",  "Prime Video" : "3201512006785", "Spotify": "3201606009684", "Internet": "org.tizen.browser" }'

also tried a load of curl commands, and again everything but Netflix works.

I am struggling setting the component up.
Any ideas whats wrong?

  - platform: samsungtv_tizen
    host: xxx
    mac: xxx
    name: wohnzimmer_tv
    update_method: smartthings
    api_key: "xxx"
    device_id: "xxx"
Logger: homeassistant.helpers.entity
Source: custom_components/samsungtv_tizen/smartthings.py:45
First occurred: 23:36:49 (4 occurrences)
Last logged: 23:37:33

Update for media_player.wohnzimmer_tv fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 278, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 474, in async_device_update
    raise exc
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/util/__init__.py", line 239, in wrapper
    result = method(*args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/util/__init__.py", line 239, in wrapper
    result = method(*args, **kwargs)
  File "/config/custom_components/samsungtv_tizen/media_player.py", line 417, in update
    smartthings.device_update(self)
  File "/config/custom_components/samsungtv_tizen/smartthings.py", line 45, in device_update
    device_all_sources = json.loads(data['main']['supportedInputSources']['value'])
  File "/usr/local/lib/python3.8/json/__init__.py", line 341, in loads
    raise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not NoneType

hey together

is the app YoutubeKids not supported?
I don’t get the logo in the icon.
Is it possible to change that?
YoutubeKids is not available in the App list.


image

Chriss669 - Do you have HDMI ARC connected AVR? I have a Denon linked via ARC and the Denon needs a power off break every 2 weeks or so to prevent some psychotic actions.

1 Like

@MickPB, almost, have a Marantz NR1508. Firmware seems chaotic. Sometimes DENON HA component works, sometimes not. What is strange is that HEOS component is always working. Same for Android app. HEOS app always working but not AVR Marantz app. If I reset by pushing 2 seconds power button, I have to re discover my NR1508…

Try unplugging it. I don’t loose any settings but the on/off functionality improves. I did set the power settings to auto everything and standby to 15 min. I haven’t done it yet, but Denon is getting a smart plug and a weekly power cycle very soon.

1 Like

I too have a 2020 model and everything works great except access directly to the apps. I’ve tried what I think is all the combinations for the app pair config with no luck. Key commands are working well.
I have a nagging doubt that maybe I am calling the service wrong. As one extra point can someone confirm this is the right way to ask the TV to play Netflix? I did take the app ids from the entity attributes in the developer

media_player:  
  - platform: 'samsungtv_tizen'
    host: '192.168.1.x'
    mac: 'xx'
    name: 'Samsung Q90Tizen' 
    update_method: smartthings
    api_key: 'xxx'
    device_id: 'xxx'
    scan_app_http: True
    app_list:
     '{"Plex": "kIciSQlYEM.plex","Netflix": "org.tizen.netflix-app", "YouTubeTV": " PvWgqxV3Xa.YouTubeTV"}'
service: media_player.play_media
data: 
  entity_id: media_player.samsung_q90tizen  
  media_content_id: Netflix

Thanks, just unplugging works. What do you mean with “weekly power cycle” something like a new firmware??

We are in the same situation , i can control the tv , but none of the apps work.

Nothing that fancy - Just something to turn the power on/off periodically. A smart mini plug would be one way but even a lamp timer that turns off for a few minutes each night kept an old router limping along for years

1 Like

@Se7enair I’m guessing you are using Pi Hole or Adguard Home, and they are blocking the SmartThings API servers.

@Kabala If you want the logo for YoutubeKids to show, then you can create a PR to add it to my channel logos repository. There is a small guide explaining how to add new custom logos here: https://github.com/jaruba/channel-logos/tree/main/custom#custom-channel-logos

(after adding a new logo, they will become available for everyone using this component)

If you want to be able to change to the YoutubeKids app from the component, then set a custom app_list in the config and use the media_title from your screenshot (5SLwh7m3En.TizenYouTubeKids)

@MickPB @Matt_Barnes @Umbe Please try using both the numeric and alphanumeric values for the apps when setting app_list, check the docs for further details: https://github.com/jaruba/ha-samsungtv-tizen/blob/9d1bc52836617c06d7902f64398be6e5364b9626/App_list.md

@jaruba Yes, I am using AdGuard. But it seems that the servers are not blocked. Because I can control the TV via my smartphone. Also the TV doesnt claim that he cannot connect.
So is this the normal behaviour? If yes, do you know which domains are neccessary?

Will try it later the day with disabled AdGuard.

For the moment I use https://github.com/ollo69/ha-samsungtv-smart and this works. Also the SmartThings, because I can see which HDMI is selected.

@Se7enair

Interesting, I’ve only seen your error in cases where the SmartThings API is blocked. The TV doesn’t show errors on the screen if SmartThings can’t be contacted, and the Android app also uses bluetooth to connect to the TV afaik.

The component you are using is a fork of my component, ollo did do some work on the SmartThings code, but I wouldn’t of thought it was that significant of a change.