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 Connection tab (the same card also appears under Publishing), and under Receive data from your own hardware choose Enable hardware ingest. You'll get one secret key shown in two forms:

  • gateway settings for Ecowitt / Fine Offset hardware: server i.pro-weather.com, a short path like /i/f3a91c…, port 80;
  • a full HTTPS URL for software uploaders:
https://pro-weather.com/api/ingest/f3a91c…

The path and URL are secrets

Anyone who has them can feed data to your site - the token is the credential. If it ever leaks, hit Regenerate URL and update your hardware; the old one 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: i.pro-weather.com
  • Path: the short path from the dashboard, e.g. /i/f3a91c…
  • Port: 80
  • Upload interval: 60 seconds is plenty (the firmware allows 8-600)

Why port 80 and the short path?

The Customized upload in Ecowitt firmware speaks plain HTTP only, so i.pro-weather.com accepts exactly that - no HTTPS, no redirects - and hands your readings to the platform securely from there. The short /i/ path matters too: current firmware limits server + path + port to 64 characters, and these settings come to 54. Prefer the Ecowitt protocol over Wunderground here; it carries your full sensor list.

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 cannot be pointed at another server, so the way in is an HTTP event, which sends exactly the URL you type and nothing else. That last part is the one thing to get right: the plain upload URL on its own carries no readings, so it is rejected. The readings go in the URL, as template placeholders.

On the Services tab, under Definition of Events, add an HTTP event (every 60 seconds) with this as the URL, on 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:--]&indoortempf=[thb0temp-act=F.1:--]&indoorhumidity=[thb0hum-act.0:--]

Set the success string to success so Meteobridge can tell the upload worked. Sensors you don't have simply post as -- and are ignored, so the same URL suits every station. Your dashboard's Connection tab shows this URL with your own token already in it, ready to copy.

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 new station - named after your hardware when the uploader identifies itself (for example GW2000A… or weewx-5.1), or "Local hardware" otherwise (the Meteobridge and CumulusMX templates above fall in this group); rename it any time on the Connection tab. The ingest card (Connection tab, also under Publishing) shows Last data received.

Everything recognisable is understood, in both the Ecowitt and the Wunderground field naming: temperature, humidity, dew point, pressure (sea-level and absolute), wind, gusts, direction, rain (rate plus event, hour, day, month and year totals, piezo gauges included), solar, UV, indoor readings, PM1/PM2.5/PM10, CO2 from WH45 and WH46 modules, lightning from a WH57 or DP60, up to 8 extra temperature and humidity channels from WH31/WN31 room sensors, soil moisture and soil temperature on up to 8 channels each, leaf wetness and evapotranspiration. Per-sensor low-battery flags are honoured, so a flat WH65 array shows up as a low battery on your station health. Anything your hardware doesn't send (like dew point on many gateways) is derived automatically.

Lightning and extra channels are live-only

Those two appear on your site's Sensors tab as current readings but are deliberately not written to the long-term archive, so they don't show up in historic charts. Every other reading above is archived and charted normally.

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 ingest card (Connection tab, also under Publishing) is the ground truth - it updates within about 15 minutes of a successful upload.
  2. The settings must match exactly. Gateways: server i.pro-weather.com, the whole /i/… path including the token, port 80, no trailing slash. Software: the full HTTPS URL. 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. Gateway pointed at the wrong host? Ecowitt gateways must use i.pro-weather.com on port 80 - pro-weather.com on port 443 never works from a gateway, because the firmware can't do HTTPS. And if your key predates the short format (a path longer than /i/ plus 32 characters), regenerate it: newer firmware silently truncates settings over 64 characters of server + path + port.
  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