Installing WS 6in1 for Bresser 5-in1

352 views
Skip to first unread message

Ξ

unread,
Jun 7, 2022, 6:36:07 AM6/7/22
to weewx-user

Hello,

Can someone please point me to how do I make ws6in1 recognise crcmod which I have installed? Here's what happens when I run reconfig:
Installed drivers include:
  0) ?               (user.ws6in1)             No module named crcmod
  1) AcuRite         (weewx.drivers.acurite)
  2) ?               (weewx.drivers.cc3000)    No module named serial
  3) FineOffsetUSB   (weewx.drivers.fousb)
  4) Simulator       (weewx.drivers.simulator)
  5) TE923           (weewx.drivers.te923)
  6) ?               (weewx.drivers.ultimeter) No module named serial
  7) Vantage         (weewx.drivers.vantage)
  8) WMR100          (weewx.drivers.wmr100)
  9) WMR200          (weewx.drivers.wmr200)
 10) WMR300          (weewx.drivers.wmr300)
 11) ?               (weewx.drivers.wmr9x8)    No module named serial
 12) WS1             (weewx.drivers.ws1)
 13) WS23xx          (weewx.drivers.ws23xx)
 14) WS28xx          (weewx.drivers.ws28xx)
choose a driver [4]: 0
Traceback (most recent call last):
  File "./wee_config", line 115, in <module>
    main()
  File "./wee_config", line 110, in main
    config_mgr.run(args, options)
  File "/home/weewx/bin/weecfg/config.py", line 102, in run
    self.modify_config(config_dict, options)
  File "/home/weewx/bin/weecfg/config.py", line 120, in modify_config
    stn_info = self.get_stn_info(config_dict, options)
  File "/home/weewx/bin/weecfg/config.py", line 151, in get_stn_info
    stn_info.update(weecfg.prompt_for_driver_settings(driver))
  File "/home/weewx/bin/weecfg/__init__.py", line 1136, in prompt_for_driver_settings
    __import__(driver)
  File "/home/weewx/bin/user/ws6in1.py", line 369, in <module>
    import crcmod
ImportError: No module named crcmod


Here's the information about the package:
[root@alarmpi bin]# pacman -Qi python-crcmod
Name            : python-crcmod
Version         : 1.7-4
Description     : Module for generating objects that compute the Cyclic Redundancy Check (CRC)
Architecture    : armv6h
URL             : http://crcmod.sourceforge.net/
Licenses        : MIT
Groups          : None
Provides        : None
Depends On      : python
Optional Deps   : None
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 126.48 KiB
Packager        : Arch Linux ARM Build System <build...@archlinuxarm.org>
Build Date      : Thu Jan 20 23:01:06 2022
Install Date    : Thu May 26 17:33:44 2022
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

I'm running weewx v3.7.1

Ξ

unread,
Jun 7, 2022, 7:50:01 AM6/7/22
to weewx-user
It seems I've installed WeeWx to use Python2.7 and python-crcmod is installed for Python3, is there a way to change to Python3 or do I need to re-install again?

Bob Atchley

unread,
Jun 7, 2022, 2:09:25 PM6/7/22
to weewx-user
Hi weewx-user

