No data from Tempest via weewx WeatherFlowUDP

160 views
Skip to first unread message

ABZ

unread,
Jun 15, 2025, 11:48:58 AM6/15/25
to weewx-user
# No data from Tempest via weewx WeatherFlowUDP

System info
  Platform:       Linux-6.12.25+rpt-rpi-v8-aarch64-with-glibc2.36
  Python Version: 3.11.2

General Weewx info
  Weewx version 5.1.0 detected.

Currently installed extensions
Extension Name    Version   Description
exfoliation       0.45      A minimalist layout with lots of data.
forecast          3.5       Generate and display weather and tide forecasts.
weatherflowudp    1.10.2    Capture data from WeatherFlow Bridge via UDP broadcast packets

I would appreciate any advice on how to transmit weather data from a new Tempest weather station using weewx. Although I've used weewx in the past, this is my first experience with Tempest.

I have a fresh installation of bookworm on a Raspberry Pi 3.

I followed the instructions at https://github.com/vinceskahan/weatherflow-udp.

As you can see in the attached log, weewx is running. It produces reports and rsyncs with my website, but no data appear either locally on the Rpi or on the web even though the tempestwx site is working (as is the iPhone app).

As you can see in this snippet, the base module is broadcasting UDP packets, they just don't seem to get transmited by weewx.

Jun 15 08:44:47 cmpweewx weewxd.py[12636]: weatherflowudp: MainThread: Listening for UDP broadcasts to IP address 255.255.255.255 on port 50222, with timeout 90 and share_socket False...
Jun 15 08:44:47 cmpweewx weewxd[12636]: DEBUG weewx.manager: Daily summary version is 4.0
Jun 15 08:44:47 cmpweewx weewxd[12636]: DEBUG weewx.manager: Daily summary version is 4.0
Jun 15 08:44:47 cmpweewx weewxd[12636]: DEBUG weewx.manager: Daily summary version is 4.0
Jun 15 08:44:47 cmpweewx weewxd[12636]: DEBUG weewx.manager: Daily summary version is 4.0
Jun 15 08:44:47 cmpweewx weewxd.py[12636]: weatherflowudp: MainThread: raw packet: {'serial_number': 'HB-########', 'type': 'hub_status', 'firmware_revision': '309', 'uptime': 78770, 'rssi': -9, 'timestamp': 1749991487, 'reset_flags': 'POR', 'seq': 4118, 'radio_stats': [28, 1, 0, 2, 32672], 'mqtt_stats': [1, 0], 'freq': 902000000, 'hw_version': 2, 'hardware_id': 0}
Jun 15 08:44:58 cmpweewx weewxd.py[12636]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-########', 'type': 'rapid_wind', 'hub_sn': 'HB-########', 'ob': [1749991498, 0.0, 0]}
Jun 15 08:44:58 cmpweewx weewxd.py[12636]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-########', 'type': 'rapid_wind', 'hub_sn': 'HB-########', 'ob': [1749991498, 0.0, 0]}
Jun 15 08:44:58 cmpweewx weewxd[12636]: INFO weewx.restx: Wunderground-RF: Published record 2025-06-15 08:44:58 EDT (1749991498)
Jun 15 08:44:58 cmpweewx weewxd[12636]: INFO weewx.restx: Wunderground-RF: Published record 2025-06-15 08:44:58 EDT (1749991498)
Jun 15 08:45:07 cmpweewx weewxd.py[12636]: weatherflowudp: MainThread: raw packet: {'serial_number': 'HB-########', 'type': 'hub_status', 'firmware_revision': '309', 'uptime': 78790, 'rssi': -8, 'timestamp': 1749991507, 'reset_flags': 'POR', 'seq': 4119, 'radio_stats': [28, 1, 0, 2, 32672], 'mqtt_stats': [1, 0], 'freq': 902000000, 'hw_version': 2, 'hardware_id': 0}
Jun 15 08:45:07 cmpweewx weewxd.py[12636]: weatherflowudp: MainThread: raw packet: {'serial_number': 'HB-########', 'type': 'hub_status', 'firmware_revision': '309', 'uptime': 78790, 'rssi': -8, 'timestamp': 1749991507, 'reset_flags': 'POR', 'seq': 4119, 'radio_stats': [28, 1, 0, 2, 32672], 'mqtt_stats': [1, 0], 'freq': 902000000, 'hw_version': 2, 'hardware_id': 0}
Jun 15 08:45:13 cmpweewx weewxd.py[12636]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-########', 'type': 'rapid_wind', 'hub_sn': 'HB-########', 'ob': [1749991513, 0.0, 0]}
Jun 15 08:45:13 cmpweewx weewxd.py[12636]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-########', 'type': 'rapid_wind', 'hub_sn': 'HB-########', 'ob': [1749991513, 0.0, 0]}

