Closed ktrue closed 10 months ago
Thanks Ken. Darn, I had that version check fixed yesterday but it looks like I may have uploaded the wrong installer version. I can' fix it just now, but will be onto it later this morning.
Not sure but the 'unable to delete errors' are unrelated and should not cause a problem.
To make sure that V5.0.0 was installed, I did
sudo apt-get remove weewx
sudo apt-get install weewx
and it installed cleanly (no error messages) and started running (with the 0.7.0 weewx-saratoga plugin) The basic files are being generated (except for the WEEWXtags.php which is having an issue:
Jan 16 13:20:28 TRP3WX weewxd[15405]: ERROR weewx.reportengine: Caught unrecoverable exception in generator 'weewx.cheetahgenerator.CheetahGenerator'
Jan 16 13:20:28 TRP3WX weewxd[15405]: ERROR weewx.reportengine: **** module 'weewx.units' has no attribute 'UnknownType'
The realtime seems to be working ok.
There were two v5 related fixes in 0.1.8. The first was the need to change the version checking algorithm due to deprecation of an old library. The second is to fix the weewx.units.UnknownType you are seeing now. Unfortunately we can't fix the latter until we get v0.1.8 installed which needs me to fix the misbehaving installer. If that makes sense?
By the looks of it WeeWX v5 is running with the old v0.1.7 weewx-saratoga extension.
Yes, my bad.. the v0.1.7 weewx-saratoga extension is the one running with weewx 5.0.0
Should be fixed now. Try re-downloading and installing the 0.1.8 package.
Yep.. that worked!
pi@TRP3WX:~ $ sudo weectl extension install ws-0.1.8.tar.gz
Using configuration file /etc/weewx/weewx.conf
Install extension 'ws-0.1.8.tar.gz' (y/n)? y
Extracting from tar archive ws-0.1.8.tar.gz
Saving installer file to /etc/weewx/bin/user/installer/WeeWX-Saratoga.
Saved configuration dictionary. Backup copy at /etc/weewx/weewx.conf.20240116141124.
Finished installing extension WeeWX-Saratoga from ws-0.1.8.tar.gz.
pi@TRP3WX:~ $ sudo systemctl restart weewx
I'm doing a tail -f /var/log/syslog to watch the progress.
Sigh.. still an error somewhere
Jan 16 14:12:18 TRP3WX weewxd[15551]: INFO weewx.engine: Starting main packet loop.
Jan 16 14:15:28 TRP3WX weewxd[15551]: INFO weewx.cheetahgenerator: Generated 13 files for report StandardReport in 4.59 seconds
Jan 16 14:15:29 TRP3WX weewxd[15551]: INFO weewx.imagegenerator: Generated 12 images for report StandardReport in 0.89 seconds
Jan 16 14:15:29 TRP3WX weewxd[15551]: INFO weewx.reportengine: Copied 13 files to /var/www/html/weewx
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: Caught unrecoverable exception in generator 'weewx.cheetahgenerator.CheetahGenerator'
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** module 'weewx.units' has no attribute 'UnknownType'
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** Traceback (most recent call last):
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 207, in run
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** obj.start()
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 399, in start
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** self.run()
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 166, in run
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** ngen = self.generate(gen_dict[section_name], section_name, self.gen_ts)
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 226, in generate
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** ngen += self.generate(section[subsection], subsection, gen_ts)
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 226, in generate
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** ngen += self.generate(section[subsection], subsection, gen_ts)
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 309, in generate
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** searchList = self._getSearchList(encoding, timespan,
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 401, in _getSearchList
Jan 16 14:15:29 TRP3WX weewxd[15551]: Traceback (most recent call last):
Jan 16 14:15:29 TRP3WX weewxd[15551]: File "/usr/share/weewx/weewx/reportengine.py", line 207, in run
Jan 16 14:15:29 TRP3WX weewxd[15551]: obj.start()
Jan 16 14:15:29 TRP3WX weewxd[15551]: File "/usr/share/weewx/weewx/reportengine.py", line 399, in start
Jan 16 14:15:29 TRP3WX weewxd[15551]: self.run()
Jan 16 14:15:29 TRP3WX weewxd[15551]: File "/usr/share/weewx/weewx/cheetahgenerator.py", line 166, in run
Jan 16 14:15:29 TRP3WX weewxd[15551]: ngen = self.generate(gen_dict[section_name], section_name, self.gen_ts)
Jan 16 14:15:29 TRP3WX weewxd[15551]: File "/usr/share/weewx/weewx/cheetahgenerator.py", line 226, in generate
Jan 16 14:15:29 TRP3WX weewxd[15551]: ngen += self.generate(section[subsection], subsection, gen_ts)
Jan 16 14:15:29 TRP3WX weewxd[15551]: File "/usr/share/weewx/weewx/cheetahgenerator.py", line 226, in generate
Jan 16 14:15:29 TRP3WX weewxd[15551]: ngen += self.generate(section[subsection], subsection, gen_ts)
Jan 16 14:15:29 TRP3WX weewxd[15551]: File "/usr/share/weewx/weewx/cheetahgenerator.py", line 309, in generate
Jan 16 14:15:29 TRP3WX weewxd[15551]: searchList = self._getSearchList(encoding, timespan,
Jan 16 14:15:29 TRP3WX weewxd[15551]: File "/usr/share/weewx/weewx/cheetahgenerator.py", line 401, in _getSearchList
Jan 16 14:15:29 TRP3WX weewxd[15551]: search_list += obj.get_extension_list(timespan, db_lookup)
Jan 16 14:15:29 TRP3WX weewxd[15551]: File "/etc/weewx/bin/user/wssearchlist.py", line 1569, in get_extension_list
Jan 16 14:15:29 TRP3WX weewxd[15551]: if not isinstance(temp_vt, weewx.units.UnknownType):
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** search_list += obj.get_extension_list(timespan, db_lookup)
Jan 16 14:15:29 TRP3WX weewxd[15551]: AttributeError: module 'weewx.units' has no attribute 'UnknownType'
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** File "/etc/weewx/bin/user/wssearchlist.py", line 1569, in get_extension_list
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** if not isinstance(temp_vt, weewx.units.UnknownType):
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** AttributeError: module 'weewx.units' has no attribute 'UnknownType'
Jan 16 14:15:29 TRP3WX weewxd[15551]: ERROR weewx.reportengine: **** Generator terminated
Jan 16 14:15:37 TRP3WX weewxd[15551]: INFO weewx.imagegenerator: Generated 36 images for report WEEWXtagsReport in 7.46 seconds
Jan 16 14:15:37 TRP3WX weewxd[15551]: INFO user.stackedwindrose: Generated 1 images for WEEWXtagsReport in 0.15 seconds
Jan 16 14:15:43 TRP3WX weewxd[15551]: INFO weewx.cheetahgenerator: Generated 3 files for report ClientrawReport in 6.14 seconds
Jan 16 14:16:01 TRP3WX weewxd[15551]: INFO weewx.reportengine: ftpgenerator: Ftp'd 61 files in 18.22 seconds
Home now. Can you check /etc/weewx/bin/user/wssearchlist.py
, around line 94 you should find the file version number, something like WS_SLE_VERSION = '0.1.8'
. I'm guessing it's still 0.1.7
, line 1569 in the error trace above does not exist in v0.1.8, that code is old (now fixed) v0.1.7 code.
If you do still have 0.1.7
could you try re-installing the extension using weectl extension install
and then check the /etc/weewx/bin/user/wssearchlist.py
version again. If 0.1.8
it should be fine, but if not could you post the output of the weectl extension install
session.
ok.. did it
pi@TRP3WX:~ $ sudo weectl extension install ws-0.1.8.tar.gz
Using configuration file /etc/weewx/weewx.conf
Install extension 'ws-0.1.8.tar.gz' (y/n)? y
Extracting from tar archive ws-0.1.8.tar.gz
Saving installer file to /etc/weewx/bin/user/installer/WeeWX-Saratoga.
Saved configuration dictionary. Backup copy at /etc/weewx/weewx.conf.20240116174421.
Finished installing extension WeeWX-Saratoga from ws-0.1.8.tar.gz.
pi@TRP3WX:~ $ sudo nano /etc/weewx/bin/user/wssearchlist.py
The wssearchlist.py still shows 0.1.7
def logdbg(msg):
logmsg(syslog.LOG_DEBUG, msg)
WS_SLE_VERSION = '0.1.7'
That is bizarre. I am doing the same on a VM with no issues. I'm wondering if something is not being copied to where it should be. Can you try the install one more time, this time with --verbosity=3
, e.g.
weectl extension install /var/tmp/ws-0.1.8.tar.gz --verbosity=3
That should give us a pile of detail on what is being copied where.
Here's the result
pi@TRP3WX:~ $ sudo systemctl stop weewx
pi@TRP3WX:~ $ sudo weectl extension install ws-0.1.8.tar.gz --verbosity=3
Using configuration file /etc/weewx/weewx.conf
Install extension 'ws-0.1.8.tar.gz' (y/n)? y
Extracting from tar archive ws-0.1.8.tar.gz
Request to install extension found in directory /tmp/tmpbj6wqwuf/ws.
Found extension with name 'WeeWX-Saratoga'.
Copying new files...
Copying from '/tmp/tmpbj6wqwuf/ws/bin/user/rtcr.py' to '/bin/user/rtcr.py'
Copying from '/tmp/tmpbj6wqwuf/ws/bin/user/stackedwindrose.py' to '/bin/user/stackedwindrose.py'
Copying from '/tmp/tmpbj6wqwuf/ws/bin/user/ws.py' to '/bin/user/ws.py'
Copying from '/tmp/tmpbj6wqwuf/ws/bin/user/wsastro.py' to '/bin/user/wsastro.py'
Copying from '/tmp/tmpbj6wqwuf/ws/bin/user/wsschema.py' to '/bin/user/wsschema.py'
Copying from '/tmp/tmpbj6wqwuf/ws/bin/user/wssearchlist.py' to '/bin/user/wssearchlist.py'
Copying from '/tmp/tmpbj6wqwuf/ws/bin/user/wstaggedstats.py' to '/bin/user/wstaggedstats.py'
Copying from '/tmp/tmpbj6wqwuf/ws/bin/user/wsxtypes.py' to '/bin/user/wsxtypes.py'
Copying from '/tmp/tmpbj6wqwuf/ws/skins/Clientraw/clientrawdaily.txt.tmpl' to '/skins/Clientraw/clientrawdaily.txt.tmpl'
Copying from '/tmp/tmpbj6wqwuf/ws/skins/Clientraw/clientrawextra.txt.tmpl' to '/skins/Clientraw/clientrawextra.txt.tmpl'
Copying from '/tmp/tmpbj6wqwuf/ws/skins/Clientraw/clientrawhour.txt.tmpl' to '/skins/Clientraw/clientrawhour.txt.tmpl'
Copying from '/tmp/tmpbj6wqwuf/ws/skins/Clientraw/skin.conf' to '/skins/Clientraw/skin.conf'
Copying from '/tmp/tmpbj6wqwuf/ws/skins/WEEWXtags/skin.conf' to '/skins/WEEWXtags/skin.conf'
Copying from '/tmp/tmpbj6wqwuf/ws/skins/WEEWXtags/WEEWXtags.php.tmpl' to '/skins/WEEWXtags/WEEWXtags.php.tmpl'
Copying from '/tmp/tmpbj6wqwuf/ws/skins/WEEWXtags/font/LICENSE.txt' to '/skins/WEEWXtags/font/LICENSE.txt'
Copying from '/tmp/tmpbj6wqwuf/ws/skins/WEEWXtags/font/OpenSans-Bold.ttf' to '/skins/WEEWXtags/font/OpenSans-Bold.ttf'
Copying from '/tmp/tmpbj6wqwuf/ws/skins/WEEWXtags/font/OpenSans-Regular.ttf' to '/skins/WEEWXtags/font/OpenSans-Regular.ttf'
Copied 17 files.
Adding services to service lists.
Adding sections to configuration file
Merged extension settings into configuration file
Saving installer file to /etc/weewx/bin/user/installer/WeeWX-Saratoga.
Saved configuration dictionary. Backup copy at /etc/weewx/weewx.conf.20240116180321.
Finished installing extension WeeWX-Saratoga from ws-0.1.8.tar.gz.
Well that explains it: '/bin/user/wssearchlist.py' != '/etc/weewx/bin/user/wssearchlist.py'. Now to work out why and how to fix. I have done all of my development on a WeeWX v5 pip install whereas you are using a package install. That should make no difference, it certainly has not with previous releases, the WeeWX extension installer handles all that.
I'll create another VM with a 4.10.2 package install, upgrade to a v5 package install then install the extension and see what I can find.
Well I've been able to reproduce the problem, let's see what we can work out.
Well Ken, it's a WeeWX bug and a good one!
https://groups.google.com/g/weewx-user/c/fa2y3wTr-AE
My suggestion is do not un-unstall any extensions until WeeWX is updated (which should not be far away)
I've not seen any progress from Tom after the 'READ ME!' post .. any action on resolving the issue?
The bug you discovered has been fixed, this commit refers, the problem is there are a couple of other issues with package installs that they are trying to fix and include in the same 5.0.1 release.
If you want I can give you some instructions for manually updating to 0.1.8 (it's a pretty basic job, just untag and copy), a manual update will be immune to any of the potentially bad consequences mentioned the 'READ ME!' post.
Yes, please, I'd appreciate the manual instructions for updating to 0.1.8 with V5.0.0 apt install. Thanks!
The manual install instructions are essentially the same as the manual install instructions in the readme, the trick is finding the correct destination directories under WeeWX v5. As it turns out you are using a package install which makes things a bit easier (package installs use known fixed locations, pip and git installs are somewhat more complicated using locations based on where and how you install WeeWX).
To manually install 0.1.8:
.tar.gz
file as per the readmews
directory copy the ws/bin/user/*.py
files to /etc/weewx/bin/user
(if you look in /etc/weewx/bin/user
you should find the 0.1.7 files are already there, you are just replacing them with 0.1.8) ws
directory copy the ws/skins/Clientraw
and ws/skins/WEEWXtags
directories to /etc/weewx/skins
(again if you look at /etc/weewx/skins
you should find the 0.1.7 Clientraw
and WEEWXtags
directories are already there)Rather ironic, they are packing up 5.0.1 now.
I did the manual install as per above. Results in log show
Jan 25 07:50:23 TRP3WX weewxd[5910]: INFO weewx.manager: Added record 2024-01-25 07:50:00 PST (1706197800) to database 'weewxwd.sdb'
Jan 25 07:50:23 TRP3WX weewxd[5910]: INFO weewx.manager: Added record 2024-01-25 07:50:00 PST (1706197800) to daily summary in 'weewxwd.sdb'
Jan 25 07:50:28 TRP3WX weewxd[5910]: INFO weewx.cheetahgenerator: Generated 13 files for report StandardReport in 4.75 seconds
Jan 25 07:50:29 TRP3WX weewxd[5910]: INFO weewx.imagegenerator: Generated 12 images for report StandardReport in 0.94 seconds
Jan 25 07:50:29 TRP3WX weewxd[5910]: INFO weewx.reportengine: Copied 13 files to /var/www/html/weewx
Jan 25 07:50:36 TRP3WX weewxd[5910]: INFO weewx.cheetahgenerator: Generated 1 files for report WEEWXtagsReport in 7.10 seconds
Jan 25 07:50:37 TRP3WX weewxd[5910]: INFO weewx.imagegenerator: Generated 9 images for report WEEWXtagsReport in 0.72 seconds
Jan 25 07:50:37 TRP3WX weewxd[5910]: INFO user.stackedwindrose: Generated 1 images for WEEWXtagsReport in 0.18 seconds
Jan 25 07:50:43 TRP3WX weewxd[5910]: INFO weewx.cheetahgenerator: Generated 3 files for report ClientrawReport in 6.25 seconds
Jan 25 07:50:53 TRP3WX weewxd[5910]: INFO weewx.reportengine: ftpgenerator: Ftp'd 35 files in 9.47 seconds
doing a ls -l /var/www/html/weewx
shows the standard files are all updated, but the weewx-saratoga files are not :(
-rw-r--r-- 1 root root 2056 Jan 16 14:05 clientrawdaily.txt
-rw-r--r-- 1 root root 3128 Jan 16 14:05 clientrawextra.txt
-rw-r--r-- 1 root root 2339 Jan 16 14:05 clientrawhour.txt
-rw-r--r-- 1 root root 818 Jan 25 07:55 clientraw.txt
...
-rw-r--r-- 1 root root 32179 Jan 16 12:30 WEEWXtags.php
-rw-r--r-- 1 root root 6843 Jan 25 00:55 yearbarometer.png
the 0.1.8 files are in the /etc/weewx/skins in the proper ./Clientraw and ./WEEWXtags directories.
Where to look next?
Eureka! I found in /etc/weewx/weewx.conf
[[WEEWXtagsReport]]
skin = WEEWXtags
enable = True
HTML_ROOT = /var/www/html/weewx/public_html/saratoga
[[[Units]]]
[[[[StringFormats]]]]
NONE = --
[[[[TimeFormats]]]]
date_f = %m/%d/%Y
date_time_f = %m/%d/%Y %-I:%M_%p
[[ClientrawReport]]
skin = Clientraw
enable = True
HTML_ROOT = /var/www/html/weewx/public_html/saratoga
which I corrected to be
[[WEEWXtagsReport]]
skin = WEEWXtags
enable = True
HTML_ROOT = /var/www/html/weewx
[[[Units]]]
[[[[StringFormats]]]]
NONE = --
[[[[TimeFormats]]]]
date_f = %m/%d/%Y
date_time_f = %m/%d/%Y %-I:%M_%p
[[ClientrawReport]]
skin = Clientraw
enable = True
HTML_ROOT = /var/www/html/weewx
and restarted weewx and it now works just fine!
weewx.UnsupportedFeature: WeeWX-Saratoga0.1.8 requires WeeWX 4.5.0 or greater, found 5.0.0
was the error message on
I did note in the apt-get upgrade the weewx installation reported
Help??