Skip to main content

Collect 433Mhz weather sensor data and publish to mqtt

Project description

Ambient Radio Weather Network (arwn)

PyPI version CI

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

arwn-3.0.0.tar.gz (129.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arwn-3.0.0-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

Details for the file arwn-3.0.0.tar.gz.

File metadata

  • Download URL: arwn-3.0.0.tar.gz
  • Upload date:
  • Size: 129.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for arwn-3.0.0.tar.gz
Algorithm Hash digest
SHA256 226d0c67b94e5313cd6e43940231bec77fde8208c75f0d900c45158699825fc0
MD5 4856ddd839808a4e8ff0cab4f0388b91
BLAKE2b-256 6ad57af7c340b03adbfbe20bfd6178ef7e06afe6f03e8f85de1fdd1b88c7e6e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for arwn-3.0.0.tar.gz:

Publisher: release.yml on sdague/arwn

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arwn-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: arwn-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 30.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for arwn-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea9f86afc5220a4fcc5812d87b7dd95f7806f33385bb381f46d83b77161ab418
MD5 af17e7b372f7bfe407b3c53a6fe17ddb
BLAKE2b-256 113f93fb8968bbfc7a5d42a1fbada024c747d25750ca3dc4e8247ea7206c01ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for arwn-3.0.0-py3-none-any.whl:

Publisher: release.yml on sdague/arwn

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page