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 On Thursday, 30 July 2026 at 16:36:20 UTC-4 John Kline wrote:
> [image: weewx-loopdata.png] > > chaunceygardiner/weewx-loopdata: Make your skins come alive – report tags > updated on every LOOP packet > <https://github.com/chaunceygardiner/weewx-loopdata> > github.com <https://github.com/chaunceygardiner/weewx-loopdata> > <https://github.com/chaunceygardiner/weewx-loopdata> > > weewx-loopdata 6.6 > <https://bambi5t.amarillo.johnkline.com/mockups/loopdata-6.6/release-notes.html#weewx-loopdata-66> > > 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 > <https://bambi5t.amarillo.johnkline.com/mockups/loopdata-6.6/release-notes.html#whats-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.raw, > almanac.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 > <https://chaunceygardiner.github.io/weewx-loopdata/almanac-fields.html> > 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 (*stijgend*, > *gelijkblijvend*, *dalend*), 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. > > [image: The sample report in Dutch] > > <https://raw.githubusercontent.com/chaunceygardiner/weewx-loopdata/master/LoopDataReport-nl.png> > > Requirements > <https://bambi5t.amarillo.johnkline.com/mockups/loopdata-6.6/release-notes.html#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 > <https://bambi5t.amarillo.johnkline.com/mockups/loopdata-6.6/release-notes.html#installingupgrading> > > Download weewx-loopdata.zip > <https://github.com/chaunceygardiner/weewx-loopdata/releases> 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). > -- 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 [email protected]. To view this discussion visit https://groups.google.com/d/msgid/weewx-user/4f504c52-b91a-47cf-b296-f2ec29626021n%40googlegroups.com.
