WeatherFlowUDP timeout reading packets

26 views
Skip to first unread message

dana....@gmail.com

unread,
Dec 30, 2025, 6:07:08 PM (11 days ago) 12/30/25
to weewx-user
I'm trying to get weewx working with a Tempest weather station

I did a fresh install of the current version of weeex which worked fine with the "simulator".  I followed the instructions at https://github.com/captain-coredump/weatherflow-udp. The WeatherFlowUDP module is being called but it times out waiting for UDP packets.

I am able to see UDP packets to port 50222 using tcpdump, however I cannot see any using netcat (netcat -ulp 50222). I have 2 other ubuntu systems at different locations each with a Tempest on the network. Tcpdump sees UDP packets from the tempest fine on both. On one system, netcap -ulp 50222 sees packets as well, on the other it does not.

I have different combinations of wired and wireless interfaces on each system, and I thought it might be a wrong interface problem.  I tried specifying the source IP address to listen to with netcap and that doesn't help either.

I am running Ubuntu 24.04.2 LTS.

Below are the entries in /etc/weewx/weewx.conf and debug entries in /var/log/syslog.

Any suggestions appreciated. The github link to wfudptools I found did not work nor did installing using PIP3. However I just found it on pypi.org so I may check that out.

  Dana

/etc/weewx/weewx.config

 ( station_type = WeatherFlowUDP earlier in file)

# WeatherFlow                                                                                                                                                
[WeatherFlowUDP]
    driver = user.weatherflowudp
    log_raw_packets = True
    udp_address = <broadcast>
    # udp_address = 0.0.0.0                                                                                                                                  
    # udp_address = 255.255.255.255                                                                                                                          
    udp_port = 50222
    udp_timeout = 90
    share_socket = True

    # This section is for the TEMPEST WeatherFlow Bridge packets, via UDP broadcast on local subnet                                                          

    [[sensor_map]]
        outTemp = air_temperature.ST-00096118.obs_st
        outHumidity = relative_humidity.ST-00096118.obs_st
        pressure = station_pressure.ST-00096118.obs_st
        lightning_strikes =  lightning_strike_count.ST-00096118.obs_st
        avg_distance =  lightning_strike_avg_distance.ST-00096118.obs_st
        outTempBatteryStatus = battery.ST-00096118.obs_st
        windSpeed = wind_speed.ST-00096118.rapid_wind
        windDir = wind_direction.ST-00096118.rapid_wind
        luxXXX = illuminance.ST-00096118.obs_st
        UV = uv.ST-00096118.obs_st
        rain = rain_accumulated.ST-00096118.obs_st
        windBatteryStatus = battery.ST-00096118.obs_st
        radiation = solar_radiation.ST-00096118.obs_st
        lightningXXX = distance.ST-00096118.evt_strike
        lightningYYY = energy.ST-00096118.evt_strike

SYSLOG

