Samsung TV Remote - Ambient Mode

I'm working on part of a simple rule that basically is a wake-up routine in the morning.

I want to turn on a Samsung Frame TV in Art Mode. I have the default startup set to ART_MODE. That seems to have no impact. Since the driver's "Ambient" command is a toggle, I'm having a tough time finding out how to get this to work.

I have another frame TV that I am able to get around this using a power meter (plug) and can differentiate between on/off/ambient/tv modes.

How can I tell what state the TV is currently in? I don't see any field updating in the driver (or even with debug in the logs) that would indicate this.

THANKS!

1 Like

Normally this question is best for the [Release] page for the driver, but I can't seem to find it. The author Dave Gutheinz doesn't list a Hubitat user ID in code.

Looking at the code, it should be polling based on your pollInterval in preferences.

Ok, not sure what is up with the code, but it looks like it should know the status.

Are you getting any polling errors in the logs?

in the poll() method it would generate a Warning for deviceID:
logWarn("poll: [status: ERROR, errorMsg: no stDeviceId]")

If it is not generating a Warning, you might see some exceptions in the logs. Make sure to turn on logEnable in preferences, it will stay on for 30 minutes.

This shows that when it sets powerOnMode, it checks the status to see if it is "ART_MODE". Then it should be getting the art mode status, which is doing a call to the TV, and finally it should land in artMode().

def setPowerOnMode() {
logInfo("setPowerOnMode: [tvPwrOnMode: ${tvPwrOnMode}]")
if(tvPwrOnMode == "ART_MODE") {
getArtModeStatus()
pauseExecution(1000)
artMode()
} else if (tvPwrOnMode == "Ambient") {
ambientMode()
}
runIn(5, refresh)
}

getArtModeStatus() does a call to the TV to get the status, so if it is not working I think you will be getting errors in the logs.

It looks like you should have an attribute called artModeStatus that you could use in automations by using a custom attribute. Is that not updating, or did you not notice it, or was it the need to use the custom attribute in rules?

However, your post made it sound like there was a problem with it turning on to ART_MODE, which it looks like it should be able to do in the driver.

Edit:

What do you see in the logs with Debug on? I missed that you mentioned that.

Which model year is your frame TV?
There are reports that for 2022 and later Samsung may have removed some functionality.

The Samsung TV driver and a discussion of this is here:

One thing I have learned is that the TV sometimes disconnects, so it does not update status; thus I have to add hitting the "initialize" button + wait 2-3 seconds into my automations.

BTW mine are 2024 models...I like LG's in my theater/bedrooms and these in places that are mainly "pictures."

Thanks everybody.

It looks to me like the device doesn't really track every state well. Samsung probably changed things. Since both on/off and ambient are toggles it as always makes things a bit trickier.

I think the easiest answer (at least for my "morning" rule) is since I can't tell if it's in ambient mode, I tune it to a known specific app... then "toggle" it to ambient.

Every time my frame tv is turned off it goes straight into Art mode and turns on/off based on if there is motion detected by the tv itself. We use nvidia shield pro as the tv client, not sure if this differs from your use case

Thanks...it will do a lot on its own. I do need control through Hubitat for the things I want to do.

I just installed the driver and virtual device, and Ambient Mode works perfectly on my 2025 QN90. I can use it in rules and with Alexa and Google Home - no issues, first try.

Cool...

Does the system see that it is ambient mode? IE - Does it show that as a status?

If you send an ambient command when it is already in ambient mode...does it leave ambient mode or stay in ambient mode. My problem is that on mine everythings a toggle...the same is true of things like mute/unmute. If I send a mute command when it's already muted...it unmutes it.

If you discuss in this thread that was linked above, you’re more likely to get help from the developer or other users of the driver.

No installation issues. I've been in a long discussion before. It's an OS problem from what I can tell. There are no separate commands for things like mute/unmute on the actual device. Many, if not all models don't return a status of if it's in Ambient mode for example...and the switch is a toggle. It makes it REALLY hard to write rules for...the best I ever did to tell want was going on for Ambient was by basing them on how much draw was on the power outlet it was connected to.

The system doesn't see an ambient mode status. "Ambient Mode" does indeed toggle on and off as a button control, but that's not an issue, because there's never a reason to ask Hubitat explicitly to take it out of Art Mode.

The only reason I want to leave Art Mode is if I'm turning the TV off (a simple TV off command will take care of that) or if you're sitting down to actually watch something.

I have my auto routines for art mode (through morning and evening mode and other triggers) to first make sure the TV is off before executing ng Art Mode. If the TV is already on, it's either in Art Mode already, or I'm watching something and don't want it auto executed anyway.

I also have a Rule that puts the TV back in Art Mode when I turn it off after watching something, unless I'm in "night" or "bedtime" mode.

There's always a way to work around toggle switches for which you might prefer actually on/off conditions.

Can you explain why you'd ever want a Hubitat command to take the TV out of Art Mode? Let me know what you're trying to do.... there's always a workaround.

I'm actually seeing a (relatively minor) issue now - in that there is no reporting at all of ArtMode or Ambient Mode status, which mean I can"t write a rule using the ArtMode/Ambient Mode status as a condition, which is indeed a bit of a pain the ■■■.

It's odd, because Hubitat reports the setting of TVPwrOnMode to "Ambient" when I press the Ambient toggle, but there's no TVPwrOnMode status that I can actually use for a condition, and it doesn't show up in the device state list.

dev:2222026-02-07 03:47:32.232 PM
info
Living Room TV Remote Art (Ambient) Mode Functionality - QN90D-2.3.9b: setPowerOnMode: [tvPwrOnMode: Ambient]

dev:2222026-02-07 11:49:27.032 AM
info
Living Room TV Remote Art (Ambient) Mode Functionality - QN90D-2.3.9b: setPowerOfMode

Now that's funny. It had NEVER crossed my mind that the TV would accept commands other than on/off while it was off.

Sigh...THANKS!!!!!!!!!!!!!!!!!!!!!!!

Knowing the the Ambient command will also START the TV makes this MUCH easier!!

Nobody else had ever said that. I get why I would not have thought that...but duh!

Yes, I want to be able to verbally change from art mode to You Tube TV. I have that working on the one in my office. The one above the fireplace stays in art mode except on rare occasions.

I may have spoken too soon. I was sure the ambient mode toggle was working even from the TV "off" state, but now it doesn't seem to. And I am definitely seeing why the toggle is a problem if you can't actually poll whether it's in Art Mode or not in Art Mode. I'm going to have to do some more testing on this. The regular Smartthings driver I have working through Hubithings actually reports the input name as "Art" but I don't seem to be query on the input name in any rules, so that seems to be useless.

I'll report back on any further progress. I'm not giving up.

I only tried it once, but I turned off my TV and sent the ambient command and it came up in the ambient mode.

I will say one of my issues has been doing the exact same thing and ending up getting a different response… Which pretty much describes insanity

Confirmed that Ambient Mode button DOES turn TV on, but the problem remains that because it's a toggle and not an on/off switch (Samsung changed it to a toggle in 2022 apparently), I can't find any way to determine if Ambient mode is in ON or OFF state, and it is very difficult to keep it synced through all the various rules. But it does work....