weewx-loopdata Release v6.6

88 views
Skip to first unread message

John Kline

unread,
Jul 30, 2026, 4:36:20 PM (3 days ago) Jul 30
to weewx-user


weewx-loopdata 6.6

Almanac fields can now pin their units, attribute chains walk exactly as Cheetah walks a report tag, the French translation is out of Beta, and a complete Dutch translation ships (Beta). Drop-in upgrade — install over 6.x; no configuration changes, and every existing fields line produces the same values as before. Released alongside weewx-celestial 7.5, whose migration utility now emits the pinned spellings.

What's new

  • Unit segments on almanac fields. Almanac fields complete the grammar: like observation fields (day.outTemp.avg.degree_C) and station fields (station.altitude.meter.raw) before them, an almanac field can carry a unit segment: almanac.sunrise.unix_epoch.rawalmanac.sun.visible.second.raw,almanac.sun.visible.hour.round(2).raw (the unit sits before round(n) and the format spec). It pins the unit no matter what the target report's unit settings say. Without one, .raw follows the target report's converter — by design, that is report-tag parity — so a target report with [Units] [[Groups]] overrides (say group_deltatime = hour) turns almanac.sun.visible.raw from seconds into hours. Pin the unit on any .raw field your javascript consumes numerically. The manual's Almanac fields page has the full story.

  • Cheetah-exact attribute walking. Almanac and station field chains now auto-call exactly as Cheetah's NameMapper walks a tag: a segment that resolves to a method or function is called at every dot, not only at the end of the chain, and a callable instance is never auto-called (Cheetah leaves those alone). Concretely: under weewx-skyfield ≤ 1.14,almanac.moon.parallactic_angle.degrees worked as a report tag but failed as a loopdata field; now both behave identically.

  • French is out of Beta.  lang/fr.conf has been native-speaker reviewed, in step with weewx-skyfield's and weewx-celestial's reviewed French (a test keeps the three extensions' shared vocabulary identical). Select it with lang = fr on the report's stanza.

  • Dutch ships (Beta).  lang/nl.conf is a complete Dutch translation of the sample report — gauge headings after the Dutch labels of WeeWX's own Seasons skin, the nine trend.barometer.desc descriptions in the tendency vocabulary of Dutch weather reports (stijgendgelijkblijvenddalend), and, for a loopdata instance whose target report is Dutch, the compass ordinates, moon phases, body and all 88 constellation names — the shared vocabulary in step with weewx-skyfield's and weewx-celestial's Dutch (the same cross-repo test that pins the German and French). Select it with lang = nl. Beta pending native-speaker review — corrections welcome.

    The sample report in Dutch

Requirements

  • WeeWX 4 or 5 (translations need WeeWX 4.6 or later)
  • Python 3.7 or later
  • No third-party Python packages required

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).

bell...@gmail.com

unread,
Jul 31, 2026, 5:32:47 PM (2 days ago) Jul 31
to weewx-user

John,
Very, very cool! I'm interested int weewx-loopdata, but I am heavily invested in MQTT. A cursory look at the code and it looks like I could instantiate LoopProcessor and invoke generate_loopdata_dictionary. Obviously the necessary 'wrapping' would need to be done.
Just wondering, off the top of your heard, does this doable/reasonable? Better way?
Thanks. rich

bell...@gmail.com

unread,
Jul 31, 2026, 5:45:12 PM (2 days ago) Jul 31
to weewx-user
Oh drat, I see it doesn’t support partial packets. I’ll put this on the back burner for now.
rich

John Kline

unread,
Jul 31, 2026, 6:01:19 PM (2 days ago) Jul 31
to weewx...@googlegroups.com, weewx-user
If you were moving forward with it, I would say:

There is definitely nothing you can count on in the code.  The contract is the json file.  You would want to read the json file every time it changed and do what you need to do.

On Jul 31, 2026, at 2:45 PM, bell...@gmail.com <bell...@gmail.com> wrote:

Oh drat, I see it doesn’t support partial packets. I’ll put this on the back burner for now.
--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/weewx-user/c4dd8b2c-7615-41df-8723-775bd17d1003n%40googlegroups.com.

bell...@gmail.com

unread,
Jul 31, 2026, 7:49:50 PM (2 days ago) Jul 31
to weewx-user
I get where you are coming from . If I have time, I’ll do some experimenting to see if I can something to work in my setup.
Thanks for a very cool set of extensions.
rich

Reply all
Reply to author
Forward
0 new messages