The API does not return the current pictureMode

Unfortunately, the API does not return the current picture mode. I have a 2025 Samsung S95F and am using the following endpoint:

https://api.smartthings.com/v1/devices/{{ device_id }}/status

When I change the picture mode on my TV from “Standard” to “Dynamic” or “Movie,” the API returns the following:

samsungvd.pictureMode:
  pictureMode:
    value: Standard

The “pictureMode” value in the response is not up to date.

However, when opening the SmartThings app, I see the currently set picture mode in the app and immediately afterward, without changing the picture mode again via app, the API also returns the correct picture mode. So, only by using the app the API is triggered to update the value. And no, it’s not a timing issue - even if I wait for a long time, the value doesn’t update; it only updates after using the app.

It appears that only the pictureMode is affected, as other values seem to be updated.

Would be great if this could be passed on to the developers for investigation.

Hi,

Thank you for the detailed explanation, this is very helpful.

To continue the investigation, could you please help us with the following:

  • Grant us access to your account so we can review it from our side
  1. Confirm the email account registered in the forum is the same one you use for SmartThings. If not, please share it with me over DM.
  2. Enable support access to your account:
  1. Go to the SmartThings Web (my.smartthings.com)
  2. Log in to your Samsung Account
  3. Select Menu (⋮) and choose Settings
  4. Toggle on Account Data Access
  5. Select the time period and confirm - In this step, please select “Until turned off”, once the team finishes, we’ll let you know so you can disable it again.

More info about this access here: https://support.smartthings.com/hc/en-us/articles/36170233944852-Enabling-Account-Data-Access-for-Support

  • Repeat the process and share:
    • A timestamp (with timezone) when you change the picture mode directly on the TV
  • If possible, please send app logs right after reproducing the issue
  1. Go to Menu > Gear Icon > About SmartThings
  2. Tap the SmartThings logo 10 times.
  3. This will open the developer’s space > tap ‘report a problem’
  4. This will send you to the report page. Select a frequency and write a short description of the issue.
  5. Click on “Report” and a log file will be generated for you to send over email, please do to build@smartthings.com
  • A short video or screenshots showing the behavior

This will help us correlate the behavior and check what’s happening on our end.

Thanks in advance!

Hello and thanks for your quick reply.

The described behavior should be pretty easy to reproduce regardless of the specific device:

  • Query the “pictureMode” data field via the SmartThings API
  • Use the TV remote to change the “pictureMode” directly on the TV
  • Query the “pictureMode” field again via the API

I’m not a developer, I just want to be able to query the TV’s status with Home Assistant. In the Home Assistant integration I am using, a refresh command is now sent before querying data:

{“component”: “main”, “capability”: “refresh”, ‘command’: “refresh”}

This now makes the pictureMode query work and I can no longer reproduce the problem at this time. On the one hand, this shows that my TV is providing the data correctly, which is why I can rule out any device-specific error. Additionally, other data can also be retrieved without any issues. On the other hand, the cause of the problem must therefore most likely be sought within the SmartThings API.

In principle, you already have half the solution now: when data is retrieved via API, it should always be up to date. Retrieving historical data would be a completely different and presumably much less significant use case. Accordingly, you would need to implement what the refresh command does internally within the API for every data retrieval, so that this is no longer explicitly necessary for API users.

Like you mentioned, most of the reported TV status won’t update unless you issue a “refresh” command, wait a second or two, and then read it. Unfortunately, that’s always been the case. :frowning:

1 Like