/wfpublisher

Monitor UDP port 50222 for WeatherFlow weather data and publish to various weather services.

Primary LanguageC

wfpublisher

Monitor UDP port 50222 for WeatherFlow weather data and publish to various weather services.

Publishing is controlled by a JSON formatted configuration file. Each service is listed along with configuration information for the service. Each one can be enabled or disabled.

The weather data is formatted to match the service specifications. If a service has restrictions on how often data can be sent, multiple incoming data packets will be averaged before sending to the service. Sending to each service happens on a separate thread which prevents slow network response or a down service from impacting the publishing to other services.

The following servcies are currently supported:

logfile

Write the weather data to a file. The file is appended with a line containing the weather data separated with '|' characters.

display

Displays the weather data on the terminal screen. Each weather update re-writes the terminal display. This is useful for monitoring or debugging.

mysql

Writes the weather data to a MariaDB/MYSQL database. The current code is more of a proof of concept and would need to be modified for any specific application.

MQTT

Send the weather data to a mqtt broker. Each weather value is sent as a separate message.

Weather Underground

Publish the data to a Weather Underground personal weather station.

Weather Bug

Publish the data to a Weather Bug backyard weather station.

CWOP

Publsih the weather data to the Citizens Weather Observation Program service.

Personal Weather Station

Publish the weather data to pwsweather.com.