Release v7.6
weewx-celestial 7.6
The sample page's two moon-phase instants — the next full and new moon,
which drive the phase disc's waxing/waning rendering — now travel under
pinned-unit spellings (almanac.next_full_moon.unix_epoch.raw,
almanac.next_new_moon.unix_epoch.raw), completing the pinning that 7.5
began for migrated fields: no [Units] [[Groups]] override on
loopdata's target report can change their meaning. Drop-in upgrade from
7.x — install over it, no config changes: the page falls back to the
pre-7.6 unpinned entries, so an existing fields line keeps working
unchanged.
What's new
- The sample page reads pinned moon instants. 7.5 pinned the units
of migrated fields but left the two keys the sample page itself
reads unpinned. 7.6 finishes the job: the page's javascript prefers
almanac.next_full_moon.unix_epoch.rawand
almanac.next_new_moon.unix_epoch.raw, so the waxing derivation
(full before new) is epoch-seconds math regardless of the target
report's unit settings — and falls back to the old unpinned keys, so
nothing breaks on a fields line migrated earlier. --migrate-loopdata-fieldsupgrades the old spellings. Re-run
it on a previously migrated configuration and the two unpinned moon
entries rewrite in place; running it again is a no-op, as always.
Recommended, not required
Nothing needs to change for this upgrade — the fallback keeps an
existing fields line working indefinitely. But the tidy end state is a
fields line that carries the pinned spellings, so the moon math can
never be disturbed even if the target report's unit groups are someday
overridden. At your next convenient weewx.conf edit, either re-run
the migration utility:
python -m user.celestial --migrate-loopdata-fields --config /home/weewx/weewx.conf --output /tmp/weewx.conf.migrated
(then review and move the migrated file into place, per the README) or
hand-edit the two entries: almanac.next_full_moon.raw →
almanac.next_full_moon.unix_epoch.raw, almanac.next_new_moon.raw →
almanac.next_new_moon.unix_epoch.raw. This is required now only if
your loopdata target report overrides group_time in [Units]
[[Groups]] — an unusual configuration, and the only one in which the
old unpinned entries misbehave.
Requirements
- Python 3.9 or later
- WeeWX 5.2 or later
- weewx-loopdata
5.0 or later - weewx-skyfield
strongly recommended (required for Proxima Centauri), or PyEphem
Installing/upgrading
Download weewx-celestial.zip from this release, then install right over
the existing 7.x:
weectl extension install weewx-celestial.zip
Restart WeeWX. No weewx.conf changes are needed when upgrading from 7.x.
(Upgrading from 6.x or earlier follows the README's upgrade instructions —
those paths do need the uninstall step, and from 5.x the migration
utility.)
7.6 follows 7.5 by hours, so if you're upgrading from 7.4 or earlier,
7.5 is new to you too:
weewx-celestial 7.5
A complete Dutch translation of the sample skin ships (Beta, awaiting
native-speaker review — corrections and reviewers very welcome), and the
migration utility now emits pinned-unit almanac fields. Drop-in upgrade
from 7.x — install over it, no config changes, no loop-data field
changes, and nothing to re-run if you already migrated; an English,
German or French page looks exactly as before. Released alongside
weewx-skyfield 1.15, which adds Dutch to the Sky page, and
weewx-loopdata 6.6, which documents the unit segment the pinned
spellings use.
What's new in 7.5
-
Dutch ships (Beta).
lang/nl.confis a complete translation
whose shared vocabulary — body names, moon phases, compass points and
all 88 constellation names — is copied verbatim from weewx-skyfield's
Dutch, and a test keeps the extensions in step (as it does for the
German and French). Because the live loop-data values follow the
language of loopdata's target report, one line switches the whole
page, labels and live values alike:[StdReport] [[CelestialReport]] lang = nlBeta until a native speaker has reviewed it; corrections are very
welcome as issues or pull requests. -
--migrate-loopdata-fieldspins units. Raw times and durations
now migrate to pinned-unit almanac entries —
almanac.sunrise.unix_epoch.raw,almanac.sun.visible.second.raw,
and so on — so they keep the old celestial loop fields' fixed
meanings (epoch seconds, seconds of daylight) no matter how
loopdata's target report units are set. An unpinned almanac.raw
follows the target report's converter, so a report carrying[Units]
[[Groups]]overrides (e.g.group_deltatime = hour) would silently
change a migrated field's meaning. The pinned entries evaluate on
every loopdata ≥ 5.0. If you migrated with an earlier version and
your target report has no unit-group overrides, your fields are
correct as they stand; if it does have overrides, adopt the pinned
spellings.
The requirements and install steps for 7.5 are the same as 7.6's above.
