APRSD Weewx Plugin
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°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
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.