-
Notifications
You must be signed in to change notification settings - Fork 0
Protocol Ambient cloud
Setting up Ambient Weather (ambientweather.net) 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=abcdefg12345Everything 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.
Any Ambient console on an ambientweather.net account, including the ones with no 'Custom' upload to point at a driver
In protocols = auto
|
no, and it does not need to be: naming it under [[polling]] is what switches it on |
| Named by | the name you give the block |
| Recording from | its first answer |
[Station]
station_type = UltimatePush
[UltimatePush]
driver = user.ultimatepush.driver
port = 8000
[[polling]]
[[[garden]]]
protocol = ambient_cloud
application_key = the-application-key-from-your-account-page
api_key = the-api-key-from-your-account-page
interval = 60There is nothing to identify, nothing to wait for and no address to look up. This service is at one name for the whole world and the driver has it, so the block above is the whole of the station: it is recording from the first answer, with nothing to adopt and nothing to let in.
Nothing is set on the console, and there is no address to look up. What this needs is two keys, both from the account page at ambientweather.net: an application key, which names the program, and an API key, which names the account.
An account with more than one station on it needs a 'mac' line as well, saying which of them this block is for.
None. Everything that applies to this protocol applies to all of them, and is in Configuration.
This is your own Ambient station, read back from Ambient's servers instead of received from the console. The readings are the same ones and they land in the same columns, because the API answers with the names the console posts.
Worth doing when the console cannot be pointed at this driver. The awnet app offers one Customized server and older models offer none, so a station whose one slot is already taken has no way to reach a driver on its own network. It is also the only way to read a station that is not on that network at all: a second home, a relative's garden, a club's field.
Make two keys first. Sign in at ambientweather.net, open your account page, and create an application key and an API key. The application key names the program and the API key names the account. Neither is typed into the console and neither is your password.
Together they can read everything on the account. Keep them the way you would keep the
password. They go in weewx.conf, which is readable by whoever can read that file, or
in the settings file the web interface writes, which is the same. This driver never puts
them in the URL it keeps, so they are not in a log line, not on the page that shows what
arrived, and not in an error message.
One station on the account needs nothing else. Several needs a mac line saying
which, and a block without one is refused with a message listing every station it found
and what each is called, so the right address can be copied straight out of it.
Sixty seconds is a sensible interval. Ambient's servers have something new about once a minute, and their documentation caps a key at one request a second, which nothing here comes near.
Leave it as the main station. This is your weather station, so its temperature is the outdoor temperature. That is the difference between it and a PurpleAir or an AirLink, which are set up as extra stations because their thermometers are inside their own housings.
This and the console's Customized upload can both be on. They are two ways of reading one station and neither knows about the other, so nothing has to be switched off to try this and nothing stops working if you go back to the other.
Everything arrives in Fahrenheit, inches and miles an hour, whatever the console's display is set to. There is no unit setting in this API. WeeWX converts to whatever your reports are in, so this changes nothing about what you see.
feelsLike and dewPoint are left alone. Ambient work both out and so does WeeWX, and
a column filled from two different sums is worse than one filled from either.
No account yet? python -m user.ultimatepush --fake-ambient-cloud answers like one,
with two stations on it so that picking one can be tried too.
Nothing is recorded and the log says the keys were refused: one of the two is wrong, or was deleted from the account page. Both are refused the same way, so the message cannot say which. It is said once and then the driver stays quiet, so look at the start of the log rather than the end.
The log says the account has several stations and the block has to say which. It lists
them with their MAC addresses; copy the one you want into a mac line.
The log says no station on the account has that MAC address. The station was removed and added again, which gives it a new one, or the line has a typo. The same message lists what is there.
The readings stop changing and nothing is refused. The console has stopped reaching Ambient's servers, and their API keeps answering with the last thing it had. The station's page at ambientweather.net says when it was last heard from.
The temperature is right and the rain is nonsense. Every Ambient console reports the
total so far, and WeeWX has to be told to difference it. That is [StdWXCalculate] and
the driver says so at startup if it is not set.
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.
- 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