Provide API call to turn "art mode" on for Samsung "The Frame" TVs

Hello, I’d like the ability to turn the “art mode” on on my Samsung “The Frame” 75" tv. It looks like there are a couple of forks of the Samsung TV integration that are able to do this via HACS (see GitHub - ollo69/ha-samsungtv-smart: 📺 Home Assistant SamsungTV Smart Component with simplified SmartThings API Support configurable from User Interface.), but I’d rather use the official HA Samsung TV integration.

It appears powering off the TV via the media_player.turn_off service call used to turn the TV to “art mode.” The trouble with that I believe was there was no way to actually turn the TV completely off. (See Adjust power_off for TheFrame in SamsungTV by epenet · Pull Request #67841 · home-assistant/core · GitHub)

I also need to know how to read the TVs current state for Art Mode, and be able to switch Art Mode off and on.

2 Likes

Just a heads up, Samsung removed all Art Mode components from their API. So starting with Tizen 6.5, all Art Mode functionality is broken.

Here’s a conversation from a different project:

Man this sucks. I swear Samsung is making Art Mode as hard as possible to use outside their locked in controls so that more people will pay their dumb subscription.

Personally I use my Frame for displaying my own work as I am a photographer, and I was really hoping there might be a way to control things like brightness/color temp of art mode, as well as single photos/slideshow or even change the photos through HA but looks like NONE of this is doable because Samsung are jerks :frowning:

Any News regarding Art Mode Integration?

At least On/Art Mode/Off is working for example in the Homebridge Samsung Tizen Integration, so There still Must be any working Api for at least These three states.

Would be great i.e. To Turn the tv completely off when nobodys at Home.

Cheers

2 Likes

You prob already know this, but just in case. Depending on the model you have, mine is 2020 Frame, it has a motion sensor as well as light level sensor facing the room. You can configure the art mode settings on the TV to timeout after a period time if no motion is detected in the room. To configure it, while in art mode, hit the up or down button on the remote and a banner pops up from the bottom of screen you’ll find the settings menu there.

Ok here is a workaround I managed to get working with Node-Red. If the TV is running (I have not integrated that “check” yet. So let’s assume it is running something) you can run the following Node Red flow. Also, you need to have smartThings enabled and integrated and you have to have the HACACS Integration of Samsung running.

Then this works to turn the TV back into Art Mode I know this is “artistic” to say the least, but it does the job.

[
    {
        "id": "0985c495899782b0",
        "type": "api-call-service",
        "z": "3f145bea.90abf4",
        "name": "TV off",
        "server": "dfcf8dcf.082cc",
        "version": 5,
        "debugenabled": false,
        "domain": "remote",
        "service": "turn_off",
        "areaId": [],
        "deviceId": [],
        "entityId": [
            "remote.frame_2"
        ],
        "data": "",
        "dataType": "json",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 400,
        "y": 1020,
        "wires": [
            [
                "987fae0025b463a5"
            ]
        ]
    },
    {
        "id": "a6cb293f844ed3b2",
        "type": "api-call-service",
        "z": "3f145bea.90abf4",
        "name": "TV on",
        "server": "dfcf8dcf.082cc",
        "version": 5,
        "debugenabled": false,
        "domain": "remote",
        "service": "turn_on",
        "areaId": [],
        "deviceId": [],
        "entityId": [
            "remote.frame_2"
        ],
        "data": "",
        "dataType": "json",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 730,
        "y": 1020,
        "wires": [
            [
                "8e7997ab920aff5a"
            ]
        ]
    },
    {
        "id": "20b93820fee59e67",
        "type": "api-call-service",
        "z": "3f145bea.90abf4",
        "name": "Art on",
        "server": "dfcf8dcf.082cc",
        "version": 5,
        "debugenabled": false,
        "domain": "remote",
        "service": "turn_on",
        "areaId": [],
        "deviceId": [],
        "entityId": [
            "remote.frame_2"
        ],
        "data": "",
        "dataType": "json",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 1050,
        "y": 1020,
        "wires": [
            []
        ]
    },
    {
        "id": "8e7997ab920aff5a",
        "type": "delay",
        "z": "3f145bea.90abf4",
        "name": "",
        "pauseType": "delay",
        "timeout": "3",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 900,
        "y": 1000,
        "wires": [
            [
                "20b93820fee59e67"
            ]
        ]
    },
    {
        "id": "987fae0025b463a5",
        "type": "delay",
        "z": "3f145bea.90abf4",
        "name": "",
        "pauseType": "delay",
        "timeout": "3",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 580,
        "y": 1000,
        "wires": [
            [
                "a6cb293f844ed3b2"
            ]
        ]
    }
]

The delays seem to trick the TV into not turning it off again and so it moves into Art mode.

Happy to hear your feedback and improvements.

1 Like

I am a bit late for this discussion, but I have been looking at this thread for the past year or so since I also have a new The Frame and wanted this functionality. There may be some good news after all. As @Software2 said, Samsung previously removed Art Mode from newer The Frame TVs, but they seem to have reimplemented it during a firmware update in the spring of 2024, see the following discussion for context.

https://www.reddit.com/r/TheFrame/comments/1c2lgbs/art_mode_api_is_back/

Better yet, the Samsung-tv-ws-api HA use for newer Samsung TVs has already incorporated this functionality, so there is a chance that it may make it into the official integration at some stage. In the meantime, I mocked up a simple “art switch” integration that I have confirmed is working with my 2022 Samsung The Frame TV with firmware version 1640.

https://github.com/joakimjalden/frame_art

I’ll continue testing it and consider whether this is a suitable way to implement it before formulating a proper feature request or (a long shot, given my developer skills) trying to add the functionality directly into the official integration to offer a PR.

2 Likes

thank you, will be trying and report back the result!

1 Like

tested it and it works great!!! thank you!

1 Like

This custom integration provides extensive device control for The Frame, and I have confirmed that it’s Art Mode service is once again working now that the API is restored:

2 Likes

Could you tell me how you did it? I checked the advanced feature “Power button switch to art mode (Frame TV only)” but it wont go to art mode.
I’m using NodeRed "Remote.turnoff"feature to call the TV turn off.

thanks

If you enable “Power button switch to art mode (Frame TV only)” then you have to use the power button this is what I do:

actions:
  - type: turn_off
    device_id: xxx
    entity_id: xxx
    domain: remote
    enabled: true

The problem is when my Nvidia Shield turns the TV off it doesn’t go into art mode so I set an automation that triggers when the TV is turned off (in this case via CEC by the shield) it “turns the frame off” which means it uses the power button, but the TV turns on again then off. I don’t understand why. But art mode is turned on!

I would like to use the service: samsungtv_smart.set_art_mode but I couldn’t get that to work on first pass so if anyone can share their automations that they used for https://github.com/ollo69/ha-samsungtv-smart this specific integration I’d love to see! Thanks

1 Like