2021-12-14 11:15:11 -05:00
2026-01-25 21:50:59 -05:00
2026-01-25 21:50:59 -05:00
2021-09-12 12:04:35 -04:00
2023-10-06 16:26:51 -04:00
2021-09-12 12:04:35 -04:00
2026-01-25 21:50:59 -05:00
2026-01-25 21:50:59 -05:00
2026-01-25 21:50:59 -05:00
2026-01-25 21:50:59 -05:00

APRSD Weewx Plugin

PyPI Status Python Version License

Read the Docs Tests Codecov pre-commit

Features

  • MQTT Integration: Connects to Weewx weather station via MQTT to receive real-time weather data
  • APRS Weather Queries: Responds to APRS messages with current weather conditions
  • Automatic Weather Reporting: Optionally reports weather data to APRS-IS at regular intervals
  • Comprehensive Weather Data: Includes temperature, dewpoint, wind speed/direction, humidity, pressure, and rainfall
  • Flexible Units: Supports both imperial (Fahrenheit, mph, inHg) and metric (Celsius, m/s, mBar) units

Requirements

  • APRSD: Version 4.2.0 or higher
  • Weewx: Weather station software configured to publish MQTT messages
  • MQTT Broker: Accessible MQTT server (e.g., Mosquitto, Eclipse Mosquitto)
  • Python: 3.8 or higher

Installation

You can install APRSD Weewx Plugin via pip from PyPI:

$ pip install aprsd-weewx-plugin

Configuration

Basic Configuration

Add the plugin to your APRSD configuration file (typically aprsd.yml):

aprsd:
  enabled_plugins:
    - aprsd_weewx_plugin.weewx.WeewxMQTTPlugin

  aprsd_weewx_plugin:
    enabled: true
    mqtt_host: localhost
    mqtt_port: 1883
    mqtt_user: weewx
    mqtt_password: your_password_here

Automatic Weather Reporting

To enable automatic weather reporting to APRS-IS, add latitude and longitude:

aprsd_weewx_plugin:
  enabled: true
  mqtt_host: localhost
  mqtt_port: 1883
  latitude: 37.7749
  longitude: -122.4194
  report_interval: 300  # Report every 5 minutes (in seconds)

Weewx MQTT Configuration

Ensure your Weewx installation is configured to publish weather data to MQTT. Add this to your Weewx configuration:

[MQTT]
    host = localhost
    port = 1883
    topic = weather/loop
    unit_system = US

Usage

Querying Weather via APRS

Once configured, you can query weather data by sending an APRS message to your station's callsign with a message starting with w or W:

Example APRS Interaction:

You: WB4BOR-1>APRS,TCPIP*:>w WB4BOR
WB4BOR: WX: 72.5F/54.0F Wind 5@270G12 65% RA 0.00 0.00/hr 29.92inHg

Response Format:

WX: <temp>/<dewpoint> Wind <speed>@<direction>G<gust> <humidity>% RA <day_rain> <rate>/hr <pressure>inHg

Example Response Breakdown:

  • 72.5F/54.0F - Temperature 72.5°F, Dewpoint 54.0°F
  • Wind 5@270G12 - Wind speed 5 mph from 270° (west) with gusts to 12 mph
  • 65% - Relative humidity
  • RA 0.00 0.00/hr - Daily rainfall 0.00 inches, current rate 0.00 inches/hour
  • 29.92inHg - Barometric pressure

Automatic Weather Reporting

When latitude and longitude are configured, the plugin automatically sends weather packets to APRS-IS at the configured interval. These packets appear on APRS.fi and other APRS services.

Exporting Configuration

You can export the plugin's configuration options using the CLI tool:

$ aprsd-weewx-plugin-export-config

This will output all available configuration options in JSON format.

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the GNU GPL v3.0 license, APRSD Weewx Plugin is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

This project was generated from @hemna's APRSD Plugin Python Cookiecutter template.

Description
No description provided
Readme GPL-3.0 141 KiB
Languages
Python 92.2%
Makefile 7.8%