Back to blog

Ecowitt Customized Upload: A Complete Setup Walkthrough

By · Hands-on guides from the people building the platform

Ecowitt Customized Upload: A Complete Setup Walkthrough - Pro Weather guide

The Customized screen in WS View Plus is the most useful setting on an Ecowitt gateway and the least documented. It lets the gateway post its full sensor payload to any address you type in, which is what makes an Ecowitt station genuinely portable between services. It also has two quirks that cause most failed setups: it speaks plain HTTP only, and it silently truncates long settings. This walks through every field.

For the model-by-model picture, see supported weather stations.

Where is the Customized screen?

In the WS View Plus app, tap your device, then Weather Services, then swipe or scroll to Customized. It is the last entry, after the built-in services for Ecowitt's own cloud, Weather Underground, Weathercloud and WOW.

You can also reach it from the gateway's local web interface by browsing to its IP address on your network, which is often easier for typing long paths. Ambient Weather owners use the awnet app instead, in the same position.

What does each field do?

FieldWhat to enterWhy
CustomizedEnableOff by default
Protocol Type Same AsEcowittCarries the full sensor list
Server IP / HostnameHostname only, no http://The firmware adds the scheme
PathThe path starting with /Your credential usually lives here
Port80Plain HTTP only
Upload Interval60Seconds; range is 8 to 600

The two fields people get wrong are the protocol and the port.

Protocol: Ecowitt, not Wunderground

The dropdown offers both. The Ecowitt protocol is the native format and includes every sensor the gateway knows about: PM readings, CO2, lightning, soil probes on all channels, leaf wetness, extra room sensors, and per-sensor battery flags. The Wunderground protocol is a compatibility format built around the fields Weather Underground accepts, and it drops most accessory sensors on the floor.

Unless your destination explicitly asks for Wunderground format, choose Ecowitt. If you have accessory sensors and they are not showing up anywhere, this dropdown is the first thing to check.

The gap is easy to see in the field lists further down this page: the accessory sensors in Ecowitt's own catalogue (the WH57 lightning detector, the WH45 CO2 module, WH51 soil probes, WH31 room sensors) all have Ecowitt-protocol field names with no Wunderground equivalent, so there is simply nowhere for them to go in the other format.

Port: 80, and why that is not a mistake

The Customized upload does not implement TLS. It cannot post to an HTTPS endpoint, and it will not follow a redirect from HTTP to HTTPS. If a server answers port 80 with a 301 or 308 pointing at https://, the gateway does not follow it; the upload just fails, usually with no error you can see.

This is why any service that accepts gateway uploads has to answer plain HTTP on port 80 for that specific path, and why you will often be given a dedicated hostname for gateways rather than the service's main domain. With Pro Weather, gateways post to i.pro-weather.com on port 80, which accepts the plain-HTTP request and forwards it over an encrypted connection immediately, so the unencrypted hop is only between your gateway and the edge.

The 64-character limit that breaks setups

Current Ecowitt firmware limits the combined length of server + path + port to 64 characters. Go over and it truncates, saves the truncated version, and reports no error. Your upload interval ticks by and nothing ever arrives.

Worked example with Pro Weather's gateway settings:

PartValueCharacters
Serveri.pro-weather.com17
Path/i/ plus a 32-character token35
Port802
Total54

That leaves 10 characters of headroom. If you are given a long path, or you generated your credential before a service shortened its format, regenerate it rather than trying to squeeze it in. If your upload path is longer than roughly 40 characters, treat that as the prime suspect for a silent failure.

How do you confirm it is working?

In order, because each step rules out the one before it.

  1. Check the destination first, not the gateway. Any service that accepts uploads should show you a "last data received" timestamp. That is ground truth. If it updates, you are done.
  2. Re-open the Customized screen and read the values back. This catches truncation, a stray http:// in the server field, a missing leading slash on the path, and a trailing slash that should not be there.
  3. Confirm the gateway is actually on WiFi and reaching the internet. If the ecowitt.net dashboard is also stale, the problem is connectivity, not the Customized entry.
  4. Watch one interval go by. At 60 seconds you should not wait more than a couple of minutes. Some services only refresh their "last received" display every few minutes, so give it five before concluding failure.
  5. Try the gateway's local web interface if the app is being unhelpful. Typing a long path with a keyboard is more reliable than a phone, and the web UI shows the saved values plainly.

What arrives at the other end?

Everything the gateway measures, using Ecowitt's field names. Useful to know when you are debugging what a destination did or did not read:

ReadingFields
Outdoor temp and humiditytempf, humidity
Indoor temp and humiditytempinf, humidityin
Pressurebaromrelin (sea level), baromabsin (station)
Windwindspeedmph, windgustmph, winddir, maxdailygust
Rainrainratein, eventrainin, hourlyrainin, dailyrainin, weeklyrainin, monthlyrainin, yearlyrainin
Piezo rain (WS90)the same names with a _piezo suffix
Solar and UVsolarradiation, uv
Particulatespm25_co2, pm10_co2, pm1_co2 and 24-hour averages
CO2 (WH45, WH46)co2, co2_24h, plus tf_co2 and humi_co2
Lightning (WH57, DP60)lightning, lightning_num, lightning_time
Extra rooms (WH31)temp1f to temp8f, humidity1 to humidity8
Soil moisture (WH51)soilmoisture1 to soilmoisture8
Soil temperature (WN34)tf_ch1 to tf_ch8
Leaf wetnessleafwetness1 upward
Battery flagswh65batt, wh57batt, wh80batt and friends, as 0 or 1
IdentityPASSKEY, stationtype, model, dateutc

A few notes that save debugging time.

Pressure comes in two forms. baromrelin is the sea-level pressure and baromabsin is the raw station pressure. A destination showing pressure a long way off your neighbours is probably reading the wrong one. The distinction, and why it matters at altitude, is covered in how to read barometric pressure trends.

Battery fields are flags, not percentages. wh65batt and friends report 0 or 1, where 1 means low. A destination that renders them as a percentage will show your healthy sensor as 1% charged.

A dead clock is usually harmless. dateutc is often literally the string now, and gateways with a flat backup battery sometimes send an epoch-1970 stamp. Sensible destinations fall back to arrival time.

Does the Customized upload replace my other services?

No. It is fully independent. The gateway maintains its Ecowitt, Weather Underground, Weathercloud and WOW entries separately, and enabling Customized does not touch any of them.

In practice that means you can run all of them at once: ecowitt.net for the app, Weather Underground to contribute to the public map, and a Customized upload to your own website. There is no meaningful cost to the gateway in doing so, and it is worth doing: contributing to the public networks is covered in sharing your data with Weather Underground and CWOP, and the wider set of destinations in Weather Underground alternatives.

Common questions

Can I set two Customized destinations?

Not on current firmware; there is one Customized slot. If you need to fan out to several places, upload to one service that re-publishes onward, or relay through weewx, whose RESTful services can post to many destinations at once.

Why does my station show up as "GW2000A" rather than a name I chose?

Because the gateway identifies itself in the payload with model and stationtype, and destinations often use that as the initial station name. Most let you rename it afterwards.

Is the path a password?

On most services, yes, effectively. If the path contains a token then anyone who has the full URL can post data as your station, so treat it like a credential and regenerate it if it leaks.

What interval is best?

60 seconds. Faster gains nothing for a public website, and the firmware's 8-second floor exists for local use rather than cloud uploads. Some destinations rate-limit aggressive uploaders and answer with HTTP 429.

My station is a Froggit, not an Ecowitt. Do these values change?

No. Froggit, Sainlogic and Eurochron hardware runs the same EasyWeatherPro firmware and the screen is identical. Ambient Weather is the same too, just inside the awnet app. Bresser and Vevor are the exceptions: their firmware has no Customized field at all, so they need a relay, as covered in the ProWeatherLive alternative guide.