There's algorithms that can get sun and moon (and really any celestial body's) relative position to some place on earth. They don't need internet connections. They just need historical data, a location, and a time. The latter of the two can be gotten from GPS. Something that can process a few thousand floats per second should be enough processing power.
post
Honestly it sounds like home assistant could be useful to you, if you have the time to tinker. Definitely can build rules based on sunset times.
Sensorwatch has a sunset/sunrise face https://github.com/joeycastillo/second-movement/blob/main/lib/sunriset/sunriset.c
If you dig into it, see if you can fix this issue that I created months ago: https://github.com/issues/created?issue=joeycastillo%7Csecond-movement%7C55
Edit: actually, if you're doing this as a psych experiment, just buy a sensor watch and make a custom face for it. It'd be a great way to publish your findings.
In order to calculate an accurate sunrise and sunset time, you need the following variables to be known.
- The current day
- The current time (if you want to know the time delta for when it rises and sets)
- The current location
Also, we need to consider that NTP sends the time in UTC, and the timezone offset calculation is done by the endpoint.
Even if you know the timezone your in, it still doesn't provide the exact position you need to accurately determine when the sun will rise and set.
I did this years ago for my % of daylight remaining clock with an arduino. It appears that I never published it. If you find yourself still stuck ping me and I can did you the code.
If you start living by your own time you should take a look at decimal time too.
all 8 comments