Collect 433Mhz weather sensor data and publish to mqtt
Project description
Ambient Radio Weather Network (arwn)
Collect 433 MHz weather sensor data and publish to MQTT.
Designed to work with an RFXCOM USB receiver or an RTL-SDR dongle, publishing sensor readings over MQTT so they can be consumed by other software such as Home Assistant.
Hardware Requirements
You will need a Linux system (a Raspberry Pi 3 or later is sufficient) and a 433 MHz receiver:
- RTL-SDR dongle (~$25 on Amazon) — recommended default. Requires rtl_433 installed separately.
- RFXCOM receiver — more expensive, narrower sensor support, better hardware error correction. All supporting software is bundled.
Installation
Install rtl_433 (RTL-SDR users only)
Follow the rtl_433 installation instructions. On Debian/Ubuntu a package is available:
sudo apt-get install rtl-433
Install arwn
pip install arwn
Configuration
Copy config.yml.sample to config.yml and edit:
collector:
type: rtl433 # or rfxcom
# device: /dev/ttyUSB0 # rfxcom only
mqtt:
server: 192.168.1.x
# username: user
# password: pass
# Optional: Weather Underground reporting
wunderground:
user: your@email.com
station: KXXYYY123
passwd: yourpassword
# Map hardware sensor IDs to friendly names.
# IDs survive battery changes when named here.
# An "Outside" sensor is required for Weather Underground.
names:
"ae:01": Outside
"e9:00": Living Room
Running as a systemd service (recommended)
Install and enable the systemd user service:
arwn-install-service --config ~/.config/arwn/config.yml
The service will start immediately, start at boot, and restart automatically on
failure. No sudo required.
To check status:
systemctl --user status arwn
journalctl --user -u arwn -f
RFXCOM USB access
If using an RFXCOM receiver, add yourself to the dialout group (one-time):
sudo usermod -aG dialout $USER
Log out and back in for the change to take effect, then re-run
arwn-install-service.
Running manually
arwn-collect -f --config config.yml
Development
See CONTRIBUTING.md and AGENTS.md.
License
Apache 2.0 — see LICENSE.
Credits
Sean Dague
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arwn-2.1.0.tar.gz.
File metadata
- Download URL: arwn-2.1.0.tar.gz
- Upload date:
- Size: 33.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec27b26008c8668205bcbc32dbe6227583756d38bd3df80fcbbe1ee19e66c54b
|
|
| MD5 |
1341cca07d29ce644b4bc0daebfffe01
|
|
| BLAKE2b-256 |
dd65ed340227c688e07d29741d63bbc5230aa03c1bfc2e243652378268d5578b
|
Provenance
The following attestation bundles were made for arwn-2.1.0.tar.gz:
Publisher:
release.yml on sdague/arwn
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arwn-2.1.0.tar.gz -
Subject digest:
ec27b26008c8668205bcbc32dbe6227583756d38bd3df80fcbbe1ee19e66c54b - Sigstore transparency entry: 1391432217
- Sigstore integration time:
-
Permalink:
sdague/arwn@e877284917a733ee5d0b840e43d254f9b69b0151 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/sdague
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e877284917a733ee5d0b840e43d254f9b69b0151 -
Trigger Event:
push
-
Statement type:
File details
Details for the file arwn-2.1.0-py3-none-any.whl.
File metadata
- Download URL: arwn-2.1.0-py3-none-any.whl
- Upload date:
- Size: 28.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7c2713bfceedc767e10b592fe22c1e2443dee1221b55d9e77a520b081b08111
|
|
| MD5 |
7b1706566532a2975105a5f6763157a0
|
|
| BLAKE2b-256 |
60251877765891f027c6f2b1978318408dbae87036f287d11b2b4d33be145ce6
|
Provenance
The following attestation bundles were made for arwn-2.1.0-py3-none-any.whl:
Publisher:
release.yml on sdague/arwn
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arwn-2.1.0-py3-none-any.whl -
Subject digest:
d7c2713bfceedc767e10b592fe22c1e2443dee1221b55d9e77a520b081b08111 - Sigstore transparency entry: 1391432226
- Sigstore integration time:
-
Permalink:
sdague/arwn@e877284917a733ee5d0b840e43d254f9b69b0151 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/sdague
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e877284917a733ee5d0b840e43d254f9b69b0151 -
Trigger Event:
push
-
Statement type: