New Belchertown version 2.0 is here!
This version is the most extensive update to the appearance and under-the-hood functioning so far. There are a lot of complex changes that I (and the community) have tested, but please do let me know about any inevitable bugs!
New official skin name: New Belchertown
The skin was formerly enough of a fork of @poblab's Belchertown skin to justify keeping the same name, but they've now diverged enough that I don't want to cause confusion for users.
Installation notes
Because this skin renames file paths, there might be some extra work to upgrade if you have many customizations. Make sure you make a backup, and copy any custom files over after installation (in particular, charts.conf). Chart files are now located in skins/new-belchertown. The installer will detect and upgrade an existing Belchertown <2.0 installation. The old skins/Belchertown folder should remain, so you don't lose anything, but again, it's highly recommended to back up first Once you're satisfied everything is working, the old skins/Belchertown folder and bin/user/belchertown.py can be deleted.
New theme: card-based throughout
The new theme transitions from a grid-style layout to a new "card"-based layout. It scales and reorganizes smoothly to fit all screen sizes. The changes extend to all parts of the skin: Records, Charts, almanac, etc. The observations section has many smaller "sub-cards" that should also scale intelligently.
New forecast sources -- API keys no longer required
v2.0 adds support for the US National Weather Service (NWS) as the default source for forecast data, or Open-Meteo in the rest of the world (with weather alerts from MeteoAlarm, thank you @iiseppi). The huge advantage of those services is that they do not require API keys. As a result, everything works "out of the box" -- users do not have to configure any accounts or API keys, and forecast features are enabled by default. Users can still set forecast services manually and use API sources if they wish.
Almanac improvements
Sun / moon path
v2.0 includes a small diagram on the main page showing the sun and moon's position in their daily path across the sky. The Skyfield extension is recommended to get the best and most accurate almanac information, though the skin should still work without it. Users can choose from three options:
align_solar_path = transit is the default setting, showing where the sun and moon are in their daily path across the sky, at the location of the station. The high point of each curve (each body's transit) is centered.
align_solar_path = now keeps the current sun/moon positions in the center, allowing the curves to move around it.
align_solar_path = off does no alignment at all.
Improved moon phase
The phase of the moon is now rendered directly from the almanac data, and the angle is tilted so the appearance is exactly as you'd see it in the sky. The almanac extras section now also has data on the age of the moon.
JS / CSS efficiency refinements
Charts now lazy load, and the main JS file has been broken up to allow pages to more selectively use only the code they need (thank you @schematt). This hopefully makes the site feel a little snappier on mobile/desktop, particularly on older devices or slow Internet connections.
For further improvement, users now have the option to minify their JS and CSS files automatically. Set minify = 1 to enable that. Installing the rjsmin and rcssmin packages is required for this to work. By default it is turned off.
Installer auto-clean function
This skin has a lot of options that are hard to keep up with, leading to config files that are messy and potentially missing new options that users could benefit from. The installer now automatically organizes and updates the New Belchertown section (or the old Belchertown section) of weewx.conf during installation, preserving existing settings. The comments have been removed for readability and clarity. The only remaining comment directs users to the wiki.
Other enhancements and bug fixes
- The green "ping" that shows an active MQTT connection now pings only when data is actually received, so there's a visual indication of the live info.
- MQTT update times are now relative, not absolute. Users can click on them for more info, including the raw MQTT packet and the exact time.
- The Earthquake section now has a map showing the position of the quake, for easier context.
- Barometer up/down arrow is now color coded -- thank you @pablos-here
- Observations that are taken from outside forecast sources (not the station itself) are marked with an icon that users can click to get the source and age of the observation
- Translation enhancements: more text is translatable through labels, and all language cues are taken from the
langsetting in weewx.conf. That means the entire site can be completely translated with a single setting. - Localization is improved: dates and times are now formatted based on users' locale settings (for example, May 3rd vs 3 May).