Circadian lighting: Tuneable White lamps do not instantly tune when turned on

Greetings!

I am happy to see Circadian lighting now broadly supported for all kinds of lamps that have “Color Temperature” aka Tuneable White.

Since I have quite a few of those kinds of lamps, I happily enabled it on all of them. Now I notice that lamps follow the outside sunlight temperature quite nicely if you leave them on, but lamps that are just occasionally on tend to look wrong - and I figured out why.

Apparently, the color temperature for all the lamps gets adjusted on a fixed schedule - today I’ve been observing changes on all lamps at 14:45 and then again at 16:45 and 17:45). This is what I’d expect, all lamps tuning to the sky’s general color temperature neatly in sync.

However, when a lamp that has been off for a while turns back on, color temperature for this lamp does not get adjusted until the next scheduled round of adjustments.

So let’s say I’ve last used this lamp late in the evening, when it ran on its warmest possible color temperature, and then turned it off for the night. When I turn it back on the next day in broad daylight, it stays on the warm setting until the next scheduled adjustment happens - which might be an hour or two.

My expectation would be that when I turn a lamp on that has Circadian mode enabled, SmartThings should immediately adjust color temperature to what it’s supposed to be for the current time of day, not leave it at whatever it last had until the next round of adjusting all the lamps.

Help please?

best regards,
Peter

PS: For the one or two lamps where this is most annoying, I made a routine that says “If lamp turns on, then turn on Circadian mode”. That triggers an immediate adjustment. I don’t want to do this for all the lamps, simply because that’s quite a lot of lamps and a big mess in routines.

Hi @Peter-M
We recommend contacting SmartThings Customer Support , as they are the appropriate team to escalate and investigate this kind of issue.
You can reach them by following these steps:

  1. Open the SmartThings app
  2. Go to the menu tab at the bottom-right corner.
  3. On this page, select the option “contact us” and then go to “Error reports”
  4. Select the topic related to your issue and follow the steps to submit your support request

Will do, thanks.

Done, and got a request for screenshots, which I supplied.

For the record, here are the same screenshots.

One is showing how the device turns on at 8:56 and is stuck on the wrong color temperature until 9:45; same again at 11:32. Note also how (all the) lamps with circadian rhythm appear to be updated at X:45 o’clock.

The other is showing how the same lamp, after turning it off in the afternoon while 5700K is set, gets turned back on in the late evening at 21:16. It stays at broad daylight 5700K for half an hour before at 21:45 it finally gets adjusted to 2700K.

So currently, the Circadian Lighting option - which in itself is the prettiest thing - is only useful with lamps that are on all the time. Lights that are turned on and off with room occupation will have the wrong “mood” most of the time, to the opposite of its intended effect on human wellbeing.

Let’s hope that this gets improved soon!

cheers,
Peter

Well that was a complete waste of time.

After some back and forth, Samsung customer support essentially just read my problem description back to me and made this their answer - “this is because the lamp colors are adjusted hourly only”. Well duh, that’s the problem, not the answer.

Then they proceeded to read my own workaround back to me as well, “just make a routine for each lamp to do what the original function forgets to do”.

That’ll make a right mess. Is there a limit to how many routines you can have?

PS: In case anyone from the actual ST dev team reads this, the case number is 66259395. Thank you for actually trying to move this forward.

I believe it is 1000 combined Automations per location.

OK thanks. While this exercise has just more than doubled the number of routines, I’m far from that limit.

Now, this workaround routine (one per device) does improve things, in that the lamps don’t stick to an annoyingly wrong temperature for a long while. However, the new annoyance is that there is a notable delay between the lamp turning on and the routine fixing the color temperature. So whenever I enter a room after a few hours, I’m greeted with a flash of wrong-temperature before things readjust to correct-temperature.

So … while it’s not as terrible as it is without the workaround, it is still not actually good. If someone from ST core dev reads this: Can we please fix this properly? Thanks!

-Peter

Hi, @Peter-M
Can you share the following, please?

  1. Support access to your account (instructions below)
  2. The name of one of the routines with this issue, this is to see its configuration.

To provide support access:

  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.

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

Have you checked what happens on the driver logs to see which commands are sent to the device when the routine is triggered?
For this,

  1. You need to set up the ST CLI and run the command below:
smartthings edge:drivers:logcat
  1. The CLI will prompt you to select from which hub and driver you want to listen to events
  2. Then, trigger the routine to see the incoming and outgoing events.
  3. You can copy those logs into a file and share them with us at build@smartthings.com.

Thanks for your offer to help - let’s see what I can feed into it.

My account is already open for access, email address is @online.deonline.de

The helper routines I’ve been making are all named “[device] Tagesrhythmusbeleuchtung”, and they all do the same thing -