I would highly recommend using weewx v4.x with python3 if you can.
It is sometime since I tested the ws6in1 driver with python2 and never on arch linux (but that shouldn't be a problem).
I seem to remember that weewx v4 is needed for compatibility with python3 - so you would need to reinstall weewx if you want to use Python3

Having said that this should still work.  Just need to replace the 'pip3' commands with 'pip' and the crcmod install should be the pacman equivalent of
$ sudo apt install python-crcmod

Having said that python-crcmod is no longer included in the ubuntu repositories.  May be it is in the Arch Linux repositories ?  If not you can build it from the source code
crcmod.sourceforge.net
But that's getting complicated.

I used to use Arch Linux - it updates to the latest version of everything (I was a happy user until a major version upgrade of gnome left me with an unusable system and I re-thought my priorities),
so with that in mind using weewx v4.8 and python3 would be the way to go

Hope that helps

Bob

Ξ

unread,
Jun 9, 2022, 4:55:55 AM6/9/22
to weewx-user
Heya Bob,

I wanted to avoid new installation but I guess I have not many options here. I did install python-crcmod but I saw it's in the python3 directory and I've configured during install weewx to use python2.
As for Arch Linux, they dropped in March support for armv6 but luckily there's still a backup of the old/official repositories.

I'll try to install the latest version of weewx and see how it goes.

Thanks for the input!

Ξ

unread,
Jun 9, 2022, 6:51:25 AM6/9/22
to weewx-user
so I've tried running --reconfigure after installing 4.8.0 but I still get this message:

Indicate the preferred units for display: ['us', 'metric', 'metricwx']
unit system [us]: metricwx


Installed drivers include:
  0) ?               (user.ws6in1)             No module named 'crcmod'
  1) AcuRite         (weewx.drivers.acurite)
  2) ?               (weewx.drivers.cc3000)    No module named 'serial'
  3) FineOffsetUSB   (weewx.drivers.fousb)
  4) Simulator       (weewx.drivers.simulator)
  5) TE923           (weewx.drivers.te923)
  6) ?               (weewx.drivers.ultimeter) No module named 'serial'
  7) Vantage         (weewx.drivers.vantage)
  8) WMR100          (weewx.drivers.wmr100)
  9) WMR300          (weewx.drivers.wmr300)
 10) ?               (weewx.drivers.wmr9x8)    No module named 'serial'
 11) WS1             (weewx.drivers.ws1)
 12) WS23xx          (weewx.drivers.ws23xx)
 13) WS28xx          (weewx.drivers.ws28xx)

choose a driver [4]: 0
Traceback (most recent call last):
  File "./wee_config", line 128, in <module>
    main()
  File "./wee_config", line 122, in main
    config_mgr.run(args, options)
  File "/home/weewx/bin/weecfg/config.py", line 123, in run
    stn_info = self.get_stn_info(config_dict, options)
  File "/home/weewx/bin/weecfg/config.py", line 164, in get_stn_info
    stn_info.update(weecfg.prompt_for_driver_settings(driver, config_dict))
  File "/home/weewx/bin/weecfg/__init__.py", line 1630, in prompt_for_driver_settings

    __import__(driver)
  File "/home/weewx/bin/user/ws6in1.py", line 369, in <module>
    import crcmod
ModuleNotFoundError: No module named 'crcmod'


How do I 'help' it recognise the fact that crcmod is there and installed? I installed 4.8.0 by running the command with python3
[root@alarmpi weewx-4.8.0]# python3 ./setup.py install
running install
running build
running build_py
running build_scripts
[...]



Ξ

unread,
Jun 9, 2022, 6:55:43 AM6/9/22
to weewx-user
is there a way to test crcmod some other way to confirm it's running and installed properly?

Bob Atchley

unread,
Jun 9, 2022, 12:38:46 PM6/9/22
to weewx-user
Hi Weewx-user,

line 369 is simply an import of crcmod.  It has failed showing that the crcmod library is not available for python to use.
You need to follow the readme, but maybe there are complications caused by Arch Linux (?)

pip3 install crcmod
sudo apt install python3-crcmod   [or the pacman equivalent]

If that still doesn't work you could try running the pip3 command with sudo.

Hope that helps

Bob

Ξ

unread,
Jun 14, 2022, 10:15:37 AM6/14/22
to weewx-user
Hi again Bob, I'm Ivo btw :)

OK, I had to learn a thing or two about Pytho: the crc module was installed, but in /usr/lib/python3.10/site-packages, all other packages were in /usr/lib/python3.8/ so it was looking there for it:

[root@alarmpi ~]# python -m site
sys.path = [
    '/root',
    '/usr/lib/python38.zip',
    '/usr/lib/python3.8',
    '/usr/lib/python3.8/lib-dynload',
    '/usr/lib/python3.8/site-packages',
]
USER_BASE: '/root/.local' (exists)
USER_SITE: '/root/.local/lib/python3.8/site-packages' (doesn't exist)
ENABLE_USER_SITE: True


I created a file crcmod.pth in /usr/lib/python3.8/site-packages and put inside it the path to crc: /usr/lib/python3.10/site-packages/
after that I ran the reconfigure script and started weewx and it ran for a while but then this happened, maybe Matt Wall can help here?!

Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] INFO weewx.manager: Patch finished.
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] DEBUG weewx.engine: Finished loading service weewx.wxservices.StdWXCalculate
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] DEBUG weewx.engine: Loading service weewx.engine.StdQC
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] DEBUG weewx.engine: Finished loading service weewx.engine.StdQC
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] DEBUG weewx.engine: Loading service user.crt.CumulusRealTime
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: Caught unrecoverable exception:
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****  invalid syntax (crt.py, line 376)
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****  Traceback (most recent call last):
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****    File "/home/weewx/bin/weewxd", line 147, in main
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****      engine = weewx.engine.StdEngine(config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 93, in __init__
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****      self.loadServices(config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 161, in loadServices
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****      obj = weeutil.weeutil.get_object(svc)(self, config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****    File "/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****      mod = __import__(module)
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****    File "/home/weewx/bin/user/crt.py", line 376
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****      except Exception, e:
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****                      ^
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****  SyntaxError: invalid syntax
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__:     ****  Exiting.

Jun 14 17:08:40 alarmpi weewxd[1414]: [40.7K blob data]
Jun 14 17:08:40 alarmpi weewxd[1414]:   File "/home/weewx/bin/weewxd", line 248, in <module>
Jun 14 17:08:40 alarmpi weewxd[1414]:     main()
Jun 14 17:08:40 alarmpi weewxd[1414]:   File "/home/weewx/bin/weewxd", line 147, in main
Jun 14 17:08:40 alarmpi weewxd[1414]:     engine = weewx.engine.StdEngine(config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]:   File "/home/weewx/bin/weewx/engine.py", line 93, in __init__
Jun 14 17:08:40 alarmpi weewxd[1414]:     self.loadServices(config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]:   File "/home/weewx/bin/weewx/engine.py", line 161, in loadServices
Jun 14 17:08:40 alarmpi weewxd[1414]:     obj = weeutil.weeutil.get_object(svc)(self, config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]:   File "/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
Jun 14 17:08:40 alarmpi weewxd[1414]:     mod = __import__(module)
Jun 14 17:08:40 alarmpi weewxd[1414]:   File "/home/weewx/bin/user/crt.py", line 376
Jun 14 17:08:40 alarmpi weewxd[1414]:     except Exception, e:
Jun 14 17:08:40 alarmpi weewxd[1414]:                     ^
Jun 14 17:08:40 alarmpi weewxd[1414]: SyntaxError: invalid syntax
Jun 14 17:08:40 alarmpi systemd[1]: weewx.service: Main process exited, code=exited, status=1/FAILURE
Jun 14 17:08:40 alarmpi systemd[1]: weewx.service: Failed with result 'exit-code'.

Ξ

unread,
Jun 14, 2022, 10:18:04 AM6/14/22
to weewx-user
just for reference the updated sys.path output

[root@alarmpi ~]# python -m site
sys.path = [
    '/root',
    '/usr/lib/python38.zip',
    '/usr/lib/python3.8',
    '/usr/lib/python3.8/lib-dynload',
    '/usr/lib/python3.8/site-packages',
    '/usr/lib/python3.10/site-packages',

Ξ

unread,
Jun 14, 2022, 10:39:07 AM6/14/22
to weewx-user
Oops, it doesn't like the weather cloud module either:
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.engine: Finished loading service weewx.restx.StdAWEKAS
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.engine: Loading service user.wcloud.WeatherCloud
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.manager: Daily summary version is 4.0
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.manager: Daily summary version is 4.0
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.restx: Shut down PWSWeather thread.
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.restx: Shut down Wunderground-PWS thread.
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.restx: Shut down StationRegistry thread.
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: Caught unrecoverable exception:
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****  invalid syntax (wcloud.py, line 134)
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****  Traceback (most recent call last):
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****    File "/home/weewx/bin/weewxd", line 147, in main
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****      engine = weewx.engine.StdEngine(config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 93, in __init__
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****      self.loadServices(config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 161, in loadServices
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****      obj = weeutil.weeutil.get_object(svc)(self, config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****    File "/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****      mod = __import__(module)
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****    File "/home/weewx/bin/user/wcloud.py", line 134
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****      except KeyError, e:
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****                     ^
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****  SyntaxError: invalid syntax
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__:     ****  Exiting.

Jun 14 17:32:11 alarmpi weewxd[1465]: Traceback (most recent call last):
Jun 14 17:32:11 alarmpi weewxd[1465]:   File "/home/weewx/bin/weewxd", line 248, in <module>
Jun 14 17:32:11 alarmpi weewxd[1465]:     main()
Jun 14 17:32:11 alarmpi weewxd[1465]:   File "/home/weewx/bin/weewxd", line 147, in main
Jun 14 17:32:11 alarmpi weewxd[1465]:     engine = weewx.engine.StdEngine(config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]:   File "/home/weewx/bin/weewx/engine.py", line 93, in __init__
Jun 14 17:32:11 alarmpi weewxd[1465]:     self.loadServices(config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]:   File "/home/weewx/bin/weewx/engine.py", line 161, in loadServices
Jun 14 17:32:11 alarmpi weewxd[1465]:     obj = weeutil.weeutil.get_object(svc)(self, config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]:   File "/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
Jun 14 17:32:11 alarmpi weewxd[1465]:     mod = __import__(module)
Jun 14 17:32:11 alarmpi weewxd[1465]:   File "/home/weewx/bin/user/wcloud.py", line 134
Jun 14 17:32:11 alarmpi weewxd[1465]:     except KeyError, e:
Jun 14 17:32:11 alarmpi weewxd[1465]:                    ^
Jun 14 17:32:11 alarmpi weewxd[1465]: SyntaxError: invalid syntax


Ξ

unread,
Jun 14, 2022, 10:42:36 AM6/14/22
to weewx-user
I've commented out both cummulus real time and WeatherCloud in weeex.conf and started it, now it's back filling old data and it outputs in the log this stuff too, we'll see the end result soon:
[...]
Jun 14 17:36:34 alarmpi weewxd[1473]: weewx[1473] INFO weewx.manager: Added record 2022-06-08 20:30:00 EEST (1654709400) to daily summary in 'weewx.sdb'
Jun 14 17:36:34 alarmpi weewxd[1473]: weewx[1473] INFO weewx.restx: PWSWeather: Published record 2022-06-08 20:00:00 EEST (1654707600)
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.restx: StationRegistry: wait interval (118800 < 604800) has not passed for record 2022-06-08 20:30:00 EEST (1654709400)
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] INFO weewx.restx: Wunderground-PWS: Published record 2022-06-08 17:30:00 EEST (1654698600)

Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_int::ValueError error: invalid literal for int() with base 10: 'ENE'  string: ENE
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_int::ValueError error: invalid literal for int() with base 10: '--.-'  string: --.-
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_float::ValueError error: could not convert string to float: '--'  string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_int::ValueError error: invalid literal for int() with base 10: '--.-'  string: --.-
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_float::ValueError error: could not convert string to float: '--'  string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_int::ValueError error: invalid literal for int() with base 10: '--.-'  string: --.-
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_float::ValueError error: could not convert string to float: '--'  string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_float::ValueError error: could not convert string to float: '--'  string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_int::ValueError error: invalid literal for int() with base 10: '--.-'  string: --.-
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_float::ValueError error: could not convert string to float: '--'  string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_int::ValueError error: invalid literal for int() with base 10: '--.-'  string: --.-
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_float::ValueError error: could not convert string to float: '--'  string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: get_int::ValueError error: invalid literal for int() with base 10: '--.-'  string: --.-

Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: decode::gettint time
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: decode::got my_time: 1654711200
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] WARNING user.ws6in1: decode: 13 bad values occurred - rejecting this set of readings
Jun 14 17:36:36 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: decode::gettint time
Jun 14 17:36:36 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: decode::got my_time: 1654713000
Jun 14 17:36:36 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: genStartupRecords: yielding

[...]

Ξ

unread,
Jun 14, 2022, 10:49:20 AM6/14/22
to weewx-user
Not so good:

Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: genLoopPackets: yielding
Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: Found configuration file /home/weewx/skins/Standard/skin.conf for report 'StandardReport'
Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: Cannot read localization file /home/weewx/skins/Standard/lang/en.conf for report 'StandardReport': Config file not found: "/home/weewx/skins/Standard/lang/en.conf".
Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: **** Using defaults instead.
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.cheetahgenerator.CheetahGenerator'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****  No module named 'Cheetah'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****  Traceback (most recent call last):
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weewx/reportengine.py", line 180, in run
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****      obj = weeutil.weeutil.get_object(generator)(
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****      mod = __import__(module)
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weewx/cheetahgenerator.py", line 69, in <module>
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****      import Cheetah.Filters
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****  ModuleNotFoundError: No module named 'Cheetah'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****  Generator ignored
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.imagegenerator.ImageGenerator'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****  No module named 'Image'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****  Traceback (most recent call last):
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weeplot/genplot.py", line 15, in <module>
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****      from PIL import Image, ImageDraw
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****  ModuleNotFoundError: No module named 'PIL'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****  During handling of the above exception, another exception occurred:
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****  Traceback (most recent call last):
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weewx/reportengine.py", line 180, in run
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****      obj = weeutil.weeutil.get_object(generator)(
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****      mod = __import__(module)
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weewx/imagegenerator.py", line 19, in <module>
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****      import weeplot.genplot
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weeplot/genplot.py", line 17, in <module>
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****      import Image, ImageDraw
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****  ModuleNotFoundError: No module named 'Image'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine:         ****  Generator ignored

Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] INFO weewx.reportengine: Copied 9 files to /home/weewx/public_html
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: Report 'SeasonsReport' not enabled. Skipping.
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: Report 'SmartphoneReport' not enabled. Skipping.
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: Report 'MobileReport' not enabled. Skipping.
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: Running report 'FTP'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: Found configuration file /home/weewx/skins/Ftp/skin.conf for report 'FTP'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: Cannot read localization file /home/weewx/skins/Ftp/lang/en.conf for report 'FTP': Config file not found: "/home/weewx/skins/Ftp/lang/en.conf".
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: **** Using defaults instead.

Bob Atchley

unread,
Jun 14, 2022, 12:34:56 PM6/14/22
to weewx-user
Looks like the 'Cheetah' module is not installed (or Python can't find it)
Have a look at the install page:
And look at the different OS tabs (Arch is not included).
Some seem to use 'pip3' others the equivalent of 'pacman install'
I would try a combination to find out what works with Arch

Hope this helps

Bob

Ξ

unread,
Jun 15, 2022, 7:32:25 PM6/15/22
to weewx-user
or rather Python3 can't find it, since it works with Python2 and weewx v3.7.1, either way I've decided to try that make work (because weewx 4.8 doesn't work with two of the extensions for whatever reason) and I solved the crcmod issue, but when I try to run it it fails because 'No module named core'

unknown.png

I looked at ws6in1.py and on row 370 it's specified as 'import usb.core', pyusb is installed but it seems its sub-module 'core' isn't found by ws6in1.py
# python2 -m site
sys.path = [
    '/root',
    '/usr/lib/python27.zip',
    '/usr/lib/python2.7',
    '/usr/lib/python2.7/plat-linux2',
    '/usr/lib/python2.7/lib-tk',
    '/usr/lib/python2.7/lib-old',
    '/usr/lib/python2.7/lib-dynload',
    '/usr/lib/python2.7/site-packages',
    '/usr/lib/python2.7/site-packages/pyusb-1.0.2-py2.7.egg',
]
USER_BASE: '/root/.local' (exists)
USER_SITE: '/root/.local/lib/python2.7/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

Like I said I decided to go back to Python2/WeeWX 3.7.1 because the CRT and WeatherCloud extensions work with this combination.

- Ivo

gjr80

unread,
Jun 15, 2022, 10:16:59 PM6/15/22
to weewx-user
You might want to re-think your approach here and use the latest WeeWX version under python3, you are already tying yourself in knots trying to find the right python 2 packages and it's only going to get worse as time progresses and python 2 falls further by the wayside. You cite the CRT and WeatherCloud extensions lack of support for python3 /WeeWX 4 as your reason for reverting to python 2, but both of those extensions were ported to WeeWX 4/python 3 over two years ago - this wiki link and this wiki link refer (green ticks mean tested with WeeWX 4/python 3). The two error traces you provided earlier for the CRT service and WeatherCloud uploader are certainly due to python 2/3 code compatibility issues, but the line numbers/code in each trace do not match with the current GitHub versions of each so I strongly suspect you are tying to run old versions of CRT and WeatherCloud.

Gary

On Thursday, 16 June 2022 at 09:32:25 UTC+10 Ξ wrote:
...

Like I said I decided to go back to Python2/WeeWX 3.7.1 because the CRT and WeatherCloud extensions work with this combination.
...

Ξ

unread,
Jun 17, 2022, 10:48:25 AM6/17/22
to weewx-user
Hi Gary,

Thanks for the feedback, you're most certainly right, I didn't try installing anew CRT and WeatherCloud and didn't realise the obvious: WeeWX4 would also require Python3-upgraded extensions.

Interestingly, I managed to make it work with 3.7.1/Python2 just now, turns out it's very picky about the paths that's why it couldn't locate modules that were there and it kept turning up at me various 'ImportError' messages, so after some trial and error I re-installed pyusb inside the /usr/lib/python2.7/site-packages/pyusb-1.0.2 directory and then started weewx and now it's running but something broke with the report generation:

How and why? I didn't touch anything related to Cheetah or the skin templates?!

k.jpg

Ξ

unread,
Jun 17, 2022, 11:34:42 AM6/17/22
to weewx-user
I coped the entire /home/weewx/ directory before installing v4.8.0, then I reverted the original of v3.7.1 so the v4 install shouldn't have messed with the old version

Ξ

unread,
Jun 19, 2022, 2:16:56 PM6/19/22
to weewx-user
Originally I was using a modified skin and I had kept the initial standard skin saved as index.html.tmpl-orig, I replaced with it index.html.tmpl and it started generating reports without a problem, now I'm going to extract an 'original' FTP skin and also try to replace that one, I suspect WS6in1 modified the skins or not sure what happened for them to stop working.

Ξ

unread,
Jun 20, 2022, 8:47:40 AM6/20/22
to weewx-user
btw, Bob, since my station is 5-in-1 i.e. without the UV measuring it shows value '0' instead of 'none':

Jun 20 14:18:33 alarmpi weewxd[205]: LOOP:   2022-06-20 14:17:58 EEST (1655723878) altimeter: 1016.65803451, appTemp: 24.8153446101, barometer: 1012.0, cloudbase: 3242.70924389, dateTime: 1655723878, dayRain: 0.0, dewpoint: 7.4, extraHumid1: None, extraHumid2: None, extraHumid3: None, extraHumid4: None, extraHumid5: None, extraHumid6: None, extraHumid7: None, extraTemp1: None, extraTemp2: None, extraTemp3: None, extraTemp4: None, extraTemp5: None, extraTemp6: None, extraTemp7: None, heatindex: 25.5, humidex: 25.605063055, inDewpoint: 51.7790519708, inHumidity: 59, inTemp: 19.2, maxSolarRad: None, outHumidity: 32, outTemp: 25.4, pressure: 901.0, rain: 0.0, rainRate: 0.0, usUnits: 17, UV: 0, windchill: 25.4, windDir: None, windGust: 0.0, windGustDir: None, windSpeed: 0.0

I don't know if this needs "fixing" and well, you, originally wrote the driver for 6-in-1 stations, but maybe just something to consider.

Ξ

unread,
Jun 20, 2022, 9:00:18 AM6/20/22
to weewx-user
and this seems to have been a wrong assumption as there's no FTP skin as such, since I don't know the insides and out of WeeWX and least of all Python I thought otherwise.

I don't know what broke these two report engines, but at least the report generating was fixed when replacing the index template with an original one. I don't have the brain capacity to figure out what's wrong with the FTP, however it really doesn't make sense why these parts should be affected from the things I've done, oh well.

Bob Atchley

unread,
Jun 20, 2022, 12:39:24 PM6/20/22
to weewx-user
Please read the readme.txt for the WS6in1 driver. if you set the optional driver parameter "wsType" to "WS5in1" it will suppress the UV value.

Hope this helps

Bob

Ξ

unread,
Jun 24, 2022, 5:04:28 PM6/24/22
to weewx-user
Ahh, sorry, that's one bit I overlooked with all the other stuff, many thanks for your help!

And I've only now noticed battery status isn't reported in the loops, because the station simply doesn't report it, that's one thing I'm gonna miss, but if the previous station is anything to go by they should last a while.

All the best,

Ivo
Reply all
Reply to author
Forward
0 new messages