-
-
Notifications
You must be signed in to change notification settings - Fork 1k
weather: Add location, last updated, and sunrise/sunset display #2393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This change splits the weather screen into 3 pages: - Current weather conditions - 5-day forecast - Sunrise/sunset times
|
Build size and comparison to main:
|
|
I've made this a draft since #2100 is not merged and may still get some protocol changes. I'm also playing with different ways of representing this data, especially the sunset/sunrise. For example, this iteration:
But I have another version that inverts the entire thing:
Before midnight (but after sunset): But in any case, I'm exploring different paths and would like people's opinion on what they want to see and how they want it presented. Also could be fun to add more data to the protocol, like wind speed/direction, phase of the moon (can use another arc to show the moonrise/moonset times, as well as an icon of the moon phase), etc. |
|
Redesign looks great visually! The sun time one is tricky. Not sure what I prefer, the empty arc when the sun is down is certainly good enough IMO but doing more might be nice. I think my biggest feature request would probably be by-hour weather for the next few hours. But not sure if that's practical space wise. |
|
Hourly forecast might be fine if we only include limited info. The sunrise/sunset times may be included in the daily forecast. Current Weather: Daily Forecast: Hourly Forecast: Doing this adds 160 bits for sunrise/sunset (or 32 if we're stingy and only provide space for next day, which is the one we need), and 280 if we add hourly forecast for the next 5 hours (each hour is 40 bits, plus 80 bits of header) - this would still require assuming which hour it refers to, basically take the timestamp and add 3600 seconds for the first hour, 3600*2 for the second hour, etc. Alternatively, we round up to the next whole hour. What I don't want is to necessarily add a new timestamp (64 bits) for each next hour - we should do that calculation in Gadgetbridge instead. |
|
I think for each hour we only need to store one temperature, having a minimum and maximum per hour seems overkill Yeah agree, having a timestamp per hour would not be great. We could have one timestamp for the first hour and compute the rest? Might be a good compromise and avoids problems if a weather update is delayed due to a bad BLE connection or something |


This change splits the weather screen into 3 pages:
Note: This requires #2100
Here are some screenshots of the full app:



And this shows the sun times animation:

The idea for showing the sun position arc was taken from Breezy Weather, which is the provider I use for Gadgetbridge:
