Skip to content

Protocol Ecowitt

Manuel edited this page Aug 30, 2026 · 2 revisions

Ecowitt

Setting up Ecowitt hardware by hand, in weewx.conf.

Generated by tools/build_protocols.py. What each protocol needs is written in that tool; what it is called and what goes into the console comes from the code. Do not edit by hand.

There is a web interface for all of this. It is on by default, and the driver prints its address when WeeWX starts:

INFO user.ultimatepush.driver: The web interface is at
http://1.2.3.4:8080/?token=abcdefg12345

Everything on this page can be done there instead, and one thing is much easier: deciding which reading goes into which database column. See Web interface.

What it is

GW1000, GW1100, GW1200, GW2000, GW3000, HP2551, HP2561, WS3800, WS3900, WS3910, WN1980 and their relatives

In protocols = auto yes
Named by its PASSKEY
Can be set up before it uploads Yes

The smallest configuration that works

[Station]
    station_type = UltimatePush

[UltimatePush]
    driver = user.ultimatepush.driver
    port = 8000

    [[stations]]
        [[[garden]]]
            path = /abcdefg12345/report

The path is the whole of it, and nothing in it has to be looked up first. You choose the path and type it into the console. The console names itself in its first upload, that name is written down, and every upload after it has to match, so a second console pointed at the same path is turned away. Make the path with python -m user.ultimatepush --secret and put it between two slashes.

What to put into the console

Protocol Type Ecowitt
Server IP / Hostname 1.2.3.4
Path /abcdefg12345/report
Port 8000
Upload Interval 60

What else it takes

In the WSView Plus app: Device List, your console, then Weather Services. Page through to Customized and switch it on.

Sixteen seconds is the shortest interval it allows. Sixty is plenty.

Save it. The console uploads on its own from then on.

Options of its own

None. Everything that applies to this protocol applies to all of them, and is in Configuration.

Worth knowing

Choose a path of your own rather than leaving it at /. The path is what tells this console from the next one, and it is a secret: a PASSKEY can be read off anybody's upload and repeated, a path cannot.

Sixty seconds is a sensible upload interval. Sixteen is the shortest the app allows and buys nothing: WeeWX writes an archive record every five minutes whatever arrives in between.

Leave the console's own Weather Underground or Ecowitt.net upload switched on if you use it. Customized is a separate upload and does not replace the others.

When nothing arrives

Nothing arrives at all: the console is on a different network segment, or the port is closed. Upload Interval seconds after saving, the log should show something. If it shows nothing, try curl -d 'PASSKEY=test' http://1.2.3.4:8000/ from another machine to prove the port is open.

Uploads arrive but are refused: the driver does not know this console yet. It appears in the web interface as a station waiting to be let in.

More than one station

This is one station among however many others. Which of them fills outTemp, and where the rest of their readings go, is in Several stations.

Clone this wiki locally