Home · Installation · Configuration · Translating (i18n) · GitHub project
Everything the sample skin does is ordinary weewx-loopdata consumption:
list the almanac fields you want in [LoopData] [[Include]] fields, give
your HTML elements ids equal to the json keys, and poll loop-data.txt
from javascript. skins/Celestial/realtime_updater.inc is the reference
implementation — the dial, the rate derivation (two consecutive packets
give each body its motion; the one-second tick extrapolates between
refreshes) and the odometer are self-contained functions you can lift,
and skins/Celestial/celestial.css holds every color.
A few of the ideas worth stealing even if you build something quite different:
$almanac (each cell individually guarded, so a less capable
almanac leaves cells empty rather than failing the page) and then goes
live from loop data — the page is never blank while it waits for its
first packet.OFFLINE on network failure, and
NO DATA (HTTP 404) — check loop_data_file when the web server is not
serving the loop-data file where the page expects it.The full almanac-field grammar is documented in weewx-loopdata’s manual; loopdata’s own Build a live page covers the general pattern.
PaloAltoWeather.com’s Celestial Today page contains a Geocentric Live panel built with the same technologies as used here (weewx-skyfield and weewx-loopdata).
