My Weather Station

I run a small weather station at home.

A sunny day over a quiet neighborhood, with a weather station mounted on a stand on a balcony. Pink roses bloom in the foreground, with houses and gardens visible in the background.

Mounting

  • Mounting requires a pole with a diameter of 25–33 mm.
  • Four AA batteries (or rechargeable batteries), which need replacing approximately every 6–9 months.

Setup

The weather station transmits its readings several times every few minutes over 433 MHz.
In my basement, I installed a DVB-T stick on a small computer.
A small LXC container with USB devices passed through receives the signal via the antenna and decodes it using rtl_433.

The data is then published to a small Mosquitto server via MQTT.
Node-RED, also running in an LXC container, listens on the MQTT topic, receives the data, and writes it to my Postgres database.

I then publish the data via an API and visualize it in Grafana and Home Assistant.

The diagram shows weather data collection through a DVB-T receiver, an MQTT server, Node-RED, and Postgres.

Software

rtl_433 identifies the weather station as a Cotech 36-7959.
The chip is used in many weather stations.

C code that decodes the data: https://github.com/merbanan/rtl_433/blob/master/src/devices/cotech_36_7959.c

Analysis

In Grafana, it looks like this, for example:

The current temperature is 3.6 °C, with a maximum of 13.3 °C and a minimum of 3.6 °C. Humidity fluctuates between 65% and almost 100% during the day, wind speed is shown in km/h, and rainfall is currently 0 mm.

Further Reading