- 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
- 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
You can install APRSD Weewx Plugin via pip from PyPI:
$ pip install aprsd-weewx-pluginAdd 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_hereTo 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)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 = USOnce 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°FWind 5@270G12- Wind speed 5 mph from 270° (west) with gusts to 12 mph65%- Relative humidityRA 0.00 0.00/hr- Daily rainfall 0.00 inches, current rate 0.00 inches/hour29.92inHg- Barometric pressure
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.
You can export the plugin's configuration options using the CLI tool:
$ aprsd-weewx-plugin-export-configThis will output all available configuration options in JSON format.
Contributions are very welcome. To learn more, see the Contributor Guide.
Distributed under the terms of the GNU GPL v3.0 license, APRSD Weewx Plugin is free and open source software.
If you encounter any problems, please file an issue along with a detailed description.
This project was generated from @hemna's APRSD Plugin Python Cookiecutter template.