Hi Karen,
It seems I'm still having trouble with this. I have attached a file showing
my modifications which you indicated as needed for the skyfield data to
appear of my standard weewx skin. However, it's very possible I did
something wrong.
I was working with my regular station (probably a dumb idea) which is weewx
5.3.1 on bookworm. I have listed my pip and python versions as they may be
a problem.
The "almanac" button appears as it should but doesn't find almanac.html
anywhere on the server so it's not being created.
I realized that the skymap extension was missing so I installed it. At this
point, weewx crashed looking for 'moonMonthSpan'. I have included the error
in my file.
I removed the skymap extension and reinstalled my backup versions of
(Standard) skin.conf and index.html.tmpl. All seems to be working
(grattans.org/wx) again.
If the attached file helps, please let me know. I can do a debug run of
weewx if you want. Having a low skill set in this area indicates that I've
probably done something stupid.
Don't waste a lot of time on this if you are busy. Many thanks again for
your help.
Bob
On Saturday, March 14, 2026 at 2:38:16 AM UTC-4 Karen K wrote:
> [email protected] schrieb am Freitag, 13. März 2026 um 23:47:06 UTC+1:
>
> Thanks so much, Karen, let me play around with this and I’ll get back to
> you. Bob
>
>
> I added some values and fixed the layout. Later I will add that to the
> examples at Github.
>
--
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/562033ac-30e4-476d-b091-70c95f87cc95n%40googlegroups.com.
(weewx-venv) bg@RPI5:~/weewx-data/skins/Standard $ weectl extension list
Using configuration file /home/bg/weewx-data/weewx.conf
Extension Name Version Description
MQTTSubscribe 3.0.0-rc08Source WeeWX data from MQTT.
Skyfield almanac 0.4 almanac extension using Skyfield mdule
Skymap almanac 0.6 almanac extension using Skyfield mdule
emoncms 0.17 Upload weather data to EmonCMS.
lastrain 0.2 SLE for last rain information for weewx reports
loopdata 3.3.2 Loop statistics for real time reporting.
purple 3.9.3 Record air quality via purple-proxy service.
windy 0.7 Upload weather data to Windy.
wxobs 0.8.1 Generates a php report to show daily summaries
>From skins/Standard/index.html.tmpl [after last button entry]
<input type="button" value=" METAR for KOFP (Hanover), K7W4 (Lousia) and KRIC
(Richmond) "
onclick="openURL('https://aviationweather.gov/data/metar/?id=KOFP,K7W4,KRIC&hours=0&decoded=yes')"
/>
<input type="button" value=$pgettext("Buttons","Almanac")
onclick="openURL('almanac.html')" />
</div>
>From skins/Standard/skin.conf
[[[year]]]
template = year.html.tmpl
[[[almanac]]]
template = almanac.html.tmpl
[[[RSS]]]
template = RSS/weewx_rss.xml.tmpl
(weewx-venv) bg@RPI5:~/weewx-data $ pip -V
pip 26.0.1 from /home/bg/weewx-venv/lib/python3.11/site-packages/pip (python
3.11)
(weewx-venv) bg@RPI5:~/weewx-data $ pip list
Package Version
------------------ -----------
buildhat 0.7.0
certifi 2024.6.2
charset-normalizer 3.3.2
colorzero 2.0
configobj 5.0.8
CT3 3.3.3.post1
ephem 4.1.5
gpiozero 2.0.1
idna 3.7
jplephem 2.23
numpy 2.4.0
paho-mqtt 2.1.0
pandas 2.3.3
pillow 10.3.0
pip 26.0.1
PyMySQL 1.1.1
pyserial 3.5
python-dateutil 2.9.0.post0
pytz 2025.2
pyusb 1.2.1
requests 2.32.3
setuptools 66.1.1
sgp4 2.25
six 1.16.0
skyfield 1.53
sortedcontainers 2.4.0
tzdata 2025.3
urllib3 2.2.2
weewx 5.3.1
wheel 0.43.0
restart failure log:
Mar 14 15:43:34 RPI5 systemd[1]: Started weewx.service - WeeWX weather system.
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: Initializing weewxd
version 5.3.1
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: Command line:
/home/bg/weewx-venv/lib/python3.11/site-packages/weewxd.py
/home/bg/weewx-data/weewx.conf
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: Using Python: 3.11.2
(main, Apr 28 2025, 14:11:48) [GCC 12.2.0]
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: Located at:
/home/bg/weewx-venv/bin/python3
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: Platform:
Linux-6.12.70+rpt-rpi-2712-aarch64-with-glibc2.36
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: Locale: 'en_US.UTF-8'
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: Entry path:
/home/bg/weewx-venv/lib/python3.11/site-packages/weewxd.py
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: WEEWX_ROOT:
/home/bg/weewx-data
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: Config file:
/home/bg/weewx-data/weewx.conf
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: User module:
/home/bg/weewx-data/bin/user
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: Debug: 0
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: User: bg
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: Group: bg
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO __main__: Groups: adm dialout
cdrom sudo audio video plugdev games users input render netdev lpadmin gpio i2c
spi bg weewx
Mar 14 15:43:35 RPI5 weewxd[1631740]: INFO weewx.engine: Loading station type
Vantage (weewx.drivers.vantage)
Mar 14 15:43:36 RPI5 weewxd[1631740]: INFO user.skyfieldalmanac: WeeWX Skyfield
almanac extension version 0.4
Mar 14 15:43:36 RPI5 weewxd[1631740]: INFO user.skyfieldalmanac: Skyfield
version 1.53
Mar 14 15:43:36 RPI5 weewxd[1631740]: INFO user.skyfieldalmanac: timescale:
builtin, update interval: 365.25 days
Mar 14 15:43:36 RPI5 weewxd[1631740]: INFO user.skyfieldalmanac: ephemeris
file(s): ['de440.bsp']
Mar 14 15:43:36 RPI5 weewxd[1631740]: INFO user.skyfieldalmanac: thread
'SkyfieldMaintenanceThread': starting
Mar 14 15:43:36 RPI5 weewxd[1631740]: INFO user.skyfieldalmanac: thread
'SkyfieldMaintenanceThread': shutdown requested
Mar 14 15:43:36 RPI5 weewxd[1631740]: INFO user.skyfieldalmanac: thread
'SkyfieldMaintenanceThread': timescale initialized
Mar 14 15:43:36 RPI5 weewxd[1631740]: INFO user.skyfieldalmanac: thread
'SkyfieldMaintenanceThread': ephemerides initialized
Mar 14 15:43:36 RPI5 weewxd[1631740]: INFO user.skyfieldalmanac: thread
'SkyfieldMaintenanceThread': 0 earth satellites installed/updated
Mar 14 15:43:36 RPI5 weewxd[1631740]: INFO user.skyfieldalmanac: thread
'SkyfieldMaintenanceThread': successfully installed star catalog
Mar 14 15:43:36 RPI5 weewxd[1631740]: INFO user.skyfieldalmanac: thread
'SkyfieldMaintenanceThread': stopped
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: Caught unrecoverable
exception:
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** module
'user.skyfieldalmanac' has no attribute 'moonMonthSpan'
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** Traceback
(most recent call last):
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"/home/bg/weewx-venv/lib/python3.11/site-packages/weewxd.py", line 121, in main
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** engine =
weewx.engine.StdEngine(config_dict)
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: ****
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"/home/bg/weewx-venv/lib/python3.11/site-packages/weewx/engine.py", line 89, in
__init__
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: ****
self.loadServices(config_dict)
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"/home/bg/weewx-venv/lib/python3.11/site-packages/weewx/engine.py", line 157,
in loadServices
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** obj =
weeutil.weeutil.get_object(svc)(self, config_dict)
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: ****
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"/home/bg/weewx-venv/lib/python3.11/site-packages/weeutil/weeutil.py", line
1404, in get_object
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** module =
importlib.import_module(module_name)
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: ****
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** return
_bootstrap._gcd_import(name[level:], package, level)
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: ****
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"<frozen importlib._bootstrap>", line 1206, in _gcd_import
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"<frozen importlib._bootstrap>", line 1178, in _find_and_load
Mar 14 15:43:39 RPI5 python3[1631740]: Traceback (most recent call last):
Mar 14 15:43:39 RPI5 python3[1631740]: File
"/home/bg/weewx-venv/lib/python3.11/site-packages/weewxd.py", line 226, in
<module>
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
Mar 14 15:43:39 RPI5 python3[1631740]: main()
Mar 14 15:43:39 RPI5 python3[1631740]: File
"/home/bg/weewx-venv/lib/python3.11/site-packages/weewxd.py", line 121, in main
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"<frozen importlib._bootstrap>", line 690, in _load_unlocked
Mar 14 15:43:39 RPI5 python3[1631740]: engine =
weewx.engine.StdEngine(config_dict)
Mar 14 15:43:39 RPI5 python3[1631740]:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 14 15:43:39 RPI5 python3[1631740]: File
"/home/bg/weewx-venv/lib/python3.11/site-packages/weewx/engine.py", line 89, in
__init__
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"<frozen importlib._bootstrap_external>", line 940, in exec_module
Mar 14 15:43:39 RPI5 python3[1631740]: self.loadServices(config_dict)
Mar 14 15:43:39 RPI5 python3[1631740]: File
"/home/bg/weewx-venv/lib/python3.11/site-packages/weewx/engine.py", line 157,
in loadServices
Mar 14 15:43:39 RPI5 python3[1631740]: obj =
weeutil.weeutil.get_object(svc)(self, config_dict)
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
Mar 14 15:43:39 RPI5 python3[1631740]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 14 15:43:39 RPI5 python3[1631740]: File
"/home/bg/weewx-venv/lib/python3.11/site-packages/weeutil/weeutil.py", line
1404, in get_object
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"/home/bg/weewx-data/bin/user/skymapalmanac.py", line 1367, in <module>
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** class
LibrationDiagramBinder(AnalemmaBinder):
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** File
"/home/bg/weewx-data/bin/user/skymapalmanac.py", line 1380, in
LibrationDiagramBinder
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: ****
'moonmonth':(user.skyfieldalmanac.moonMonthSpan,'%B %Y'),
Mar 14 15:43:39 RPI5 python3[1631740]: module =
importlib.import_module(module_name)
Mar 14 15:43:39 RPI5 python3[1631740]:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 14 15:43:39 RPI5 python3[1631740]: File
"/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: ****
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 14 15:43:39 RPI5 python3[1631740]: return
_bootstrap._gcd_import(name[level:], package, level)
Mar 14 15:43:39 RPI5 python3[1631740]:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 14 15:43:39 RPI5 python3[1631740]: File "<frozen importlib._bootstrap>",
line 1206, in _gcd_import
Mar 14 15:43:39 RPI5 python3[1631740]: File "<frozen importlib._bootstrap>",
line 1178, in _find_and_load
Mar 14 15:43:39 RPI5 python3[1631740]: File "<frozen importlib._bootstrap>",
line 1149, in _find_and_load_unlocked
Mar 14 15:43:39 RPI5 python3[1631740]: File "<frozen importlib._bootstrap>",
line 690, in _load_unlocked
Mar 14 15:43:39 RPI5 python3[1631740]: File "<frozen
importlib._bootstrap_external>", line 940, in exec_module
Mar 14 15:43:39 RPI5 python3[1631740]: File "<frozen importlib._bootstrap>",
line 241, in _call_with_frames_removed
Mar 14 15:43:39 RPI5 python3[1631740]: File
"/home/bg/weewx-data/bin/user/skymapalmanac.py", line 1367, in <module>
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: ****
AttributeError: module 'user.skyfieldalmanac' has no attribute 'moonMonthSpan'
Mar 14 15:43:39 RPI5 weewxd[1631740]: CRITICAL __main__: **** Exiting.
Mar 14 15:43:39 RPI5 python3[1631740]: class
LibrationDiagramBinder(AnalemmaBinder):
Mar 14 15:43:39 RPI5 python3[1631740]: File
"/home/bg/weewx-data/bin/user/skymapalmanac.py", line 1380, in
LibrationDiagramBinder
Mar 14 15:43:39 RPI5 python3[1631740]:
'moonmonth':(user.skyfieldalmanac.moonMonthSpan,'%B %Y'),
Mar 14 15:43:39 RPI5 python3[1631740]:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 14 15:43:39 RPI5 python3[1631740]: AttributeError: module
'user.skyfieldalmanac' has no attribute 'moonMonthSpan'
Mar 14 15:43:39 RPI5 systemd[1]: weewx.service: Main process exited,
code=exited, status=1/FAILURE
Mar 14 15:43:39 RPI5 systemd[1]: weewx.service: Failed with result 'exit-code'.
Mar 14 15:43:39 RPI5 systemd[1]: weewx.service: Consumed 1.441s CPU time.