Skip to content

Protocol Weatherflow

Manuel edited this page Aug 30, 2026 · 2 revisions

WeatherFlow

Setting up WeatherFlow 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://192.168.1.50:8080/?token=kJ7mQx2vRt9w

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

Tempest, and the AIR, SKY and hub that came before it

In protocols = auto no, it has to be named
Named by its hub_sn
Can be set up before it uploads No, it is adopted

The smallest configuration that works

[Station]
    station_type = UltimatePush

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

    [[stations]]
        [[[garden]]]
            id = HB-00013030

What else it takes

Nothing to set on the hub. It broadcasts whether or not anybody listens.

The hub and this machine have to be on the same network segment. A broadcast does not cross a router.

This driver has to be told to open the socket, because it is a second one. In weewx.conf, then restart:

[UltimatePush]
        protocols = ecowitt, weatherflow

Options of its own

These belong to this protocol alone and go in the [UltimatePush] section. Everything else that applies is in Configuration.

udp_port

The port to listen for broadcasts on. There is no reason to change it. Default is 50222.

Worth knowing

The hub has nothing to configure. It broadcasts to the whole local network whether or not anybody listens, so the whole of the work is on this side.

Both machines have to be on the same network segment. A broadcast does not cross a router, so a hub on a guest network or another VLAN never arrives.

Because it needs a socket of its own, it is not switched on by protocols = auto. It has to be named, and that needs a restart.

When nothing arrives

Nothing arrives: the hub is on another segment, or something else already holds UDP 50222. ss -lunp | grep 50222 says which.

Anything on the network can send to that port and nothing is authenticated, because there is nobody to authenticate to. Use allowed_hosts if that matters.

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