[Release] [App] Circadian Daylight (v0.80) (Port)


Nice work on the app. I am beginning a test of your app today and, based on your past openness for feedback, I thought I would drop you a post if/when something did not make sense to a reasonably experienced new user. I did not find documentation so please direct me if I'm in error.

What does 'Dynamic Brightness' mean in the menu context below?

Manual brighten/dim periods
You must have dynamic brightness enabled for this to work

1 Like

Thanks for the kind words! I really appreciate feedback.

That option will change the brightness of your lights between sunrise and sunset.

It doesn’t work right now :disappointed: not sure what I broke quite yet, haven’t had time to look.

Any thoughts to make it easier to use? I won’t have time to make changes for a month, but I’d love to think it over in the meantime.

Have read limited info on the value of adjusting light temperatures throughout the day. And, I think I understand your use case for building this app and how it has evolved over time with much input from others.

But, though I remember others mentioning needs/features that sounded applicable to my use case, I'm not 100% positive that I can do what I think I want to do...

The 'Advanced Brightness Options' menu is where I have spent most of my time as I want to control CT by mode (Early, Morning, Active Day, Evening, Relax & Sleep). In my residential application, many lights are not active during the day. But, for the ones that do happen to be turned on, I want those lights to follow color temperature rules by mode. And, since I do not currently have motion activation in most rooms yet, I'm not interested in setting a brightness level by mode. That will be handled by the Button Controller setup for the applicable Pico(s).

So, in the ABO menu, I'm leaving Brightness for each mode blank and entering the actual CT I want if a light happens to be turned on. When the mode changes, the CT for ALL configured bulbs should change without increasing bulb brightness above 0 for the currently OFF bulbs nor from current brightness setting for currently ON bulbs. That's what I'm assuming is possible with your app.

It seems like your core use case for app development was to, essentially, leave certain or all lights on throughout an occupied period of the day and have the app cycle through CT's automatically set by the app which is based on the arc of the sun via Zip Code.

Is my Use Case possible with your app or might I be better off with a simple Custom Action to set colorTemp by mode?


I am seeing an error message:

java.lang.NullPointerException: Cannot invoke method div() on null object on line 634 (modeHandler)

Is this maybe the result of having no value in the Brightness field?

Possibly. I’m traveling for work, but will check that once I get back home. :slight_smile:


I bought my new Hubitat for the purpose of a wakeup lamp routine like the first post of this thread described. And I bought a Sengled Color Plus bulb for it. I installed the Circadian Daylight. I've been tinkering for a few hours over a couple of nights watching what the bulb does. I haven't figured it out yet. Anyone have any advice?

Say I want it to turn the lamp on at 0% at CT 2000 degrees at a certain time, like 4 AM, and ramp up to 100% at 5000 degrees over xx minutes to let's say 4:30 AM, what do I need to set for this to happen?

I don't want the light to come on over the weekends.

Or is Circadian the wrong app for what I want?

I got Circadian to work with the override but that was only brightness, not CT, and I couldn't find a weekday-only setting.

I tried the 'Gentle wake up' app and all I could get it to do was turn the bulb off. But it was showing configurations for "dimmer" and "dimming" .... ???? ... so maybe I downloaded the wrong app, or something.


I think this could work. I’ll check and see if I can take screenshots of the settings you’d want to use.

This is honestly the app I’d recommend for now.

Thanks for the app! However I am having issues with it not setting to an appropriate color. Currently after midnight and it is continuing to set the bulbs to 5k. Am I missing my something obvious?

nfoLivingroom Can 4 color temperature was set to 5000°K

dev:1332019-09-30 00:42:55.785 infoLivingroom Can 4 color is Horizon

Are you using custom sunset/sunrise times, or the hub’s times?

I’d try two things:

  1. Check if the option for sunrise and sunset overrides is turned on, potentially with blank times inserted into the overrides, but with the box still being checked.

  2. I’d that’s not the case, I would enable sunset and sunrise overrides, and input like 0630 as sunrise and 2200 as sunset (or use AM/PM if that’s how your hub is set up) and see if that makes a difference.

I discovered the same issue last week after tweaking my config. I believe there's an error in a logic where the code uses the cold temperature override once it goes past the sunset time.

I'll try and post my changes later and make a pull request.

Adam - thanks for your work on the port. I've got it running in all rooms and its about the only bit of automation that gets approval from my partner.

1 Like

Awesome. I’ll gladly merge that PR. Not much time lately, but hopefully next week things get back to more normal!

Thanks for the ideas.

I checked the sunset/rise override and toggled it, but was still getting color temperatures that were basically opposite from expected. Red/oranges this afternoon.

I followed your thinking and tried toggling the sunrise/set offset. For some reason it seems to be sending the correct color temp!

Thanks again for the help!

1 Like

I had a similar issue with my version of Circadian Daylight, but solved it by having a percentThrough function with a bool to figure if we're increasing or decreasing:
which works with my CT calculating function:

I've made a pull request for my fixes as promised but the main change was on line 548 which I changed from:

def int colorTemp = settings.coldCTOverride == null || settings.coldCTOverride == "" ? 2700 : settings.coldCTOverride


def int colorTemp = settings.warmCTOverride == null || settings.warmCTOverride == "" ? 2700 : settings.warmCTOverride

This fixes an error where if you've overridden the default warm and cold CT, the app would use the cold CT outside of sunrise/sunset times.

1 Like

Thank you for submitting that! I’ll merge it later :slight_smile:

Yep, that's a pretty warm default to use for Cool lighting :slight_smile: Good fix!

@adamkempenich where is the latest file for this it says 5 months old on the link?

It’s updated, now. Things were a little crazy this week following my wedding and all :wink:


Thanks for the app. Never heard of it so far! One stupid question: I have hue ambience white spots and hue light strips. No color bulbs. So to make everything match (spots and strips) do I leave "which color changing device?" empty?

Also how does the app know what light temperatur there currently is outside? I didnt specify any postal code in the app.


1 Like