WeeWX Version 5.0 Released- Should You Upgrade Now?

WeeWX released version 5 of its Weather Station software. While there were a lot of foundational improvements, as usually indicated by a major version change, there is little here in terms of showstopping features. Which is fine, this is a stable project, showstopping features are not what is expected. But a lot of essential updates and refactoring. A few highlights:

  • Minimum Python version is now 3.6. Considering the previous minimum hit end of life in January of 2020, this is sort of a necessity. Python 3.6 hit end of life at the end of 2021. Python is currently at 3.12, which was released in October of 2023 and will not hit end of life until 2028. But in my experience, if you don’t have a reason to drop support for an older version, is there a reason just because it isn’t supported any longer? It can be a slow gradual process. For me, WeeWX supporting 3.0 meant I didn’t have to install multiple versions of Python.
  • A new utility, weectl, replaces all the individual utilities.
  • Package installs now use systemd…Systemd has been a staple on Linux systems for over a year.
  • Several Enhancements for Derived Types, including a fix to an issue related to an Air Quality Index calculating extension

A worthy update which should improve the performance and stability of your weather tracking system.  While an upgrade is not immediately necessary, it would be worthwhile to update your installation of WeeWX to version 5.0 in the next few months.

Finding the Right Outdoor Air Quality Monitor

In 2023, there were wildfires in Canada which blanketed the Northeastern United States with smoke. This marked a change in what parts of North America had to deal with this problem. This marked an overall increase in interest in air quality sensors.  I had looked into air quality sensors over the last few years, and there are a lot of options for indoor air quality sensors, but not quite so many for outdoor. Will talk a bit more about indoor air quality and how air quality is evaluated in a separate post.

My requirements were not achieved easily by most of the commercial options I explored. After failing to find one I liked, I built my own outdoor air quality sensor. It failed. So I rebuilt it…and it failed again…this time due to condensation somehow getting into the assembly. You can’t fully enclose the sensor because it needs air to flow over it, so there is this risk. So, after wasting two perfectly good sensors, I decided to fall back to something made by someone else as clearly I’m not that level of builder.

Requirements

  • Local access to the data as opposed to having to get data from my own network from a remote API. I feed everything into Weewx, so anything with local data can be fed that way.
  • User replaceable parts
  • More than just a PM2.5 sensor.

 

The Other Options

That initially took me to the Purpleair line of products. Purpleair offers a several sensors plus a community of enthusiasts and their devices can be polled directly. At the time I last looked, they had what they now call the Classic…which did not her user replaceable sensors…being as the PM5003 sensors they use only have a few years of lifespan, it meant replacing the entire unit at that point. Their new Flex and Zen models allow replacement of the sensors without having to replace the whole unit, but you have to get parts from them. And the unit is are just under $300 each.

I looked at Ecowitt as well. Ecowitt sensors are sold under several names in multiple countries. They have 3 air quality sensors, only one is rated for outdoor use, and is battery operated. I tried it, but on battery it has an update time of ten minutes…which created a variety of problems in my receiver missing the update. The indoor ones allow for USB power which increases the frequency of updates.

What I Picked

I explored a few additional choices and finally found something to try. A company in Thaland called AirGradient. AirGradient is an open-source platform with a strong community behind it. They launched their first outdoor design in December of 2022.

Pros

  • They design long lasting air quality monitors that are open source and open hardware…perfect for my philosophy on the matter.
  • The prices are reasonable, and if you don’t like them, you could in theory build it yourself.
  • They provide kits to various organizations.

Cons

  • 1-3 Weeks to Ship, and 2-3 weeks once shipped to most destinations

Their outdoor unit can be purchased as a DIY kit with all the parts or as a preassembled and tested unit. It consists of:

  • Dual PMS5003T air quality sensors. The T variation includes temperature and humidity sensors.
  • Based on an ESP32 C3 chip, which means you can install Esphome…the software platform I used for my homebrew sensors
  • A sensor slot for a third sensor, they offer a TVOC/NOx board for this, an SGP40
  • While the two PMS5003T sensors are for redundancy, one could be replaced by an CO2 sensor which they sell.

The fully assembled version includes either the SGP40 or the SGP40 plus a NDIR CO2 sensor included, as well as full testing of the unit with a report.

So, I’ve ordered one of these kits for $95 with all the parts. If it works, I may order more of their products. But, even if I never order from them again, I can get PMS5003 replacement sensors from a variety of vendors and keep the one I have going indefinitely. But, if it is as advertised, I feel another weeks long order coming on.

Their indoor sensor is equally impressive, and even includes an RGB LED system to act as an air quality ‘traffic light’, but will talk about that in future.

 

Harnessing Weather Data: A Guide to weewx and Its Practical Applications

In an age where access to real-time weather information is at our fingertips, having a personal weather station can provide valuable insights into local weather patterns. weewx, a robust and customizable open-source weather software, empowers weather enthusiasts and hobbyists to set up their weather stations and collect, analyze, and share weather data. In this blog post, we’ll explore what weewx is, its key features, and a step-by-step guide on how to use it for your own personal weather tracking.