[
  {
    "if": {
      "equals": {
        "id": "26c0344e-b704-4923-9c66-b03c5f6c3f62",
        "left": {
          "device": {
            "devices": [
              "7b55f291-e24f-437d-88a5-35e10bf0d5ea"
            ],
            "component": "main",
            "capability": "switch",
            "attribute": "switch",
            "trigger": "Always"
          },
          "type": "device"
        },
        "right": {
          "string": "on",
          "type": "string"
        },
        "changesOnly": false
      },
      "type": "equals",
      "id": "9f8411b0-f103-4dec-ad79-a20b6c09f3cd",
      "then": [
        {
          "command": {
            "id": "29cff195-7ff4-4992-975d-633e8086e2f5",
            "devices": [
              "7b55f291-e24f-437d-88a5-35e10bf0d5ea"
            ],
            "commands": [
              {
                "component": "main",
                "capability": "synthetic.lightingEffectCircadian",
                "command": "setCircadian",
                "arguments": [
                  {
                    "map": {
                      "timeZoneId": {
                        "string": "Europe/Berlin",
                        "type": "string"
                      },
                      "state": {
                        "string": "Run",
                        "type": "string"
                      }
                    },
                    "type": "map"
                  }
                ]
              }
            ]
          },
          "type": "command"
        }
      ],
      "sequence": {
        "then": "Parallel",
        "else": "Parallel"
      }
    },
    "type": "if"
  }
]

This works, but it’s slow enough that a brief moment of wrong color temperature becomes very noticeable.

In terms of devices, “Lampe Garderobe” would be the most active in terms of on/off cycles, for it’s a hallway lamp on a motion detector routine.

A good example on the brief moments of totally wrong temperature is with “Lampe Büroraum” -

Time,Device Label,Device Name,Location,Component,Component Label,Capability,Attribute,Value
2026-02-03T20:16:20.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","off"
2026-02-03T17:47:46.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","colorTemperature","colorTemperature","3000"
2026-02-03T17:47:46.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","3000"
2026-02-03T17:47:46.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","5700"
2026-02-03T17:47:46.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","on"
2026-02-03T13:45:38.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","off"
2026-02-03T13:45:35.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","5700"
2026-02-03T13:45:35.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","5700"
2026-02-03T13:45:35.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","on"
2026-02-03T13:45:23.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","off"
2026-02-03T13:45:11.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","colorTemperature","colorTemperature","5700"
2026-02-03T13:45:11.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","5700"
2026-02-03T13:45:10.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","5000"
2026-02-03T13:45:10.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","on"
2026-02-02T15:52:34.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","off"
2026-02-02T15:17:47.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","colorTemperature","colorTemperature","5000"
2026-02-02T14:52:47.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","5700"
2026-02-02T14:52:47.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","5700"
2026-02-02T14:52:46.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","on"
2026-02-02T14:52:43.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","off"
2026-02-02T14:51:54.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","colorTemperature","colorTemperature","5700"
2026-02-02T14:51:54.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","5700"
2026-02-02T14:51:54.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","6500"
2026-02-02T14:51:53.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","on"
2026-02-02T12:09:50.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","off"
2026-02-02T11:17:52.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","colorTemperature","colorTemperature","6500"
2026-02-02T09:50:52.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","colorTemperature","colorTemperature","5700"
2026-02-02T09:50:52.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","5700"
2026-02-02T09:50:51.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","2700"
2026-02-02T09:50:51.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","on"
2026-02-01T21:30:32.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","off"
2026-02-01T20:17:54.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","colorTemperature","colorTemperature","2700"
2026-02-01T18:46:54.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","colorTemperature","colorTemperature","3000"
2026-02-01T18:46:53.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","3000"
2026-02-01T18:46:53.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","5700"
2026-02-01T18:46:53.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","on"
2026-02-01T11:03:55.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","off"
2026-02-01T10:08:40.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","colorTemperature","colorTemperature","5700"
2026-02-01T10:08:39.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","5700"
2026-02-01T10:08:38.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","6500"
2026-02-01T10:08:38.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","on"
2026-01-31T13:16:30.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switch","switch","off"
2026-01-31T12:38:23.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switchLevel","level","100"
2026-01-31T12:38:20.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","switchLevel","level","1"
2026-01-31T12:34:57.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main","main","colorTemperature","colorTemperature","6500"
2026-01-31T12:34:57.000+00:00,"Lampe Büroraum","Lampe Büroraum","Zuhause","main",,"colorTemperature","colorTemperature","6500"
2026-01-31T12:34:27.000+00:00,"Lampe Büroraum","Matter Color Temperature Light","Zuhause","main","main","switch","switch","on"
2026-01-31T12:34:27.000+00:00,"Lampe Büroraum","Matter Color Temperature Light","Zuhause","main","main","switchLevel","level","100"
2026-01-31T12:34:27.000+00:00,"Lampe Büroraum","Matter Color Temperature Light","Zuhause","main","main","colorTemperature","colorTemperature","2703"

Jump To Section

© 2026 Samsung Electronics Co., LTD.

A true solution cannot come from such a routine, it’s always going to react and adjust after the fact rather than setting the color temperature correctly in the first place, right before or right after the On command.

That is unreachable for a user routine, so the SmartThings core logic would have to do something like:

