Thanks for the log and the loop-data.txt -- between them they say exactly
what is wrong, and it is a wiring problem rather than anything to do with
the almanac.
First, the good news: your loop-data.txt is perfect. I diffed it against
the field set the Celestial skin consumes and all 100 fields are there,
including current.dateTime.raw. Nothing to fix there; the install-time
field append did its job.
The 404 is a URL mismatch, and it is the most common one there is,
because two sets of stock defaults do not meet:
- weewx-loopdata writes to [[FileSpec]] loop_data_dir, relative to its
target report's HTML_ROOT. With the defaults (target_report =
LoopDataReport, loop_data_dir = .) that is the loopdata/ directory.
Your log confirms it:
user.loopdata: Renamed to /var/www/html/weewx/loopdata/./loop-data.txt
- The Celestial page fetches Extras loop_data_file, default
../loop-data.txt, relative to its own page. Your page lives in
celestial/, so it asks for <webroot>/loop-data.txt -- one directory
above where loopdata actually writes. Nothing is there, so the web
server says 404 and the badge tells you so.
Nothing appears in the log because nothing failed on the WeeWX side: the
fetch is made by your browser, and weewxd never sees it. That is what
the badge is for.
The fix is one line in weewx.conf:
[StdReport]
[[CelestialReport]]
[[[Extras]]]
loop_data_file = ../loopdata/loop-data.txt
Point Celestial at loopdata rather than the other way around: the
LoopData report's own page reads loop-data.txt sitting beside it, so
setting loop_data_dir = .. would just move the 404 onto that page.
Restart WeeWX, reload the Celestial page, and the badge should go LIVE.
One more thing you will meet right after that. Your log shows the site
going out by FTP:
ftpgenerator: Ftp'd 61 files in 31.65 seconds
loopdata/loop-data.txt rides along in that batch, which means it reaches
your public web server once per report cycle rather than on every loop
packet. The page will work, but the badge age will climb to about an
archive interval and reset instead of settling at LIVE, and the dial will
step once per cycle rather than move -- it extrapolates for up to two
minutes and then deliberately freezes rather than drift. If you have ssh
to that host, weewx-loopdata can rsync the one file on every packet,
which is what the live page really wants:
If it is FTP only, the page on your local server (same one-line fix, and
the file is genuinely fresh there) is the live one, and the public copy
updates at archive cadence.
The relevant manual pages, for reference:
John