Pro Weather
Getting started

Connect other hardware

Feed your site from Ecowitt gateways and virtually any other station via a personal upload URL - no WeatherLink account needed.

Pro Weather is built around Davis stations on WeatherLink, but it's not limited to them. Every site can accept data pushed straight from your own hardware through a personal upload URL that speaks two widely supported upload protocols:

  • the Ecowitt protocol - spoken natively by Ecowitt / Fine Offset gateways: GW1000, GW1100, GW2000, WH2600, HP1000-series consoles and the many rebrands (Ambient, Froggit, DNT, Waldbeck and friends);
  • the Wunderground protocol - spoken by practically every weather software: weewx, Meteobridge, CumulusMX, WeatherDisplay and most console firmware.

That second one is the key to the long tail: if your station runs through weewx - Davis, Oregon Scientific, La Crosse, AcuRite, Hideki/TE923, Peet Bros, RainWise, Fine Offset USB models, SDR receivers, one-wire, and dozens more - it can feed a Pro Weather site. The full model-by-model rundown lives on the Compatibility page.

1. Get your upload URL

Open your site in the dashboard, go to the Publishing tab, and under Receive data from your own hardware choose Enable hardware ingest. You'll get a URL like:

https://pro-weather.com/api/ingest/f3a91c…

The URL is a secret

Anyone who has this URL can feed data to your site - the token in the path is the credential. If it ever leaks, hit Regenerate URL and update your hardware; the old URL stops working immediately.

2. Point your hardware at it

Ecowitt / Fine Offset gateways

In the WS View Plus app (or the gateway's web UI): your device → Weather ServicesCustomized:

  • Customized: Enable, protocol Ecowitt
  • Server IP / Hostname: pro-weather.com
  • Path: everything after the hostname, e.g. /api/ingest/f3a91c…
  • Port: 443 (HTTPS where the firmware offers it)
  • Upload interval: 60 seconds is plenty

Older firmware and HTTPS

Some older gateways only upload over plain HTTP on port 80, which our hosting redirects to HTTPS - a redirect those gateways won't follow. If yours can't do HTTPS/port 443, relay through weewx or Meteobridge below, or update the gateway firmware.

weewx

Add your upload URL as a custom Wunderground endpoint in weewx.conf - the station ID and password can be anything, they're ignored:

[StdRESTful]
    [[Wunderground]]
        enable = true
        station = ANY
        password = ANY
        server_url = https://pro-weather.com/api/ingest/f3a91c…
        rapidfire = false

Meteobridge

Meteobridge's Weather Underground service can't point at a custom server, but its template uploads can send the same thing. On the Services tab, under Definition of Events, add an HTTP Event (every 60 seconds) with this URL as one line - the =F, =mph, =inHg and =in converters make it correct whatever units your Meteobridge displays:

https://pro-weather.com/api/ingest/f3a91c…?tempf=[th0temp-act=F.1:--]&humidity=[th0hum-act.0:--]&dewptf=[th0dew-act=F.1:--]&windspeedmph=[wind0wind-act=mph.1:--]&windgustmph=[wind0wind-max10=mph.1:--]&winddir=[wind0dir-act.0:--]&baromin=[thb0seapress-act=inHg.2:--]&rainin=[rain0total-sum1h=in.2:--]&dailyrainin=[rain0total-sumday=in.2:--]&rainratein=[rain0rate-act=in.2:--]&solarradiation=[sol0rad-act.0:--]&UV=[uv0index-act.1:--]

Set the success string to success so Meteobridge can tell the upload worked. Sensors you don't have simply post as -- and are ignored.

CumulusMX

CumulusMX's Weather Underground upload has a fixed server address, so use its Custom HTTP feature instead: in the admin interface open Settings → Custom HTTP → Interval based, enable it with an interval of 60 seconds, and enter this URL as one line. The unit= parameters force the right units no matter what units Cumulus itself is set to, and rc=y keeps decimal points even on comma-decimal locales:

https://pro-weather.com/api/ingest/f3a91c…?tempf=<#temp unit=F dp=1 rc=y>&humidity=<#hum>&dewptf=<#dew unit=F dp=1 rc=y>&windspeedmph=<#wspeed unit=mph dp=1 rc=y>&windgustmph=<#wgust unit=mph dp=1 rc=y>&winddir=<#bearing>&baromin=<#press unit=inHg dp=2 rc=y>&rainin=<#rhour unit=in dp=2 rc=y>&dailyrainin=<#rfall unit=in dp=2 rc=y>&rainratein=<#rrate unit=in dp=2 rc=y>&solarradiation=<#SolarRad>&UV=<#UV dp=1 rc=y>&indoortempf=<#intemp unit=F dp=1 rc=y>&indoorhumidity=<#inhum>

Drop any tag for a sensor you don't have.

WeatherDisplay, console firmware and everything else

Wherever the software or firmware lets you set a custom / alternative Weather Underground upload server, paste your upload URL as the server address and leave the station ID/password fields as anything you like. If it only offers the stock Weather Underground entry with no server field, relay through weewx or Meteobridge as above - both run happily alongside any other software already reading your station.

3. Watch the data arrive

Within a minute of the first upload your site gains a station called after your hardware (for example GW2000A…), and the Publishing tab shows Last data received. Temperature, humidity, dew point, pressure, wind, gusts, rain, solar, UV, indoor readings, PM2.5, soil moisture and soil temperature (4 channels each) and leaf wetness are all understood - in both the Ecowitt and the Wunderground field naming - and anything your hardware doesn't send (like dew point on many gateways) is derived automatically.

From there it behaves like any station: live conditions on your public page, email alerts, uploads to weather networks, and on Pro (or your trial) a permanent archive that powers charts, records and the almanac - pushed readings are archived about every 4 minutes.

Nothing arriving? Check these in order

  1. Last data received on the Publishing tab is the ground truth - it updates within about 15 minutes of a successful upload.
  2. The URL must match exactly. The whole path including the token, over HTTPS, with no trailing slash. If you regenerated the URL, every device still using the old one is rejected.
  3. Upload interval: 60 seconds is the sweet spot. Anything faster than about one upload per 4 seconds gets rate-limited (the uploader sees HTTP 429 and should back off on its own).
  4. At least one core reading must be present - temperature, humidity, wind, pressure, rain, solar or PM2.5. An upload carrying none of these is answered with HTTP 400.
  5. Old Ecowitt firmware: if the gateway can only do plain HTTP on port 80, it can't follow our HTTPS redirect - see the callout above.
  6. On the software side, most uploaders keep a log: weewx logs the Wunderground restful thread to syslog, Meteobridge shows the last HTTP event result next to the event, and CumulusMX writes Custom HTTP errors to its diagnostics log.

Both sources can feed one site. Your WeatherLink station stays the face of the site unless you explicitly choose otherwise under Settings → Cards & stations → Stations to display, so enabling hardware ingest never silently changes what visitors see. A site fed only by pushed hardware can be published exactly like a WeatherLink one - the Publish button lights up once the first data has arrived.

On this page