-
Notifications
You must be signed in to change notification settings - Fork 45
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
2022 The Frame art mode websocket commands do not work #108
Comments
I am following this to see where the crossover is with a Homebridge project issue: tavicu/homebridge-samsung-tizen#519 I upgraded from a 2020 Frame to a 2022 model, and the art mode command worked for the first week and then stopped working a few days ago. I am not sure if there was a firmware update to the television during this time. |
Same issue occurs on 2022 model QA65LS03BAWXXY. Other ws requests work fine, but art mode requests time out. I own the TV and can test as needed. |
FWIW the developers over at https://github.com/tavicu/homebridge-samsung-tizen/wiki/Frame-TVs have reported that Samsung removed the Art Mode API in Tizen 6.5 and newer. |
I have the same issue with a pre 2022 Model.
Op ma 25 apr. 2022 om 20:11 schreef stephen ***@***.***>
… Hello,
I'm trying to run this library against a 2022 frame tv (model:
QN65LS03BAFXZA). Non-art mode commands seem to work fine (i.e.
tv.run_app('3201606009684')), but art mode commands over the websocket
hang and do not return.
Unfortunately, I don't have a non-2022 tv to test with, so I am not sure
if this is an issue with my home setup, or a change in the 2022 models.
—
Reply to this email directly, view it on GitHub
<#108>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA2HB2RFFV5J4XP7JRKLXJTVG3N6ZANCNFSM5UJLTJKA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Same issue, is there any workaround ? |
As of firmware 1622, the art WebSocket api is back! With some changes, but mostly works as it used to. |
@NickWaterton do you happen to have any more information on what changes are needed? I just tried this out on a current generation frame tv at firmware 1622, and got the same error from ( The API endpoint has good information (lightly redacted below) {'device': {'EdgeBlendingSupport': 'false', 'EdgeBlendingSupportGroup': '0', 'FrameTVSupport': 'true', 'GamePadSupport': 'true', 'ImeSyncedSupport': 'true', 'Language': 'en_US', 'OS': 'Tizen', 'PowerState': 'on', 'TokenAuthSupport': 'true', 'VoiceSupport': 'true', 'WallScreenRatio': '-1', 'WallService': 'false', 'countryCode': 'US', 'description': 'Samsung DTV RCR', 'developerIP': '0.0.0.0', 'developerMode': '0', 'duid': '', 'firmwareVersion': 'Unknown', 'id': '', 'ip': '', 'model': '22_PONTUSM_FTV', 'modelName': 'QN43LS03BDFXZA', 'name': 'Frame TV', 'networkType': 'none', 'resolution': '3840x2160', 'smartHubAgreement': 'true', 'ssid': '', 'type': 'Samsung SmartTV', 'udn': '', 'wifiMac': 'none'}, 'id': '', 'isSupport': '{DMP_DRM_PLAYREADY:false,DMP_DRM_WIDEVINE:false,DMP_available:true,EDEN_available:true,FrameTVSupport:true,ImeSyncedSupport:true,TokenAuthSupport:true,remote_available:true,remote_fourDirections:true,remote_touchPad:true,remote_voiceControl:true}\n', 'name': 'Frame TV', 'remote': '1.0', 'type': 'Samsung SmartTV', 'uri': 'http://10.x.y.z:8001/api/v2/', 'version': '2.0.25'} |
@paultag You have to use port 8002. ie
Then accept the connection on your TV (make sure TV is on), or use the saved token method (if you don't want to accept the connection every time).
This seems to be working. Not all commands work,
Let me know what you find out. |
Update: here is a list of commands that used to work on 2021 frame TV's. Don't know which ones work on the new api:
|
Ok, figured out You also have to use a secure socket connection if the Working on |
Tested Nick's changes and it works great! Was able to get my art mode changes unblocked. Thanks Nick! |
@NickWaterton any luck with |
Yes, got everything working. |
@Emily Check out my fork at https://github.com/NickWaterton/samsung-tv-ws-api I also added an async_art.py module, and several async_art examples. |
The problem is that if it is fixed for one version it breaks for the other... it would be necessary to find a way to determine which version of the service is running. Anyway I reiterate that the resulting code has to support both versions but those who have tizen 5 and 6 will be broken.... |
Are we talking about the art api? Because There are version specific commands, eg |
I forgot to reply here, I was also able to get my Frame working, but it was initially failing because the request was from a different /24 than the TV was on. After moving to the same subnet, the TV stopped resetting the connection and it looked a lot better. Thanks for tracking this down! |
Hijacking this thread because @NickWaterton is on it... 😀 Has anyone had any luck with 2023 Frames? I turned on Developer mode (type
This is what the TV is outputting when I do a
|
You need to use port 8002 (this is the secure websockets port). 8001 will not work. Also, you need to understand how the frame TV works. There are 4 endpoints to consider. One http(s) which is what you show in your post, and what is used to determine if art mode is supported, plus three websocket end points. The websocket endpoints are:
The Python library combines all these into one interface. The remote control websocket requires a token, which is generated by accepting the connection in the TV, and has to be saved, to be reused in future connections (or you will be requested to accept the connection on the TV every time). The art mode websocket does not need a token, and is what you are using when you use the I do NOT recommend using the tv.art() construct, as it is an old api, and may not work well. Instead you should use the asynchronous tv interface as demonstrated in the example folder program NOTE: the way of turning art mode on, generally is to send the TV Sending Please thank Samsung for making this so convoluted. Let me know what the output of I am obviously talking about my fork of this library. The 2023 Frame TV uses a different api to the previous 2021 and earlier api, so this library will not work with later Frame TV’s - my fork is updated with the new api (but still supports the old). My fork is here https://github.com/NickWaterton/samsung-tv-ws-api |
@NickWaterton thank you so much, that was supremely helpful. It's a side project of mine, I will keep you posted on my progress. |
Hey @NickWaterton, I tried the The snippet:
The stack trace:
I was first thinking some kind of network issue, but I can reach the TV using that IP and port with a I'm pretty clueless at this point, do you have any idea? The error message suggest a low-level networking issue, but then the cURL should fail too... I was first thinking maybe an issue with the TLS trust (Samsung's self-signed certificate), but it sounds lower-level than that.
|
@NickWaterton I figured it out... there's some kind of issue when launching the Python script from the IDE (PyCharm), even though it's supposed to be using the virtual environment. Launching it script from the shell works... But now it's just stucking in the |
@NickWaterton ... I got it to work! Power-cycled the TV and put it into art mode, and it suddenly started responding. I managed to change art mode settings (e.g. brightness), upload a picture (stored in My Photos). Thank you so much for providing your fork and the async art library. |
You are welcome! Glad you could get it to work. |
Hello,
I'm trying to run this library against a 2022 frame tv (model: QN65LS03BAFXZA). Non-art mode commands seem to work fine (i.e.
tv.run_app('3201606009684')
), but art mode commands over the websocket hang and do not return.Unfortunately, I don't have a non-2022 tv to test with, so I am not sure if this is an issue with my home setup, or a change in the 2022 models.
The text was updated successfully, but these errors were encountered: