WS23xxDriver error

59 views
Skip to first unread message

prra...@gmail.com

unread,
Aug 9, 2022, 10:13:32 PM8/9/22
to weewx-user

weewx status throws a bunch of error which I can't figure out. Could you please help me to fix them? (earlier, weewx was working fine, but I don't know if the current issue is related to new linux OS or weewx.) Any help is much appreciated, thank you.

$ /usr/bin/weewxd --version
4.8.0

$ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"

$ sudo tail -f /var/log/syslog

Aug 10 07:40:17 raspberrypi systemd[1]: Starting LSB: weewx weather system...

Aug 10 07:40:18 raspberrypi weewx[7415] INFO __main__: Initializing weewx version 4.8.0

Aug 10 07:40:18 raspberrypi weewx[7415] INFO __main__: Using Python 3.9.2 (default, Mar 12 2021, 04:06:34) #012[GCC 10.2.1 20210110]

Aug 10 07:40:18 raspberrypi weewx[7415] INFO __main__: Platform Linux-5.10.92-v7+-armv7l-with-glibc2.31

Aug 10 07:40:18 raspberrypi weewx[7415] INFO __main__: Locale is 'en_GB.UTF-8'

Aug 10 07:40:18 raspberrypi weewx[7415] INFO __main__: Using configuration file /etc/weewx/weewx.conf

Aug 10 07:40:18 raspberrypi weewx[7415] INFO __main__: Debug is 0

Aug 10 07:40:18 raspberrypi weewx[7415] INFO __main__: PID file is /var/run/weewx.pid

Aug 10 07:40:18 raspberrypi weewx[7418] INFO weewx.engine: Loading station type WS23xx (weewx.drivers.ws23xx)

Aug 10 07:40:18 raspberrypi weewx[7418] INFO weewx.drivers.ws23xx: driver version is 0.41

Aug 10 07:40:18 raspberrypi weewx[7418] INFO weewx.drivers.ws23xx: serial port is /dev/usb/hiddev0

Aug 10 07:40:18 raspberrypi weewx[7418] INFO weewx.drivers.ws23xx: polling interval is None

Aug 10 07:40:18 raspberrypi weewx[7405]: Starting weewx weather system: weewx.

Aug 10 07:40:18 raspberrypi systemd[1]: Started LSB: weewx weather system.

Aug 10 07:40:18 raspberrypi weewx[7418] ERROR weewx.engine: Import of driver failed: (22, 'Invalid argument') (<class 'termios.error'>)

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****  Traceback (most recent call last):

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/engine.py", line 119, in setupStation

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****      self.console = loader_function(config_dict, self)

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/ws23xx.py", line 272, in loader

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****      return WS23xxDriver(config_dict=config_dict, **config_dict[DRIVER_NAME])

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/ws23xx.py", line 439, in __init__

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****      self.station = WS23xx(self.port)

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/ws23xx.py", line 641, in __init__

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****      self.serial_port = LinuxSerialPort(port)

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/ws23xx.py", line 901, in __init__

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****      self.orig_settings = tty.tcgetattr(self.serial_port)

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL weewx.engine:     ****  termios.error: (22, 'Invalid argument')

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL __main__: Unable to load driver: (22, 'Invalid argument')

Aug 10 07:40:18 raspberrypi weewx[7418] CRITICAL __main__:     ****  Exiting...

Tom Keffer

unread,
Aug 9, 2022, 10:58:58 PM8/9/22
to weewx-user
Probably an issue with the [WS23xx] section in your weewx.conf file. In particular, check the "port" option and make sure it is correct.

If you wish, you can post the section here and we can take a look at it. Just post the [WS23xx] section --- nothing else. We don't need to see passwords.

-tk

--
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 weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/67a9b331-36fc-49cd-b76b-876c290d4b9en%40googlegroups.com.

prra...@gmail.com

unread,
Aug 10, 2022, 12:02:56 AM8/10/22
to weewx-user
Many thanks, here is the config. Note: during my earlier installation of weewx (a few years ago), it doesn't ask for the port, but now in 2022, the installation asked for port and I did set one based on

$ ls /dev/usb/
hiddev0

$ cat /etc/weewx/weewx.conf
[WS23xx]
    # This section is for the La Crosse WS-2300 series of weather stations.
   
    # Serial port such as /dev/ttyS0, /dev/ttyUSB0, or /dev/cuaU0
    port = /dev/usb/hiddev0
   
    # The station model, e.g., 'LaCrosse WS2317' or 'TFA Primus'
    model = LaCrosse WS23xx
   
    # The driver to use:
    driver = weewx.drivers.ws23xx

The complete config is here https://pastebin.com/yTy3ShdT

Tom Keffer

unread,
Aug 10, 2022, 10:50:15 AM8/10/22
to weewx-user
The port should be a serial port, not a USB port. Something /dev/ttyUSB0. 

Unplug your station, then plug it back in, then use the command 'dmesg'. It may (or may not) tell you what the serial port is that it connected to.

Message has been deleted

prra...@gmail.com

unread,
Aug 10, 2022, 12:27:12 PM8/10/22
to weewx-user
my bad, I supposed to use wh23xx driver, not ws23xx driver

I'm using USB port but not serial port
/dev/usb/hiddev0

It works well now! thanks
Reply all
Reply to author
Forward
0 new messages