-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
- WeeWX 5.0 or later
- Python 3.7 or later
- A weather station. Either one that pushes its readings, which is what this driver was written for, or one WeeWX already has a driver for, which this driver can run. Hardware lists the first kind and Hosted hardware explains the second.
There are no other requirements: no pip packages and no compiler.
weectl extension install https://github.com/hilman2/weewx-ultimate-push/releases/latest/download/weewx-ultimate-push.zip
sudo systemctl restart weewx
The installer sets station_type, writes the [UltimatePush] section, configures the
rain counter, and enables the web interface with a token generated for this machine.
weectl station reconfigure also offers UltimatePush in its list.
To install from a clone instead:
git clone https://github.com/hilman2/weewx-ultimate-push.git
weectl extension install weewx-ultimate-push
In WS View Plus: Weather Services, page through to Customized.
| Field | Value |
|---|---|
| Protocol Type | Ecowitt |
| Server IP / Hostname | the machine running WeeWX |
| Path |
/ unless you set path
|
| Port | 8000 unless you changed it |
| Upload Interval | 60 |
In awnet: Device Settings, then the custom server fields.
| Field | Value |
|---|---|
| Server IP / Hostname | the machine running WeeWX |
| Path |
/data/report/ unless you set path
|
| Port | 8000 |
| Protocol | Ambient |
| Upload Interval | 60 |
Set the server to the machine running WeeWX and the port to 8000. The path is fixed in
the firmware and cannot be changed, so leave path out of the driver section. ID and
PASSWORD can be anything you like; set password in the driver section to the same
thing and uploads that do not present it are refused.
A Fine Offset console under Weather logger or HP1001 firmware speaks the metric dialect of this protocol. It is recognised on its own; read the wind note in Protocols before trusting the wind speed.
Nothing to point. The hub broadcasts on UDP 50222 whether or not anybody is listening. The driver has to be told to open that socket:
[UltimatePush]
protocols = ecowitt, weatherflowBoth the hub and WeeWX have to be on the same network segment, because a broadcast does not cross a router.
Neither bridge can be told where to post. Both need their maker's hostname pointed at the machine running WeeWX:
| Hardware | Hostname to redirect |
|---|---|
| Acurite smartHUB, Access | hubapi.myacurite.com |
| LaCrosse LW301, LW302 | box.weatherdirect.com |
How is up to your network. A dnsmasq entry, a rewrite on the router, or an entry in
the DNS server the bridge uses. See Hardware.
Both bridges post to port 80, so WeeWX has to listen there, which needs root. Running WeeWX as root is not a good trade. Put a reverse proxy in front instead, or redirect the port with a firewall rule:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8000
python -m user.ultimatepush --port 8001
Point the station at port 8001 for one upload, then change it back. The command prints which protocol it was, what arrived, what it could not place, which database columns are missing, and which of those already hold readings. Running it changes nothing.
sudo systemctl restart weewx
sudo journalctl -u weewx -f
Within one upload interval the log shows:
INFO user.ultimatepush.driver: Driver version is 0.13.0, listening with weewx.listener for Ecowitt, Ambient Weather, Acurite, LaCrosse LW30x, Weather Underground
INFO weewx.listener: Listening for HTTP requests on *:8000
INFO weewx.engine: Starting main packet loop.
Then, on the first upload, which catalog it was read with:
INFO user.ultimatepush.driver: Reading ecowitt uploads with the 'ecowitt' catalog, 532 fields.
Followed by any fields waiting for a decision. See Field map.
Open the address the log reported. If nothing has uploaded yet, the page asks for a name and the hardware type, and displays the settings to enter into the console. With a station already recording, a second one is set up the same way and becomes an extra sensor without being asked. See Stations.
None of this hardware reports the rain since the last upload. It reports running
counters, and the installer configures StdWXCalculate to difference dayRain, which
suits four of the six protocols. WeatherFlow requires none of this. LaCrosse requires
input = totalRain. The driver logs a warning at startup if the setting does not suit
the protocols you enabled.
The install command again. It always fetches the newest release:
weectl extension install https://github.com/hilman2/weewx-ultimate-push/releases/latest/download/weewx-ultimate-push.zip
sudo systemctl restart weewx
Your [UltimatePush] section is left unchanged. Read the
changelog first
if you skipped versions: a field that moves is listed there.
weectl extension uninstall ultimate-push
weectl station reconfigure
Select another station type when asked. The database keeps everything it collected.
- Installation
- Hardware
- Web interface
- Stations
- Several stations
- Hosted hardware
- Sensors this driver asks
- Database columns
- Configuration
- Diagnostics
- Troubleshooting
- Keeping strangers out
- Reporting a new sensor
- Acurite
- Davis AirLink
- Ambient
- Ecowitt
- Ecowitt gateway API
- Ambient Weather (ambientweather.net)
- Home Assistant
- Lacrosse
- PurpleAir
- rtl_433
- Weatherflow
- Wunderground