weewx-loopdata 6.9
A next_* almanac field now expires the moment its event passes,
instead of serving the same event until midnight; complete Italian,
Norwegian (Bokmål) and Swedish translations of the sample report ship,
all three Beta pending native-speaker review; and almanac fields no
longer cache a no-data answer for the rest of the day. Drop-in
upgrade — install over 6.x; no configuration changes, and every
existing fields line keeps its meaning (next_* fields simply stop
serving events that have already happened). Released alongside
weewx-skyfield 2.0 and weewx-celestial 8.0, which ship the same three
languages for their pages — and whose satellite pass panel this
release's expiry fix keeps honest.
What's new
-
next_*almanac fields expire at their event's own instant, not
at midnight. Fields naming the same event — say a satellite
pass's rise, set and maximum altitude — are computed together and
expire together, at the latest time among them (for a pass, the set
time): an in-progress pass keeps serving until it ends, then the
very next packet carries the following pass, every field switching
at once. Before, the day's first packet computed the event once and
served it until the local day rolled — a stale window in every
release since almanac fields shipped in 5.0 (almanac.next_full_moon
served the old event from the instant it passed until midnight), made
glaring by developing weewx-celestial 8.0's "Next pass overhead"
panel against this code: driven by the old caching, the panel showed
a morning pass as "just set" until the day's end. Fixed before
either shipped. Recomputes stay rare by construction, since each one returns
the next occurrence, re-arming the cache:next_full_moon
recomputes once per lunar month, a satellite'snext_passonce per
pass.previous_*fields and the day tier are unchanged, and a
group with no time-typed field keeps the once-per-day refresh —
include a pass time field to get event-time expiry. -
Italian ships (Beta).
lang/it.conf— gauge headings after
WeeWX's own Seasons skin (Punto di rugiada, Pressione, Pioggia,
Intensità pioggia), with one documented departure (Temperatura
percepita for Feels Like, the term Italian weather services use);
the ninetrend.barometer.desctendency descriptions in bulletin
vocabulary (in aumento, stabile, in diminuzione); and, for a
loopdata instance whose target report is Italian, the compass
ordinates (O for west, SSO for SSW, N.D. for no direction), moon
phases, body and all 88 constellation names. Select it with
lang = iton the report's stanza. -
Norwegian ships (Beta).
lang/no.conf(Bokmål; the file code is
WeeWX's ownno) — gauge headings after Seasons' Norwegian
(Lufttrykk, Regn, Regnintensitet, Føles som), with the
departures documented in the file header; tendencies stigende /
stabilt / fallende; and the value-side sections for a Norwegian
target report (Ø for east, SSV for SSW). Select it withlang = no. -
Swedish ships (Beta).
lang/sv.conf— WeeWX's Seasons skin has
no Swedish file, so the headings are fresh in SMHI's everyday
vocabulary (Daggpunkt, Lufttryck, Regnintensitet, Känns som);
tendencies stigande / stabilt / fallande; and the value-side
sections for a Swedish target report — coordinates abbreviate east as
Ö while the compass winds use O (NNO, ONO, OSO, SSO). Select it with
lang = sv. -
In all three, the shared vocabulary — body names, moon phases,
hemispheres, compass ordinates, all 88 constellation names — is
copied verbatim from weewx-skyfield's and weewx-celestial's new lang
files, kept in step by the same cross-repo test that pins the German,
French, Danish, Dutch and Spanish. Corrections from native speakers
are very welcome at
the issue tracker. -
No-data almanac answers are no longer cached for the day. A day-
or event-tier almanac field that evaluates to no data — say, a
weewx-skyfield satellite whose orbital elements have not been
downloaded yet — now retries on every packet and picks up its value
the moment the almanac has data. Before, the honest startup N/A was
cached until midnight, long after the elements arrived. Fields with
real values cache exactly as before.
Requirements
- WeeWX 4 or 5 (translations need WeeWX 4.6 or later)
- Python 3.7 or later
- No third-party Python packages required
- Satellite almanac fields (
almanac.iss.next_pass...and friends, as
weewx-celestial 8.0's migrator emits them) need
weewx-skyfield 2.0
registered as the almanac; every other almanac field works with
PyEphem or WeeWX's built-in almanac, as always
Installing/upgrading
Download weewx-loopdata.zip
and install it over your existing copy, then restart weewxd:
weectl extension install weewx-loopdata.zip
(or wee_extension --install weewx-loopdata.zip on WeeWX 4).


