Pro Weather

Publish to weather networks

Send your station's readings to Weather Underground, WOW, CWOP, Windy, AWEKAS and more, plus MQTT and InfluxDB for your own systems.

Your station's data doesn't have to live on your site alone. Pro Weather can upload your readings to the big weather networks (the same networks long-time station owners feed from weewx or Meteobridge) and to your own systems over MQTT or InfluxDB. Configure it once and uploads ride every data refresh, about every 5 minutes, using the same observation your site shows.

Publishing is part of the Pro plan (and your free trial).

Set it up

  1. Open your site in the dashboard and go to the Publishing tab.
  2. Expand the service you want and enter its credentials (each service explains exactly what it needs and where to find it).
  3. Choose Connect. The first upload goes out on the next refresh, and the card shows a status badge from then on.

Every service is independent: one failing never blocks the others, and you can pause any of them with the Upload on every refresh toggle. Credentials are encrypted at rest and only ever used server-side.

Supported weather networks

NetworkWhat you enterWhere to get it
Weather UndergroundStation ID + station keywunderground.com → My Devices
PWSweatherStation ID + API keypwsweather.com member area
Met Office WOWSite ID + authentication keyYour site page on wow.metoffice.gov.uk (the auth key is the 6-digit PIN you set)
WOW-BE (KMI/IRM)Site ID + authentication keywow.meteo.be, the Belgian WOW run by the Royal Meteorological Institute
AWEKASUsername + passwordYour awekas.at account
CWOP / APRSStation ID (callsign)Register at wxqa.com. CW/DW/EW IDs need no passcode; ham callsigns enter theirs
WindyStation ID + station passwordstations.windy.com; the password is on the station's detail page
OpenWeatherMapStation ID + API keyRegister your station via the OWM Stations API; enter the internal ID it returns
WeathercloudWeathercloud ID + keyDevice settings on weathercloud.net
WindfinderSender ID + passwordRegister your station with Windfinder
wetter.comStation ID + passwordYour wetter.com Wetternetzwerk account
WindguruStation UID + upload passwordYour station page at stations.windguru.cz. The password is optional; set one to stop anyone else uploading as you

What each network receives depends on what it accepts: temperature, humidity, dew point, pressure, wind, gusts, rain, solar and UV where supported, and PM2.5/PM10 to Weather Underground if you have an AirLink. Units and formats are converted automatically per service; there is nothing to map by hand.

A note on CWOP and wetter.com

CWOP feeds NOAA's MADIS network, which is used for real forecast verification, a lovely way to make your station count. wetter.com still accepts uploads, but has said its station network is no longer actively maintained, so treat that one as best-effort.

Publish to your own systems

Beyond the networks, two generic outputs cover home automation and self-hosted dashboards:

MQTT

Publishes one JSON document per refresh to <your topic>/loop on any broker you point it at (mqtt://, mqtts://, ws:// or wss://). Keys follow the familiar weewx style in your site's unit system (outTemp_C, windSpeed_kph, barometer_hPa, dayRain_mm and so on), which makes Home Assistant templates straightforward. Messages are retained by default so new subscribers immediately see the latest observation; set Retain messages to off to disable that.

InfluxDB

Writes one line-protocol point per refresh, tagged with your site's subdomain, with metric fields (temp_c, wind_ms, rain_day_mm, ...). InfluxDB v2 is the default: enter the server URL, bucket, organization and an API token. For a classic v1 server, set the version field to 1 and use database/username/password instead. Ideal for Grafana dashboards.

Custom HTTP

For anything we have not built a dedicated uploader for. Two shapes:

  • POST (the default) sends the whole observation as JSON to your endpoint, which is what a Home Assistant webhook, a Node-RED flow or your own service wants.
  • GET treats the URL as a template. Write {{tempC}}, {{humidity}}, {{windKmh}}, {{rainDayMm}}, {{iso}} and the rest wherever the values belong; unknown placeholders become empty, and every value is URL-encoded.

An optional bearer token is stored encrypted and sent as an Authorization header.

HTTPS only, and no private addresses

Our server makes this request on your behalf, so the URL is checked the same way an alert webhook is: HTTPS only, and loopback, private (RFC1918) and cloud-metadata addresses are refused. Point it at something reachable from the internet.

Post to social

Bluesky

Posts your conditions to a Bluesky account on a schedule - not on every refresh, which would be 288 posts a day. Enter your handle, an app password (Settings → App Passwords on Bluesky; never your account password) and how often to post, from 1 hour to a week. The default is once a day.

Left empty, the post is a conditions line in your site's own units plus a link back to your station. Write a template to say it your way, using the same {{field}} placeholders as Custom HTTP plus {{url}} for your site address.

Status, timing and troubleshooting

  • Each configured service shows a badge: OK with the last upload time, Waiting for first upload, Paused, or Failed. Expand the card to see the exact error from the service.
  • Uploads go out about every 5 minutes, alongside each data refresh. Two networks publish a slower rate limit than that, so we hold them to every other refresh (about every 10 minutes) rather than earn a rejection: Windy asks for at most one upload per 5 minutes, and Weathercloud one per 10 on free accounts. Every other service gets the full 5-minute cadence.
  • If a service rejects your credentials, we pause retries for an hour instead of hammering it; fix the credentials and save the card to retry immediately.
  • Saving a card always clears its error state, so a fresh attempt happens on the very next refresh.

One site, one station identity

Uploads always use your site's primary station, the one your public page shows. Each remote service treats your site as a single station, so register one station per network per site.

On this page