What is weewx?

weewx is a free, open-source software that interfaces with various weather stations to collect and store data. Developed in Python, weewx is designed to be highly extensible, allowing users to tailor their weather station setup according to their specific needs. It supports a wide range of weather station hardware, making it a versatile choice for weather enthusiasts with diverse equipment.

Key Features of weewx:

1. Data Collection:

weewx collects data from your weather station, including temperature, humidity, wind speed, and direction, among other variables. It interfaces seamlessly with popular weather station models, ensuring compatibility for a wide user base.

2. Data Storage:

The software stores collected data in a database, allowing users to maintain a historical record of weather conditions. This can be valuable for trend analysis, seasonal comparisons, and understanding long-term weather patterns.

3. Web Interface:

weewx comes with a built-in web interface that provides a user-friendly dashboard for viewing real-time and historical weather data. This interface can be accessed locally or remotely, depending on your setup.

4. Customizable:

One of the strengths of weewx is its customizability. Users can extend its functionality by adding plugins and tailor the software to their specific requirements. This flexibility makes weewx suitable for both beginners and advanced users.

How to Use weewx:

Step 1: Choose Your Weather Station Hardware

Before setting up weewx, ensure compatibility with your weather station hardware. The weewx community maintains a list of supported devices, ensuring you find the right match for your setup.

Step 2: Install weewx

Follow the installation instructions provided on the weewx website (https://www.weewx.com/). The installation process is well-documented, and there are different installation options available, including package installations for various operating systems.

Step 3: Configure weewx

Once installed, configure weewx by editing the configuration file to match your weather station model and personal preferences. This step involves specifying data retrieval intervals, units of measurement, and other settings.

Step 4: Start weewx

Launch weewx to begin collecting data from your weather station. The software will start recording weather information based on your configured settings.

Step 5: Explore the Web Interface

Access the weewx web interface through your web browser to view real-time and historical weather data. Customize the interface based on your preferences, and explore the various features provided.

Practical Applications of weewx:

1. Home Weather Monitoring:

Monitor and record weather conditions at your location, gaining insights into local microclimates and patterns.

2. Agriculture and Gardening:

Use weewx data to optimize watering schedules, assess frost risk, and make informed decisions for gardening and agriculture.

3. Education:

weewx can be a valuable tool for educational purposes, allowing students to learn about meteorology and data analysis through hands-on experience.

4. Community Weather Networks:

Contribute to community weather networks by sharing your weewx data with online platforms that aggregate weather information from multiple sources.

Conclusion:

weewx opens the door to a world of weather tracking possibilities, whether you’re a casual weather enthusiast or a dedicated hobbyist. By following the steps outlined in this guide, you can set up your personal weather station, start collecting data, and gain valuable insights into the atmospheric conditions in your area. Embrace the power of weewx and take your weather tracking experience to new heights!

The Power of Weewx

There are a lot of different ways to store and use weather data. For my station, I wanted something that had a lot of built-in features and extensibility. I ended up with WeeWx, which is a well-supported python based project. They are currently in beta for Version 4.0.

WeeWx supports multiple sources for inputs, uploads to a variety of sites, and has extensions to add additional functionality. It generates reports that can be deployed by ftp or rsync to a remote website, or  as I do, you can host it on the computer running the software. WeeWx is lightweight enough you could host it on a Raspberry Pi. I do this for one of my weather stations. With the other, I’m hosting on the same computer that handles my Home Automation.

With something like a Pi, the biggest concern is frequent writes to the database. So if you are using a Pi, I suggest you use a database hosted elsewhere and transfer the reports to another computer, or you may wear out your microSD card. I will have to talk about my Pi issues another time, but the weak point on a Pi is the microSD card.

Installing WeeWx is simple as installing any other Linux package. Then, in order to receive data from 433MHz SDR(software defined radio) devices, the easiest way is to get an RTL-SDR USB dongle and add the extension, WeeWx-SDR. This requires a little compiling of various drivers to allow receipt of signals from a variety of different devices. It takes some trial and error to map the sensors to the right values in WeeWx though.This is just a matter of running an application and noting the output. However, once you do this, it stays stable…unless you change hardware. I am also using the Acurite Atlas, which is not in the stable version of RTL_433, the library that translates the 433MHz signals, but you can install the development branch.

I also supplement that data by running another extension, weewxMQTT, which I use to send in sensors that are not coming in via 433MHz. This is how I added a barometer, as I couldn’t find a 433MHz one. There is a robust set of examples from hobbyists of creatng MQTT enabled sensors using inexpensive wifi enabled boards like the NodeMCU or the D1 Mini.

After WeeWx is installed, and the drivers for the various sensors are added, the system will generate reports. The default skin, which is the template for the output, is probably sufficient for most people, but it can be customized, and alternate ones found online.

WeeWx also has built-in and extensible uploaders to send the data to various sources. I contribute to every source that will let me. Why discriminate?

Next, will cover some of the customizations I’ve put in.