North Devon Tech Club

Recording and Analysis of Home Weather Station Data

0 views, 2 replies

▲ 0
5 months ago

From Mike Wogden on the mailing list, 16 May 2026 10:58 UTC

I have a wireless weather station in my garden that send temp, wind speed and direction along with rainfall to a display via wireless using 433 MHz. I can use a RTL dongle connected to my PC , windows or Linux to view the data, along with other sensors in my area such as car tyre pressures.

I want to build a system that takes the data and records it in a web portal for instant readings along with history data. I have a spare Raspberry Pi 4 that can do most of the heavy lifting.

Adding my requirements into Claude AI. I get the following response:

Great project! Here's a full breakdown of how to set this up.

*System Overview*

*Stack:* RTL-SDR → rtl_433 → MQTT → InfluxDB → Grafana (web portal)

This is the most reliable, battle-tested pipeline for exactly this use case.

*What You Need*

*Hardware you have:*

* Raspberry Pi 4
* RTL-SDR dongle
* Wireless weather station (transmitting on 433MHz or 868MHz)

*Software to install (all free):*

* rtl_433 — decodes the radio signals
* Mosquitto — MQTT broker (message bus)
* InfluxDB — time-series database for storing readings
* Grafana — beautiful web dashboard with history

*Step-by-Step Setup*

*1. Install RTL-SDR drivers & rtl_433*

bash

sudo apt update && sudo apt upgrade -y

sudo apt install -y rtl-sdr librtlsdr-dev cmake git build-essential

# Install rtl_433

git clone https://github.com/merbanan/rtl_433.git

cd rtl_433

mkdir build && cd build

cmake ..

make -j4

sudo make install

*Test your dongle and find your station:*

bash

rtl_433 -A # auto-detect, shows all received signals

Let it run for a minute — your weather station should appear with its model name.

*2. Install Mosquitto (MQTT broker)*

bash

sudo apt install -y mosquitto mosquitto-clients

sudo systemctl enable mosquitto

sudo systemctl start mosquitto

*3. Install InfluxDB 2.x*

bash

curl https://repos.influxdata.com/influxdata-archive.key | sudo apt-key add -

echo "deb https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdata.list

sudo apt update && sudo apt install influxdb2

sudo systemctl enable influxdb

sudo systemctl start influxdb

Then set it up via browser at http://<pi-ip>:8086 — create an org, bucket called weather, and generate an API token.

*4. Bridge rtl_433 → MQTT → InfluxDB*

*Run rtl_433 publishing to MQTT:*

bash

rtl_433 -F "mqtt://localhost:1883,retain=0,devices=rtl433/devices[/model][/id]"

*Install Telegraf* to forward MQTT → InfluxDB:

bash

sudo apt install telegraf

Edit /etc/telegraf/telegraf.conf:

toml

[[inputs.mqtt_consumer]]

servers = ["tcp://localhost:1883"]

topics = ["rtl433/devices/#"]

data_format = "json"

[[outputs.influxdb_v2]]

urls = ["http://localhost:8086"]

token = "YOUR_INFLUXDB_TOKEN"

organization = "YOUR_ORG"

bucket = "weather"

bash

sudo systemctl enable telegraf

sudo systemctl start telegraf

*5. Install Grafana (Web Portal)*

bash

sudo apt install -y apt-transport-https software-properties-common

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

sudo apt update && sudo apt install grafana

sudo systemctl enable grafana-server

sudo systemctl start grafana-server

Access at http://<pi-ip>:3000 (default login: admin/admin)

* Add InfluxDB as a data source
* Create dashboards for temperature, humidity, pressure, wind, rain
* Grafana handles *live data + full history* out of the box

*6. Auto-start rtl_433 as a service*

Create /etc/systemd/system/rtl433.service:

ini

[Unit]

Description=RTL433 to MQTT

After=mosquitto.service

[Service]

ExecStart=/usr/local/bin/rtl_433 -F "mqtt://localhost:1883,retain=0,devices=rtl433/devices[/model][/id]"

Restart=always

User=pi

[Install]

WantedBy=multi-user.target

bash

sudo systemctl enable rtl433

sudo systemctl start rtl433

*Architecture Summary*

Weather Station (433MHz)

↓ RF signal

RTL-SDR Dongle

↓

rtl_433

↓ JSON over MQTT

Mosquitto broker

↓

Telegraf

↓ line protocol

InfluxDB 2

↓ query

Grafana

↓ browser

Your Web Portal 🌐

*Tips*

* *Find your station's frequency:* Run rtl_433 -A and look for the model — most consumer weather stations use 433.92MHz
* *Multiple sensors:* rtl_433 auto-detects them all; filter by device ID in Grafana
* *Remote access:* Install Nginx as a reverse proxy so you can access Grafana from outside your network
* *Grafana alerts:* Set up notifications (email/Telegram) if temperature goes below freezing, etc.

Want me to generate a specific Grafana dashboard config, a Nginx reverse proxy setup, or a custom Python script for any part of this pipeline?

------------------------------------------------

I’m happy creating the PI with an OS and installing RTL-433 and able to display the data using the terminal.

I lose my way with reference to Mosquitto, InfluxDB, Telegraf and Grafana

Has anyone done a similar thing that can provide me some guidance or point towards further study material that could help me understand.

Other AI engines propose usinh Home Assistance but again this is an unknown area for me.

I hope someone can halp.

73 Mike G4KXQ

Content by MailingList, posted before the current terms

▲ 0
5 months ago

From Patrick Lidstone on the mailing list, 16 May 2026 11:19 UTC

Grafana is a solid proposition, your AI is on the right track. If you can
give a few more details about where it is you are getting stuck, I'm sure
we can help.

Home assistant probably isn't what you are looking for in this instance,
and if you want to add it in to the mix later (e.g. turning heating up in
anticipation of a cold snap), you can share the same data via MQTT.

All the best,
Patrick

Content by MailingList, posted before the current terms

▲ 0
5 months ago

From Neil on the mailing list, 16 May 2026 14:19 UTC

Mike,

I've been using Home Assistant for a few years and I know it absolutely could be the basis of your project as it can host everything you need - Mosqitto, Influx, Grafana and the rest while also giving you the tools to create dashboards and automations based on the weather data. It runs well on a Raspberry Pi and many people start their Home Assistant journey that way. Home Assistant has evolved a lot over the years and is much easier to get started with these days and there is a wealth of help and support online via Youtube and dedicated forums. I don't have any experience implementing RTL-SDR support, but a quick look on Youtube searching with 'rtl sdr home assistant weather station' came up with several videos by people who have been doing just that.

Having said all that, Home Assistant itself takes some time to get used to. Like all things there is a bunch of jargon and unfamiliar terminology to get your head around initially and you might find learning that just gets in the way of progress on the weather station project. If you do decide to go that route though, I'd be happy to help answer Home Assistant questions if I can.

Neil

Content by MailingList, posted before the current terms

This topic is read-only, so it doesn't take replies here. Its threads are copied from elsewhere; to reply, use the original.