Gauge for Length of Day (showing Solstices & Equinoxes)


We are now exactly halfway thru Spring… So for those of us in the Northern Hemisphere, today begins the 3 month quarter with the most amount of sunlight. (there should really be a name for this)


For the remainder of this thread, unless stated otherwise, all of my data references are going to be for a location in the Northern Hemisphere. For those of you below the equator, the exact opposite should be true… (IE: 95% maximum sunlight for us would be 5% maximum sunlight for you)


We are currently dealing with a fairly bad heat wave…

I find it especially interesting seeing the gauge on my Dashboard…
We are currently at 95% of maximum sunlight.
(yet still 26 days until the Solstice)


I guess in a way, approaching the Summer Solstice is like approaching “High Noon”


Well, I guess “high noon” is upon us…


I think I need to change the code slightly… That 0.1% bothers me, and should be easy to fix now that we have access to the exact second for sunrise & sunset…

Stay tuned…


We are now exactly halfway thru Summer…



Can’t wait til the cold weather … well, what there is of “cold” here in the SoCal deserts :smile:


4 days until the equinox…


The first dial shows the seasons, and the second shows the percentage of daylight…


Well, we are exactly 3 hours and 40 minutes away from the Equinox…


The reason the sunlight is not exactly 12 hours, is because the sunrise/sunset times are based on the edge of the sun passing the horizon, and the Equinox is based on when the middle of the sun crosses the horizon.

For my location, 12h 8m and 50.5 seconds is exactly midway.

This means from my location, it takes about 4m 25s for the sun’s radius to cross the horizon.


First day of Fall…


Callout to anyone using:


If today is still Monday (the Equinox), I am very curious if your percentage is also about 49%??

Strangely enough, I hit 50% the day before the Equinox… I need confirmation from others, but it really appears that $twcweather gave me Monday’s times on Sunday. Either that, or $twc is giving me times for a neighboring city…

Anyone else??


It’s Monday for me, I have this…

Piston state: = 12h 09m of sunlight (49.7% of max)

Last executed: 23/09/2019, 00:00:14

datetime(formatDuration($sunset-$sunrise, false, ‘s’))


Great information @Alwas, and well documented… Thank you! :+1:
(analysis coming soon)

Anyone else?


Sorry, I did not gather enough information to draw any conclusions…


Well, for those of us in the Northern Hemisphere, today begins the three month period with the least amount of sunlight…



4 days until the Winter Solstice…


(time removed for anonymity)


This whole thread is awesome! :slight_smile:


Thanks @SergL… This was a fun challenge to create…

I especially like the accuracy now that we can see the precise times for the sunrise & sunset…


(In the past, seconds was not available)


One day away from the Winter Solstice… and the accuracy is ultra-precise using the new $twcweather times for sunrise & sunset…


I will confirm tomorrow, but it looks like the entire year may only be off a couple of seconds…
(which could easily mean I am a mile away from the nearest weather station)


Amazing stuff. You could probably mount an HDTV on the wall and just have it serve as a kind of almanac of odd knowledge occuring at that particular moment, like length of daylight and flights flying overhead

One question, how does one get these reports to show up next to the pistons like this?


Step 1 = Disable Automatic piston state
(found by clicking on the name when in edit mode)

Step 2 = Set piston state, such as:


You can see some examples at Wiki / Piston State

Step 3 = Trigger piston normally, and watch the text update a few seconds later

Pro Tip:

If there is an tile image displayed by the piston, the “piston state” will be seen when hovering the mouse over the tile.



I have a screen that is usually dedicated to webCoRE


I was trying to get the piston state to show my final message, but it’s not showing up. Is this not allowed?


You can not use a global that was just written…
(since it is not really written until the last line of code has executed)

IF @ReceivedMsg did not change in the last few moments, you can change line 240 to:
Set piston state to "Locations found. " + @ReceivedMsg

If @ReceivedMsg did change recently, then I would use local variables for all of your processing, and only convert the final results to global.