Here's the driver and sensor_map configuration from weewx.conf:


[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 = False

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

I verified that the ST-####### corresponds to the ST number (including the preceding zeros) reported by the app.

vince

unread,
Jun 15, 2025, 3:13:00 PM6/15/25
to weewx-user
This is almost always a typo. Repost without obfuscating the ST-nnnnn number, as it is not a security risk at all.

Also include a couple archive periods worth of logfile please.

ABZ

unread,
Jun 16, 2025, 7:20:13 AM6/16/25
to weewx-user
Hope this helps:

[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 = False
   
    [[sensor_map]]
        outTemp = air_temperature.ST-00181597.obs_air
        outHumidity = relative_humidity.ST-00181597.obs_air
        pressure = station_pressure.ST-00181597.obs_air
        #lightning_strikes =  lightning_strike_count.ST-00181597.obs_air
        #avg_distance =  lightning_strike_avg_distance.ST-00181597.obs_air
        outTempBatteryStatus = battery.ST-00181597.obs_air
        windSpeed = wind_speed.ST-00181597.rapid_wind
        windDir = wind_direction.ST-00181597.rapid_wind
        #lux = illuminance.ST-00181597.obs_sky
        UV = uv.ST-00181597.obs_sky
        rain = rain_accumulated.ST-00181597.obs_sky
        windBatteryStatus = battery.ST-00181597.obs_sky
        radiation = solar_radiation.ST-00181597.obs_sky
#lightningYYY = distance.ST-00181597.evt_strike
#lightningZZZ = energy.ST-00181597.evt_strike

Jun 16 07:01:19 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'obs_st', 'hub_sn': 'HB-00181991', 'obs': [[1750071678, 0.0, 0.0, 0.0, 0, 15, 1018.6, 17.25, 91.89, 234, 0.0, 2, 0.0, 0, 0, 0, 2.564, 1]], 'firmware_revision': 179}
Jun 16 07:01:18 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'device_status', 'hub_sn': 'HB-00181991', 'timestamp': 1750071678, 'uptime': 158975, 'voltage': 2.564, 'firmware_revision': 179, 'rssi': -56, 'hub_rssi': -62, 'sensor_status': 665600, 'debug': 1}
Jun 16 07:01:18 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'device_status', 'hub_sn': 'HB-00181991', 'timestamp': 1750071678, 'uptime': 158975, 'voltage': 2.564, 'firmware_revision': 179, 'rssi': -56, 'hub_rssi': -62, 'sensor_status': 665600, 'debug': 1}
Jun 16 07:01:07 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'HB-00181991', 'type': 'hub_status', 'firmware_revision': '309', 'uptime': 158950, 'rssi': -7, 'timestamp': 1750071667, 'reset_flags': 'POR', 'seq': 8127, 'radio_stats': [28, 1, 0, 2, 32672], 'mqtt_stats': [1, 0], 'freq': 902000000, 'hw_version': 2, 'hardware_id': 0}
Jun 16 07:01:07 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'HB-00181991', 'type': 'hub_status', 'firmware_revision': '309', 'uptime': 158950, 'rssi': -7, 'timestamp': 1750071667, 'reset_flags': 'POR', 'seq': 8127, 'radio_stats': [28, 1, 0, 2, 32672], 'mqtt_stats': [1, 0], 'freq': 902000000, 'hw_version': 2, 'hardware_id': 0}
Jun 16 07:01:06 cmpweewx weewxd[15897]: INFO weewx.restx: Wunderground-RF: Published record 2025-06-16 07:01:05 EDT (1750071665)
Jun 16 07:01:06 cmpweewx weewxd[15897]: INFO weewx.restx: Wunderground-RF: Published record 2025-06-16 07:01:05 EDT (1750071665)
Jun 16 07:01:05 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'rapid_wind', 'hub_sn': 'HB-00181991', 'ob': [1750071665, 0.0, 0]}
Jun 16 07:01:05 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'rapid_wind', 'hub_sn': 'HB-00181991', 'ob': [1750071665, 0.0, 0]}
Jun 16 07:00:51 cmpweewx weewxd[15897]: INFO weewx.restx: Wunderground-RF: Published record 2025-06-16 07:00:50 EDT (1750071650)
Jun 16 07:00:50 cmpweewx weewxd[15897]: INFO weewx.restx: Wunderground-RF: Published record 2025-06-16 07:00:50 EDT (1750071650)
Jun 16 07:00:50 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'rapid_wind', 'hub_sn': 'HB-00181991', 'ob': [1750071650, 0.0, 0]}
Jun 16 07:00:50 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'rapid_wind', 'hub_sn': 'HB-00181991', 'ob': [1750071650, 0.0, 0]}
Jun 16 07:00:48 cmpweewx weewxd[15897]: ERROR weewx.restx: StationRegistry: Failed to publish record 2025-06-16 07:00:00 EDT (1750071600): HTTP Error 429: TOO MANY REQUESTS
Jun 16 07:00:48 cmpweewx weewxd[15897]: DEBUG weewx.restx: StationRegistry: Posting too frequently: HTTP Error 429: TOO MANY REQUESTS
Jun 16 07:00:47 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'HB-00181991', 'type': 'hub_status', 'firmware_revision': '309', 'uptime': 158930, 'rssi': -7, 'timestamp': 1750071647, 'reset_flags': 'POR', 'seq': 8126, 'radio_stats': [28, 1, 0, 2, 32672], 'mqtt_stats': [1, 0], 'freq': 902000000, 'hw_version': 2, 'hardware_id': 0}
Jun 16 07:00:47 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'HB-00181991', 'type': 'hub_status', 'firmware_revision': '309', 'uptime': 158930, 'rssi': -7, 'timestamp': 1750071647, 'reset_flags': 'POR', 'seq': 8126, 'radio_stats': [28, 1, 0, 2, 32672], 'mqtt_stats': [1, 0], 'freq': 902000000, 'hw_version': 2, 'hardware_id': 0}
Jun 16 07:00:40 cmpweewx weewxd[15897]: INFO weewx.restx: CWOP: Published record 2025-06-16 07:00:00 EDT (1750071600)
Jun 16 07:00:36 cmpweewx weewxd[15897]: INFO weewx.restx: Wunderground-RF: Published record 2025-06-16 07:00:35 EDT (1750071635)
Jun 16 07:00:36 cmpweewx weewxd[15897]: INFO weewx.restx: Wunderground-RF: Published record 2025-06-16 07:00:35 EDT (1750071635)
Jun 16 07:00:35 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'rapid_wind', 'hub_sn': 'HB-00181991', 'ob': [1750071635, 0.0, 0]}
Jun 16 07:00:35 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'rapid_wind', 'hub_sn': 'HB-00181991', 'ob': [1750071635, 0.0, 0]}
Jun 16 07:00:32 cmpweewx weewxd[15897]: INFO weeutil.rsyncupload: rsync'd 59 files (276,358 bytes) in 2.34 seconds
Jun 16 07:00:30 cmpweewx weewxd[15897]: DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync', '--archive', '--stats', '-e', 'ssh', '/var/www/html/weewx/', 'wx:/var/www/wx/html']]
Jun 16 07:00:30 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Running generators for report 'RSYNC' in directory '/etc/weewx/skins/Rsync' with locale 'en_GB.UTF-8'
Jun 16 07:00:30 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Rsync/skin.conf for report 'RSYNC'
Jun 16 07:00:30 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Running report 'RSYNC'
Jun 16 07:00:30 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Report 'FTP' not enabled. Skipping.
Jun 16 07:00:30 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Report 'forecast' not enabled. Skipping.
Jun 16 07:00:30 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Report 'exfoliation' not enabled. Skipping.
Jun 16 07:00:30 cmpweewx weewxd[15897]: INFO weewx.reportengine: Copied 13 files to /var/www/html/weewx
Jun 16 07:00:30 cmpweewx weewxd[15897]: INFO weewx.imagegenerator: Generated 24 images for report StandardReport in 1.77 seconds
Jun 16 07:00:28 cmpweewx weewxd[15897]: DEBUG weewx.manager: Daily summary version is 4.0
Jun 16 07:00:28 cmpweewx weewxd[15897]: INFO weewx.cheetahgenerator: Generated 13 files for report StandardReport in 3.44 seconds
Jun 16 07:00:27 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'HB-00181991', 'type': 'hub_status', 'firmware_revision': '309', 'uptime': 158910, 'rssi': -7, 'timestamp': 1750071627, 'reset_flags': 'POR', 'seq': 8125, 'radio_stats': [28, 1, 0, 2, 32672], 'mqtt_stats': [1, 0], 'freq': 902000000, 'hw_version': 2, 'hardware_id': 0}
Jun 16 07:00:24 cmpweewx weewxd[15897]: DEBUG weewx.manager: Daily summary version is 4.0
Jun 16 07:00:24 cmpweewx weewxd[15897]: DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.DisplayOptions', 'weewx.cheetahgenerator.Extras', 'weewx.cheetahgenerator.Gettext', 'weewx.cheetahgenerator.JSONHelpers', 'weewx.cheetahgenerator.PlotInfo', 'weewx.cheetahgenerator.SkinInfo', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo']
Jun 16 07:00:24 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Running generators for report 'StandardReport' in directory '/etc/weewx/skins/Standard' with locale 'en_GB.UTF-8'
Jun 16 07:00:24 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Standard/skin.conf for report 'StandardReport'
Jun 16 07:00:24 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Running report 'StandardReport'
Jun 16 07:00:24 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Report 'MobileReport' not enabled. Skipping.
Jun 16 07:00:24 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Report 'SmartphoneReport' not enabled. Skipping.
Jun 16 07:00:24 cmpweewx weewxd[15897]: INFO weewx.reportengine: Copied 5 files to /var/www/html/weewx
Jun 16 07:00:24 cmpweewx weewxd[15897]: INFO weewx.imagegenerator: Generated 6 images for report SeasonsReport in 1.05 seconds
Jun 16 07:00:23 cmpweewx weewxd[15897]: DEBUG weewx.manager: Daily summary version is 4.0
Jun 16 07:00:23 cmpweewx weewxd[15897]: INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 2.50 seconds
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG user.forecast: WUThread: WU: terminating thread
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO user.forecast: WUThread: WU: deleted forecasts prior to 1749466821
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG user.forecast: WUThread: WU: deleting forecasts prior to 1749466821
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO user.forecast: WUThread: WU: saved 12 forecast records
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:21 EDT (1750071621) to database 'forecast.sdb'
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG user.forecast: WUThread: WU: saving 12 forecast records
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.restx: PWSWeather: Published record 2025-06-16 07:00:00 EDT (1750071600)
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO user.forecast: WUThread: WU: got 12 forecast records
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.restx: AWEKAS: Published record 2025-06-16 07:00:00 EDT (1750071600)
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG weewx.restx: CWOP: Connected to server cwop.aprs.net:14580
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO weewx.restx: Wunderground-RF: Published record 2025-06-16 07:00:20 EDT (1750071620)
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG weewx.manager: Daily summary version is 4.0
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG user.forecast: ZambrettiThread: Zambretti: terminating thread
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG user.forecast: ZambrettiThread: Zambretti: code is None
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG user.forecast: ZambrettiThread: Zambretti: pressure=None month=5 winddir=None trend=None north=True
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG user.forecast: ZambrettiThread: Zambretti: units=1 winddir=None pressure=None first_p=None last_p=None
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG weewx.manager: Daily summary version is 4.0
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.DisplayOptions', 'weewx.cheetahgenerator.Extras', 'weewx.cheetahgenerator.Gettext', 'weewx.cheetahgenerator.JSONHelpers', 'weewx.cheetahgenerator.PlotInfo', 'weewx.cheetahgenerator.SkinInfo', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo']
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG user.forecast: XTideThread: XTide: terminating thread
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Running generators for report 'SeasonsReport' in directory '/etc/weewx/skins/Seasons' with locale 'en_GB.UTF-8'
Jun 16 07:00:21 cmpweewx weewxd[15897]: INFO user.forecast: XTideThread: XTide: got no tidal events
Jun 16 07:00:21 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Seasons/skin.conf for report 'SeasonsReport'
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG weewx.restx: StationRegistry: Delaying post by 27 seconds
Jun 16 07:00:20 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: Listening for UDP broadcasts to IP address 255.255.255.255 on port 50222, with timeout 90 and share_socket False...
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Running report 'SeasonsReport'
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG weewx.reportengine: Running reports for latest time in the database.
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG user.forecast: XTideThread: XTide: running command '/usr/bin/tide -fc -df'%Y.%m.%d' -tf'%H:%M' -l'Cape May Point' -b'2025-06-16 00:00' -e'2025-07-14 00:00''
Jun 16 07:00:20 cmpweewx weewxd[15897]: INFO user.forecast: XTideThread: XTide: generating tides from 2025-06-16 00:00:00 EDT (1750046400) to 2025-07-14 00:00:00 EDT (1752465600)
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG user.forecast: MainThread: XTide: starting thread
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG user.forecast: MainThread: OWM: not yet time to do the forecast
Jun 16 07:00:20 cmpweewx weewxd[15897]: INFO user.forecast: WUThread: WU: download forecast from 'https://api.weather.com//v3/wx/forecast/daily/5day?geocode=38.9345,-74.9647&format=json&units=e&language=en-US&apiKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXX5431'
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG user.forecast: ZambrettiThread: Zambretti: using pressure from 2025-06-15 06:00:00 EDT (1749981600) to 2025-06-15 09:00:00 EDT (1749992400)
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG user.forecast: MainThread: WU: starting thread
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG user.forecast: ZambrettiThread: Zambretti: using winddir from 2025-06-15 08:30:00 EDT (1749990600) to 2025-06-15 09:00:00 EDT (1749992400)
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG user.forecast: MainThread: NWS: not yet time to do the forecast
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG user.forecast: ZambrettiThread: Zambretti: generating forecast for 2025-06-15 09:00:00 EDT (1749992400)
Jun 16 07:00:20 cmpweewx weewxd[15897]: DEBUG user.forecast: MainThread: Zambretti: starting thread
Jun 16 07:00:20 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:00 EDT (1750071600) to daily summary in 'weewx.sdb'
Jun 16 07:00:20 cmpweewx weewxd[15897]: INFO weewx.manager: Added record 2025-06-16 07:00:00 EDT (1750071600) to database 'weewx.sdb'
Jun 16 07:00:20 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'rapid_wind', 'hub_sn': 'HB-00181991', 'ob': [1750071620, 0.0, 0]}
Jun 16 07:00:19 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'obs_st', 'hub_sn': 'HB-00181991', 'obs': [[1750071618, 0.0, 0.0, 0.0, 0, 15, 1018.62, 17.25, 91.95, 239, 0.0, 2, 0.0, 0, 0, 0, 2.564, 1]], 'firmware_revision': 179}
Jun 16 07:00:19 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'obs_st', 'hub_sn': 'HB-00181991', 'obs': [[1750071618, 0.0, 0.0, 0.0, 0, 15, 1018.62, 17.25, 91.95, 239, 0.0, 2, 0.0, 0, 0, 0, 2.564, 1]], 'firmware_revision': 179}
Jun 16 07:00:18 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'device_status', 'hub_sn': 'HB-00181991', 'timestamp': 1750071618, 'uptime': 158915, 'voltage': 2.564, 'firmware_revision': 179, 'rssi': -56, 'hub_rssi': -61, 'sensor_status': 665600, 'debug': 1}
Jun 16 07:00:18 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'ST-00181597', 'type': 'device_status', 'hub_sn': 'HB-00181991', 'timestamp': 1750071618, 'uptime': 158915, 'voltage': 2.564, 'firmware_revision': 179, 'rssi': -56, 'hub_rssi': -61, 'sensor_status': 665600, 'debug': 1}
Jun 16 07:00:07 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'HB-00181991', 'type': 'hub_status', 'firmware_revision': '309', 'uptime': 158890, 'rssi': -7, 'timestamp': 1750071607, 'reset_flags': 'POR', 'seq': 8124, 'radio_stats': [28, 1, 0, 2, 32672], 'mqtt_stats': [1, 0], 'freq': 902000000, 'hw_version': 2, 'hardware_id': 0}
Jun 16 07:00:07 cmpweewx weewxd.py[15897]: weatherflowudp: MainThread: raw packet: {'serial_number': 'HB-00181991', 'type': 'hub_status', 'firmware_revision': '309', 'uptime': 158890, 'rssi': -7, 'timestamp': 1750071607, 'reset_flags': 'POR', 'seq': 8124, 'radio_stats': [28, 1, 0, 2, 32672], 'mqtt_stats': [1, 0], 'freq': 902000000, 'hw_version': 2, 'hardware_id': 0}

