Home - weewx/weewx GitHub Wiki

Welcome to the WeeWX wiki!

This is the place to go for information about the many extensions available for WeeWX, as well as random "how to" tips. For information on how to download, install, and configure WeeWX, see the documentation at the WeeWX website.

Edit this page as you see fit; this wiki uses Markdown syntax, not HTML. To add a new page, reference it within brackets, e.g.: [SamplePage].

General

Basic principles

Hardware recommendations

Guides (How to ...)

WeeWX configuration and installation

Operating system configuration

Data management

Troubleshooting

Hardware

Extensions to WeeWX

Use extensions to add capabilities to a WeeWX installation. Drivers enable WeeWX to collect data from various sources, data services collect and emit data, skins contain the templates for generating and publishing reports, XType extensions add new observation and aggregation types, and uploaders (a kind of service) transfer data beyond WeeWX.

Extensions are expected to work with all Python versions supported by WeeWX, currently >= 3.7, or to document exceptions in their README.

Drivers

Drivers typically collect weather data from your hardware.

  • airmar - Collect data from Airmar 150WX
  • ambientweatherapi-json - Collect data from the Ambient Weather API without the need for any additional hardware
  • atmocom - Collect data from Atmocom station
  • aws - Collect data from an Arduino connected to a Davis anemometer
  • BCRobotics - Collect data from a BC Robotics and Pi based PWS
  • byows_rpi - Collect data from the Build Your Own Weather Station - Raspberry Pi
  • cm1 - Collect data from Dyacon CM1 weather station interface
  • columbia_ms - Collect data from Columbia Weather MicroServer supported sensors
  • envoy - Collect data from Enphase Envoy solar controller
  • Gill MetConnect - Collect data from the Gill MetConnect series of devices
  • hackulink - Collect data from AcuLink Internet Bridge via OpenWRT
  • Hp1000 - collect data from HP1000, (WS1001, XC0422 etc.) via WiFi connection
  • id5001 - Collect data from Heathkit ID5001 with serial port option
  • interceptor - Collect data from Acurite Bridge, Fine Offset HP1000/WH2600, OS LW301/LW302, LaCross GW1000U, or any station that sends to WU
  • ip100 - Collect data from RainWise IP100
  • ipwx - Collect data from AcuLink Internet Bridge via Raspberry Pi
  • klimalogg - Collect data from Klimalogg Pro
  • mate - Collect data from Outback MATE3 solar/battery controller
  • maxbotix - Augment station data with data from maxbotix ultrasonic rangefinder
  • meteostick - Collect data from Meteostick
  • ModbusTCP - Collect data from modbus TCP gateway
  • netatmo - Collect data from netatmo
  • nm150 - Collect data from New Mountain NM150
  • owfs - Collect data from one-wire sensors
  • rmyro - Collect data from RM Young ResponseOne (92000 only)
  • rtldavis - Collect data from software-defined radio (SDR) for Davis Vantage stations
  • sdr - Collect data from software-defined radio (SDR) receiver
  • sds011 - Collect data from SDS011 particulate sensor
  • si1000 - Collect data from Si1000 radio receiver (for Davis stations)
  • swb - Collect data from SMA Sunny WebBox
  • tempestWS - Collect data from the Weatherflow Tempest Websocket API
  • tfrc - Collect data from software-defined radio using tfrec
  • tracer - Collect data from Tracer solar charge controllers
  • twi - Collect data from Texas Weather Instruments hardware
  • uradmon - Collect data from a Uradmon Environmental Monitor
  • vedirect - Collect data from Victron MPPT solar/battery controller
  • w820 - Collect data from Ventus W820 bluetooth station
  • wanet - Collect data from Wanet Wario ME11/12 meteo station
  • weatherflowUDP - Collect data from WeatherFlow hardware
  • Davis Console Model 6313 - Fetch Data from Weatherlink.com and has also included the Health data
  • wh23xx - Collect data from Fine Offset WH23xx (Tycon TP2700)
  • wlink - Collect data from weatherlink.com
  • wmII - Collect data from Davis Weather Monitor II, Wizzard, Perception
  • wmr89 - Collect data from the Oregon Scientific WMR89
  • ws6in1 - Collect data WS 6 in 1 weather stations with PC console
  • wxt5x0 - Collect data from Vaisala WXT5x0 stations

Airlink

These are drivers for the Davis AirLink air quality sensor.

  • airlink - Collect data from Davis AirLink air quality sensor
  • airlink forked - Forked driver to collect all the data of all the sensors in the Davis AirLink 7210 and added the ability to disable unnecessary debug logging to stop logs filling up when in production.

Ecowitt

These are drivers for the Ecowitt family of weather stations.

  • ecowittcustom - Collect data from all Ecowitt stations/gateways via the customized function
  • ecowitt_http - Collect data from all Ecowitt gateways/displays which support the http api. Can also import data from SDCard (GW3000, WS6210) or from the Ecowitt Cloud
  • gw1000 - Collect data from Ecowitt GW1000/GW1100/GW2000

MQTT

These are drivers that use the MQTT protocol to injest data into WeeWX.

  • MQTTSubscribe - Collect data from JSON, keyword, or individual topic MQTT messages
  • weewxMQTT - Collect data by subscribing to MQTT topics

ObserverIP

These are drivers for the ObserverIP family of weather stations.

  • observerip - Collect data from ObserverIP (Fine Offset HP1000)
  • socketlogger - Collect data from ObserverIP (Fine Offset HP1000) by intercepting traffic

Weatherlink

The WeeWX community has accumulated a rather large number of drivers for the Davis Weatherlink Live.

Other Services

  • SetProcessName - Set the WeeWX process name to a user-specified value

Data Services