If (command is “on”)
–if (device is in Circadian mode)
—-send SetColorTemperature with time-of-day accurate color temp
–send On

Hi, @Peter-M
Sorry for the delay. We’re checking with the engineering team on the behavior of this feature, so, just to check which commands are being sent to the device and compare them with the physical reaction, we need the following:

  1. Driver logs of when the routine starts executing for the device, without filtering them because the ones above don’t see the Zigbee/Z-Wave messages generated
  2. To have a better reference on the logs, please let us know the time on when the routine started executing
  3. Submit the hub logs
  4. Open support access

Hi nayelyz,

thanks for getting back to this.

My account has been open for developer access for quite a while, email @online.de .

Would you like me to disable the workaround routines to see the unmodified problem, or do you want to look at the execution speed of these very routines first? Do you have a preference which kind of device you’d like to watch - I have tuya cloud, matter/thread, and zigbee lights.

Please advise, and then I’ll be able to set things up in the evening.

Best regards, Peter

Yes, we need to have the logs of the execution where you see the device is turned on in the wrong temperature and then changes to the one expected.
About the device, are all of them affected by the same issue? If so, please choose a Zigbee light to test for this one.

Thanks for the feedback.

Yes, the lights are all affected no matter how they connect, be that thread, zigbee or WiFi via cloud. I do not have BT or Matter/WiFi lamps.

To reiterate, Circadian mode updates color temperature on a fixed schedule for all the lights that are on in that moment. Lights that have been off when turned on remain at their previous color temperature until the next scheduled update runs; they show a mismatched color temperature for up to two hours.

Once I return home tonight, I’ll pick one of the Zigbee lights, and disable the helper routine on that one so you can see the original behavior of the Circadian Mode. I will then strategically turn this lamp on and leave it on until bedtime, turn it off for the night and back on midday tomorrow. Obviously I’ll post here which one it is.

In this process, what would be a good time to trigger a hub log? Or do I even need to while you watch?

best regards,
Peter

So … I have just turned on “Lampe Gästezimmer" without the workaround and “Lampe Toilette" for comparison w/ workaround.

Now G is unadjusted from its last state at 4000K while the workaround forced T onto 2700 as approriate for 9pm.

I’ll leave G on until it adjusts on schedule.

So now G adjusted with all the others because X:45 o’clock passed. Hub log dump triggered. Hope it helps! Let me know what to try next.

Hi @Peter-M have you tried @Mariano_Colmenarejo driver for the Zigbee lights :light_bulb:?

Circadian rhythm was there for years, and as far as I remember, it adjusts more frequently than hourly.

This isn’t about the device drivers - it is a miss in the underlying mechanism of Circadian Mode. I can see how a driver could work around this, and so can a routine, but all the lamps show the symptoms, even the cloud WiFi ones that do not have a loadable driver to begin with. So routines can generally work around it but it’s slow, drivers could work around for some but not all, and a true solution could only be in the mechanism itself.

Whatever the light is, cloud, Matter or Zigbee, Circadian Mode runs a color temperature update hourly, all lamps in sync, but only for those that are On at that point in time. (And this better stay like that, for some lamps do implicitly turn on when changing the color temperature.)

When you freshly turn a lamp on that had Circadian Mode previously enabled, the miss is that this lamp does not immediately get its color temperature adjusted to what all the others currently have, it stays on whatever it had before it last got turned off. Correct color temperature happens whenever the next update cycle happens, in my home that’s at X:45 every hour. See the above screenshots or the hub log that (hopefully) got dumped last night.

In opposition to this, when I turn a lamp on and then enable Circadian Mode on it, I get an immediate adjustment of color temperature. This works even if C.M. was previously enabled; this is what my workaround routines do.

What I’d like to see done is this same thing done implicitly - right after sending an [on] or [level>0] to [lamp] AND [lamp] has Circadian Mode enabled, send a setColorTemperature update.

best regards,
Peter

PS: I have just turned our test lamp “Lampe Gästezimmer” back on and (re-)enabled Circadian mode for instantly correct color temperature. I’ll leave it on so we can observe the update frequency from now into the night.

So … the updates are precisely hourly, with some hours going by with no change - which makes sense because 12:45 to 14:45 are broadest daylight outside and the lamps are supposed to match that. Being hourly, the jumps in color temperature are actually quite noticeable. That’s not actually the problem we’re trying to fix here, but if we were to vote for more frequent updates, please count my “Yes please”.

Note that for this showcase I turned the lamp on and then turned C.M. on two minutes later to force an update to the color temperature.
Also, I’ll be triggering another log dump in a minute.

Hi, @Peter-M
The engineering team mentioned a workaround that I wanted to check if it worked for you:

If the device is turned off with the wrong temperature, please turn Circadian off and then on again. When this feature is enabled for a device, the circadian preset border will be highlighted as shown in the picture below, so turning it off and on should cause the device to sync again.

Yes, that absolutely does work. Turning this button off and back on does sync the lamp to the correct color temperature.

In fact this is what my workaround routines do - condition: when lamp turns on, action: set circadian mode On. This too forces the missing sync.