Skip to content

Driver WS23xx

Manuel edited this page Aug 30, 2026 · 2 revisions

WS23xx

Running the WS23xx driver under this one, configured by hand.

Generated by tools/build_drivers.py from the driver as installed on the machine that ran it. Do not edit by hand.

There is a web interface for all of this. It is on by default, and the driver prints its address when WeeWX starts:

INFO user.ultimatepush.driver: The web interface is at
http://1.2.3.4:8080/?token=abcdefg12345

Everything on this page can be done there instead, and one thing is much easier: deciding which reading goes into which database column. See Web interface.

What it is

Classes and functions for interfacing with WS-23xx weather stations. LaCrosse made a number of stations in the 23xx series, including:

The smallest configuration that works

[Station]
    station_type = UltimatePush

[UltimatePush]
    driver = user.ultimatepush.driver

    [[hardware]]
        station_types = WS23xx

        [[[WS23xx]]]
            role = main

[WS23xx]
    driver = weewx.drivers.ws23xx
    port = /dev/ttyUSB0

The [WS23xx] section belongs to that driver and is read by it, exactly as it would be if it were the only driver WeeWX ran, so weectl device keeps working on it. What goes under [[hardware]] belongs to this one: see Hosted hardware.

Finding the port

The console is on a serial port, which on most machines is a USB-to-serial adapter. The name to put in port is whichever device it appears as.

List them with:

ls -l /dev/serial/by-id/

Use the name under by-id rather than /dev/ttyUSB0. It is made from the adapter's own manufacturer and serial number, so it stays the same after a reboot and after something else is plugged in, which /dev/ttyUSB0 does not.

port = /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0

If nothing is listed, the adapter is not being recognised. dmesg | tail after plugging it in says what the kernel made of it.

The web interface offers these devices as a list, which saves the typing.

Every option

Straight out of weewx.drivers.ws23xx, with what its author wrote above each one.

port

Serial port such as /dev/ttyS0, /dev/ttyUSB0, or /dev/cuaU0

Default is /dev/ttyUSB0.

model

The station model, e.g., 'LaCrosse WS2317' or 'TFA Primus'

Default is LaCrosse WS23xx.

driver

The driver to use:

Default is weewx.drivers.ws23xx.

More than one station

This driver is one station among however many others. Which of them fills outTemp, and where the rest of their readings go, is in Several stations.

Clone this wiki locally