Generally, these augment archive records with data from secondary data sources. (Some entries on this list might be misplaced.)

  • airQ - Retrieve air quality data from Air-Q device of Corant GmbH (PM1.0, PM2.5, PM10.0, TVOC, CO, CO2, O2, O3, NO2, H2S, SO2, noise, health index, performance index)
  • AirVisual - Connect to IQ Air Air Visual API and add AQI data to your WeeWX database.
  • aqi - Calculate Air Quality Index
  • as3935 - Augment station data with lightning strike data from AS3935 attached to RPi
  • bme280wx - Use temp/pressure/humidity data from a BME280 attached to a Raspberry Pi
  • cmon - Monitor CPU, Memory, Disk, and Network on the computer running WeeWX
  • csv - Emit loop or archive data to a file in CSV format
  • davishealthapi - Record and display Davis sensor health telemetry from the online API (signal strength, battery, etc.)
  • DWD - forecast and warnings data for WeeWX and Belchertown skin, augment WeeWX data by readings from governmental weather stations (possible data sources: OpenWeather, DWD Germany, ZAMG Austria, KNMI Netherlands, VAISALA Xweather, and by the Open-Meteo API MeteoFrance, MSC Canada, NOAA U.S.A., ECMWF E.U., MET Norway, JMA Japan), process DWD radar data and create animated GIFs
  • filepile - Add additional types to a WeeWX data stream via a file
  • forecasting - Download, generate, and display forecasts and tides
  • luxtronik - Augment station data with data from Luxtronik heatpump controller
  • Marine Data - Real-time marine data such as tides, ocean temp and waves, for your WeeWX weather station from NOAA's official data sources
  • maxbotix - Augment station data with data from maxbotix ultrasonic rangefinder
  • MQTTSubscribe - Augment station data with JSON, keyword, or individual topic MQTT messages
  • nmea-xdr - Augment data from a source of NMEA 0183 XDR sentences
  • OpenWeather API - Extension to add openweathermap.org API (free version) data to your WeeWX database (current observations and AQI).
  • owfs - Augment station data with data from one-wire sensors
  • photovoltaics - Retrieve live data from E3/DC S10 solar system, save to a database, output to MQTT, and present in skins
  • PiSenseHat - Add measure to loop data from PiSense Hat sensor set
  • PrecipMeter - Receive, process and save data from disdrometers like Ott Parsivel2 or Thies LNM or other devices that send data in ASCII format, includes precipitation intensity and kind (drizzle, rain snow, hail etc.), metorological optical range, radar reflectivity factor, etc.
  • purpleair - Collect data from PurpleAir particulate sensor
  • sds011 - Add pm measure to loop data (forked from SDS011 driver updated for python3)
  • snmp - Retrieve data by SNMP (for sensors that speak SNMP and for monitoring equipment like UPS)
  • SQM - Supports Unihedron SQM-LE Sky Quality Meter for measuring sky brightness at night for astronomers
  • sunduration - Augment station data with sunshine duration - for Davis Vantage Pro 2 with solar radiation sensor
  • tristar - Augment station data with solar controller data from a Tristar Charge Controller
  • weewx-nws - NWS Weather Forecast and Alerts WeeWX Extention
  • NovaSDS011 - Emit near realtime pm2.5 and pm10 particulate matter data and archiving Tested with WeeWX 5.1 and Python 3.11

Skins

These control the "look and feel" of a WeeWX report.

Belchertown

This is a very popular skin that enables data to be sent via MQTT from WeeWX to browsers that have loaded the skin's webpage, so that the view updates in real time.

Hybrid Skin/Uploader

  • SQL - Upload data using SQL for uninterrupted availability of the weather website

XType extensions

XType extensions add new derived observation types and new aggregation types.

  • weewx-aqi-xtype - Calculate the AQI for a given air pollutant value.
  • weewx-xaggs - A grab-bag of new aggregation types, such as the historical highs or lows for a date.
  • weewx-GTS - Provides "Grünlandtemperatursumme" (GTS), a kind of growing degree days, the date, when it exceeds the magic value of 200, the total solar energy received during some arbitrary timespan, dayET and ET24 as opposite to dayRain and rain24, absolute humidity, (saturation) vapor pressure, mixing ratio, (potential) equivalent temperature
  • weewx-phenology - Growing Degree-Days development models for various insect pests, showing when to apply control strategies to minimize crop damage

Search list extensions

These add new tags to text-based reports.

  • lastrain - calculate last rain and time since last rain
  • weewx-climate - Climate-related tags such as "Low High", or "Max rainfall". Data is downloaded from the NOAA ACIS database.

Almanac extensions

While WeeWX includes rudimentary almanac functionality, these extensions provide more advanced features.

Database extensions

Generators

Generators are Python routines that create the elements of a WeeWX report. They can also be used for other tasks.

  • sftp - Upload data using SFTP (not FTPS)
  • weewx-svg2png - Create thumbnail images, weather mini-pics, and webcam images with weather data by converting WeeWX-created SVG files to PNG
  • WXgraphic - Weather Graphic: A php driven generator to create a weather graphic image via your web server
  • wxobs - Provides a php driven report page to extract archival data as Daily Summaries

Uploaders

These are services configured in restful_services, mostly -- but read each extension's docs. This section contains uploaders that regularly send data.

APRS

Automatic Packet Radio System (APRS) is a radio communication protocol for transmitting weather information.

  • weepe - AGWPE APRS packet engine
  • aprs - Generate APRS-compliant weather packets

MQTT

MQTT can be used to send weather data to other devices.

Windy

Uploaders (Alerting)

Architecturally these are uploaders, but the point is to send alerts from weewx rather than regularly upload data.

Miscellaneous

WordPress Extensions

Development notes

Technical information about WeeWX development and testing.

⚠️ **GitHub.com Fallback** ⚠️