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.
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.
Follow the rtl_433 installation instructions. On Debian/Ubuntu a package is available:
sudo apt-get install rtl-433pip install arwnCopy 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 RoomInstall and enable the systemd user service:
arwn-install-service --config ~/.config/arwn/config.ymlThe 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 -fIf using an RFXCOM receiver, add yourself to the dialout group (one-time):
sudo usermod -aG dialout $USERLog out and back in for the change to take effect, then re-run
arwn-install-service.
arwn-collect -f --config config.ymlSee CONTRIBUTING.md and AGENTS.md.
Apache 2.0 — see LICENSE.
Sean Dague