2025-12-30T14:38:22.947298-08:00 zbox weewxd[2836]: INFO __main__: Initializing weewxd version 5.2.0
2025-12-30T14:38:22.947607-08:00 zbox weewxd[2836]: INFO __main__: Command line: /usr/share/weewx/weewxd.py /etc/weewx/weewx.conf
2025-12-30T14:38:22.948844-08:00 zbox weewxd[2836]: INFO __main__: Using Python: 3.12.3 (main, Nov  6 2025, 13:44:16) [GCC 13.3.0]
2025-12-30T14:38:22.949045-08:00 zbox weewxd[2836]: INFO __main__: Located at:   /usr/bin/python3
2025-12-30T14:38:22.955156-08:00 zbox weewxd[2836]: INFO __main__: Platform:     Linux-6.8.0-90-generic-x86_64-with-glibc2.39
2025-12-30T14:38:22.955334-08:00 zbox weewxd[2836]: INFO __main__: Locale:       'en_US.UTF-8'
2025-12-30T14:38:22.955427-08:00 zbox weewxd[2836]: INFO __main__: Entry path:   /usr/share/weewx/weewxd.py
2025-12-30T14:38:22.955527-08:00 zbox weewxd[2836]: INFO __main__: WEEWX_ROOT:   /etc/weewx
2025-12-30T14:38:22.955618-08:00 zbox weewxd[2836]: INFO __main__: Config file:  /etc/weewx/weewx.conf
2025-12-30T14:38:22.955695-08:00 zbox weewxd[2836]: INFO __main__: User module:  /etc/weewx/bin/user
2025-12-30T14:38:22.955772-08:00 zbox weewxd[2836]: INFO __main__: Debug:        1
2025-12-30T14:38:22.958883-08:00 zbox weewxd[2836]: INFO __main__: User:         weewx
2025-12-30T14:38:22.959396-08:00 zbox weewxd[2836]: INFO __main__: Group:        weewx
2025-12-30T14:38:22.959569-08:00 zbox weewxd[2836]: INFO __main__: Groups:       weewx
2025-12-30T14:38:22.959674-08:00 zbox weewxd[2836]: DEBUG __main__: loop_on_init: False
2025-12-30T14:38:22.959766-08:00 zbox weewxd[2836]: DEBUG __main__: Initializing engine
2025-12-30T14:38:22.959884-08:00 zbox weewxd[2836]: INFO weewx.engine: Loading station type WeatherFlowUDP (user.weatherflowudp)
2025-12-30T14:38:22.963131-08:00 zbox weewxd.py: weatherflowudp: MainThread: driver version is 1.10
2025-12-30T14:38:22.963308-08:00 zbox weewxd.py: weatherflowudp: MainThread: sensor map is {'outTemp': 'air_temperature.ST-00096118.obs_st', 'outHumidity': 'relative_humidity.ST-00096118.obs_st', 'pressure': 'station_pressure.ST-00096118.obs_st', 'lightning_strikes': 'lightning_strike_count.ST-00096118.obs_st', 'avg_distance': 'lightning_strike_avg_distance.ST-00096118.obs_st', 'outTempBatteryStatus': 'battery.ST-00096118.obs_st', 'windSpeed': 'wind_speed.ST-00096118.rapid_wind', 'windDir': 'wind_direction.ST-00096118.rapid_wind', 'luxXXX': 'illuminance.ST-00096118.obs_st', 'UV': 'uv.ST-00096118.obs_st', 'rain': 'rain_accumulated.ST-00096118.obs_st', 'windBatteryStatus': 'battery.ST-00096118.obs_st', 'radiation': 'solar_radiation.ST-00096118.obs_st', 'lightningXXX': 'distance.ST-00096118.evt_strike', 'lightningYYY': 'energy.ST-00096118.evt_strike'}
2025-12-30T14:38:22.963542-08:00 zbox weewxd.py: weatherflowudp: MainThread: *** Sensor names per packet type
2025-12-30T14:38:22.963630-08:00 zbox weewxd.py: weatherflowudp: MainThread: packet obs_air: ('time_epoch', 'station_pressure', 'air_temperature', 'relative_humidity', 'lightning_strike_count', 'lightning_strike_avg_distance', 'battery', 'report_interval')
2025-12-30T14:38:22.963703-08:00 zbox weewxd.py: weatherflowudp: MainThread: packet obs_sky: ('time_epoch', 'illuminance', 'uv', 'rain_accumulated', 'wind_lull', 'wind_avg', 'wind_gust', 'wind_direction', 'battery', 'report_interval', 'solar_radiation', 'local_day_rain_accumulation', 'precipitation_type', 'wind_sample_interval')
2025-12-30T14:38:22.963784-08:00 zbox weewxd.py: weatherflowudp: MainThread: packet rapid_wind: ('time_epoch', 'wind_speed', 'wind_direction')
2025-12-30T14:38:22.963857-08:00 zbox weewxd.py: weatherflowudp: MainThread: packet evt_precip: time_epoch
2025-12-30T14:38:22.963927-08:00 zbox weewxd.py: weatherflowudp: MainThread: packet evt_strike: ('time_epoch', 'distance', 'energy')
2025-12-30T14:38:22.963996-08:00 zbox weewxd.py: weatherflowudp: MainThread: packet obs_st: ('time_epoch', 'wind_lull', 'wind_avg', 'wind_gust', 'wind_direction', 'wind_sample_interval', 'station_pressure', 'air_temperature', 'relative_humidity', 'illuminance', 'uv', 'solar_radiation', 'rain_accumulated', 'precipitation_type', 'lightning_strike_avg_distance', 'lightning_strike_count', 'battery', 'report_interval')
2025-12-30T14:38:22.964071-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch
2025-12-30T14:38:22.964154-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch
2025-12-30T14:38:22.964243-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.engine.StdConvert
2025-12-30T14:38:22.964328-08:00 zbox weewxd[2836]: INFO weewx.engine: StdConvert target unit is 0x1
2025-12-30T14:38:22.964406-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.engine.StdConvert
2025-12-30T14:38:22.964485-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.engine.StdCalibrate
2025-12-30T14:38:22.964647-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.engine.StdCalibrate
2025-12-30T14:38:22.964735-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.engine.StdQC
2025-12-30T14:38:22.964812-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.engine.StdQC
2025-12-30T14:38:22.964884-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.wxservices.StdWXCalculate
2025-12-30T14:38:22.965617-08:00 zbox weewxd[2836]: INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding
2025-12-30T14:38:22.977983-08:00 zbox weewxd[2836]: DEBUG weewx.manager: Daily summary version is 4.0
2025-12-30T14:38:22.978156-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.wxservices.StdWXCalculate
2025-12-30T14:38:22.978241-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.wxxtypes.StdWXXTypes
2025-12-30T14:38:22.981096-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdWXXTypes
2025-12-30T14:38:22.981263-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.wxxtypes.StdPressureCooker
2025-12-30T14:38:22.981348-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdPressureCooker
2025-12-30T14:38:22.981441-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.wxxtypes.StdRainRater
2025-12-30T14:38:22.981531-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdRainRater
2025-12-30T14:38:22.981618-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.wxxtypes.StdDelta
2025-12-30T14:38:22.981690-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdDelta
2025-12-30T14:38:22.981772-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.engine.StdArchive
2025-12-30T14:38:22.981846-08:00 zbox weewxd[2836]: INFO weewx.engine: Archive will use data binding wx_binding
2025-12-30T14:38:22.981923-08:00 zbox weewxd[2836]: INFO weewx.engine: Record generation will be attempted in 'hardware'
2025-12-30T14:38:22.981999-08:00 zbox weewxd[2836]: INFO weewx.engine: Using archive interval of 300 seconds (specified in weewx configuration)
2025-12-30T14:38:22.982083-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Use LOOP data in hi/low calculations: 1
2025-12-30T14:38:22.982190-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.engine.StdArchive
2025-12-30T14:38:22.982280-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.restx.StdStationRegistry
2025-12-30T14:38:23.030651-08:00 zbox weewxd[2836]: INFO weewx.restx: StationRegistry: Registration not requested.
2025-12-30T14:38:23.030821-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.restx.StdStationRegistry
2025-12-30T14:38:23.030895-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.restx.StdWunderground
2025-12-30T14:38:23.030979-08:00 zbox weewxd[2836]: INFO weewx.restx: Wunderground: Posting not enabled.
2025-12-30T14:38:23.031051-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.restx.StdWunderground
2025-12-30T14:38:23.031138-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.restx.StdPWSweather
2025-12-30T14:38:23.031220-08:00 zbox weewxd[2836]: INFO weewx.restx: PWSweather: Posting not enabled.
2025-12-30T14:38:23.031305-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.restx.StdPWSweather
2025-12-30T14:38:23.031382-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.restx.StdCWOP
2025-12-30T14:38:23.031458-08:00 zbox weewxd[2836]: INFO weewx.restx: CWOP: Posting not enabled.
2025-12-30T14:38:23.031567-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.restx.StdCWOP
2025-12-30T14:38:23.031659-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.restx.StdWOW
2025-12-30T14:38:23.031734-08:00 zbox weewxd[2836]: INFO weewx.restx: WOW: Posting not enabled.
2025-12-30T14:38:23.031814-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.restx.StdWOW
2025-12-30T14:38:23.031893-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.restx.StdWOWBE
2025-12-30T14:38:23.032081-08:00 zbox weewxd[2836]: INFO weewx.restx: WOW-BE: Posting not enabled.
2025-12-30T14:38:23.032183-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.restx.StdWOWBE
2025-12-30T14:38:23.032261-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.restx.StdAWEKAS
2025-12-30T14:38:23.032340-08:00 zbox weewxd[2836]: INFO weewx.restx: AWEKAS: Posting not enabled.
2025-12-30T14:38:23.032420-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.restx.StdAWEKAS
2025-12-30T14:38:23.032486-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.engine.StdPrint
2025-12-30T14:38:23.032610-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.engine.StdPrint
2025-12-30T14:38:23.032688-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Loading service weewx.engine.StdReport
2025-12-30T14:38:23.040918-08:00 zbox weewxd[2836]: INFO weewx.engine: 'pyephem' detected, extended almanac data is available
2025-12-30T14:38:23.041091-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Finished loading service weewx.engine.StdReport
2025-12-30T14:38:23.041188-08:00 zbox weewxd[2836]: INFO __main__: Starting up weewx version 5.2.0
2025-12-30T14:38:23.041264-08:00 zbox weewxd[2836]: DEBUG weewx.engine: Station does not support reading the time
2025-12-30T14:38:23.041335-08:00 zbox weewxd[2836]: INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb'
2025-12-30T14:38:23.041400-08:00 zbox weewxd[2836]: INFO weewx.manager: Starting backfill of daily summaries
2025-12-30T14:38:23.041622-08:00 zbox weewxd[2836]: INFO weewx.manager: Daily summaries up to date
2025-12-30T14:38:23.041725-08:00 zbox weewxd[2836]: INFO weewx.engine: Starting main packet loop.
2025-12-30T14:38:23.041850-08:00 zbox weewxd.py: weatherflowudp: MainThread: Listening for UDP broadcasts to IP address <broadcast> on port 50222, with timeout 90 and share_socket True...
2025-12-30T14:39:53.133079-08:00 zbox weewxd.py: weatherflowudp: MainThread: Socket timeout waiting for incoming UDP packet!
2025-12-30T14:41:23.223363-08:00 zbox weewxd.py: weatherflowudp: MainThread: Socket timeout waiting for incoming UDP packet!
2025-12-30T14:44:23.404484-08:00 zbox weewxd.py: message repeated 2 times: [ weatherflowudp: MainThread: Socket timeout waiting for incoming UDP packet!]
2025-12-30T14:45:53.495435-08:00 zbox weewxd.py: weatherflowudp: MainThread: Socket timeout waiting for incoming UDP packet!
2025-12-30T14:47:23.586235-08:00 zbox weewxd.py: weatherflowudp: MainThread: Socket timeout waiting for incoming UDP packet!
2025-12-30T14:48:53.642050-08:00 zbox weewxd.py: weatherflowudp: MainThread: Socket timeout waiting for incoming UDP packet!
2025-12-30T14:50:23.732630-08:00 zbox weewxd.py: weatherflowudp: MainThread: Socket timeout waiting for incoming UDP packet!
2025-12-30T14:54:53.909909-08:00 zbox weewxd.py: message repeated 3 times: [ weatherflowudp: MainThread: Socket timeout waiting for incoming UDP packet!]
2025-12-30T14:56:23.956156-08:00 zbox weewxd.py: weatherflowudp: MainThread: Socket timeout waiting for incoming UDP packet!

dana....@gmail.com

unread,
Dec 30, 2025, 7:41:49 PM (11 days ago) 12/30/25
to weewx-user
I think I figured it out; I had to open access to port 50222 on the firewall (ufw).  Sigh....

  Dana
Reply all
Reply to author
Forward
0 new messages