AZ

unread,
Jun 16, 2025, 8:14:04 AM6/16/25
to weewx-user
Hope this helps:

[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 = False
   
    [[sensor_map]]

vince

unread,
Jun 16, 2025, 3:01:36 PM6/16/25
to weewx-user
You defined things as obs_air when you have a tempest.  It should be obs_st everywhere.  Typo :-)

Your gear looks ok other than your battery voltage is low and it's only measuring rapid_wind every 15 secs.  Normal is 3 secs.  Otherwise you're ok.

Chuck Hast

unread,
Jun 16, 2025, 3:09:19 PM6/16/25
to weewx...@googlegroups.com
You can use wireshark to look at the udp frames and see exactly what the previous folks have pointed out.
The frames will have the data in that format, your settings just need to match them. 

I have two Tempest online. One at my home, the other at a comms site. We want to add more. 

--
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 visit https://groups.google.com/d/msgid/weewx-user/04c2d24b-665b-4de5-be68-45e4b1b800cdn%40googlegroups.com.


--

Chuck -- KP4DJT
AREDN Meshphone # 405.2005 and 405.2013
HamHotline # 11259
DMR ID 3140958

vince

unread,
Jun 16, 2025, 3:13:27 PM6/16/25
to weewx-user
Run my wfudptools listener and do it the easy way.  Available via pip.

(you need share_socket=True in weewx settings if you run them both simultaneously)

Chuck Hast

unread,
Jun 16, 2025, 3:30:43 PM6/16/25
to weewx...@googlegroups.com
Where do I get it??

--
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.

weather list

unread,
Jun 16, 2025, 3:51:13 PM6/16/25
to weewx...@googlegroups.com

vince

unread,
Jun 16, 2025, 3:53:24 PM6/16/25
to weewx-user
Or ‘pip3 install wfudptools’

Chuck Hast

unread,
Jun 16, 2025, 5:04:25 PM6/16/25
to weewx...@googlegroups.com
Got it. Going to install it.


michael.k...@gmx.at

unread,
Jun 17, 2025, 4:26:49 AM6/17/25
to weewx-user
AFAIK they changed the LTO battery manufacturer some time ago when they had issues with batteries. So if the battery is an issue, it's not that hard to exchange and it's a standard size, i think 18650.

ABZ

unread,
Jun 17, 2025, 8:14:29 AM6/17/25
to weewx-user
Vince: Many thanks for the correction. Everything is up and running.

Regrettably, bookworm on my Raspberry Pi 3 chokes when I try to install wfudptools. I'll need to do some research about how to install it.
Reply all
Reply to author
Forward
0 new messages