PressureMon#
Self Hosted Cloud Hosted
A PressureMon reports the pressure in a keg or fermenter, with temperature and battery. This page shows how to point the PressureMon’s HTTP push at BrewGraph. It works with PressureMon firmware 0.8.
What you need#
A PressureMon device added in BrewGraph under Devices. BrewGraph shows its device token on the device page.
A PressureMon with firmware 0.8.
Configure the PressureMon#
The PressureMon uses the same configuration interface as the GravityMon and the Gateway. In the PressureMon web interface, open the push settings and choose the HTTP target. Fill in:
Field |
Value |
|---|---|
Server URL |
Cloud Hosted: |
Token |
The device token from the BrewGraph device page. Enter it in the token
setting of the PressureMon. If your firmware has no token field, put the
token in the address instead, as
|
Data format |
The PressureMon predefined format, see below |
Push interval |
Matches your plan, see below |
For the data format, open Predefined formats in the PressureMon interface, choose the PressureMon format, and use Preview format to check it before saving.
BrewGraph reads these fields:
name,id,token, andintervaltemperatureandtemperature-unit(CorF)pressureandpressure-unit(kPa,barorPSI, in any letter case)battery,rssi, andrun-timeoptionally
pressure2, a second pressure, which is stored but not shown
Pressure is optional. A reading without pressure is stored and shows a gap. A negative pressure is stored as received.
Set the push interval to match your plan. On Cloud Hosted the free beta needs
900 seconds; a reading that arrives faster is answered with 429 and is
not stored. Self Hosted accepts any interval.
Payload#
An accepted minimal payload:
{
"token": "<token>",
"pressure": 1.24,
"pressure-unit": "bar"
}
A typical payload:
{
"name": "Pressuremon_01",
"id": "87654321",
"token": "<token>",
"pressure": 1.24,
"pressure-unit": "bar",
"temperature": 18.4,
"temperature-unit": "C",
"battery": 4.08,
"interval": 900,
"rssi": -58,
"run-time": 1.85
}
Pressure, temperature, battery, rssi, run-time, and the second sensor are optional
individually; at least one measurement is required. The pressure unit can be kPa, bar,
or PSI. pressure_units, pressure-unit, and pressure_unit are accepted;
temperature units accept temp_units, temperature-unit, and temp_unit.
pressure1 is used when pressure is absent; pressure2 uses the same unit.
Save the typical payload as payload.json and replace <token> in the
file and both addresses with the device token. First capture the payload for
inspection, then send the same payload to the device endpoint:
curl -X POST 'https://ingest.brewgraph.com/ingest/test/<token>' \
-H 'Content-Type: application/json' --data-binary @payload.json
curl -X POST 'https://ingest.brewgraph.com/ingest/pressuremon?token=<token>' \
-H 'Content-Type: application/json' --data-binary @payload.json
Check that it works#
Save the configuration and wait for one push interval.
Open the device in BrewGraph. The latest reading, with its pressure, temperature and battery, should appear on the device page.
Assign the device to a batch to see the readings on the batch Pressure tab, or to a keg to see them in the keg’s pressure view.
Troubleshooting#
401: the token is missing or mistyped. Copy it again from the device page and check it is set in the PressureMon, or in the address.429: raise the push interval to at least your plan’s reporting interval.422: the reading holds nothing to store. Check the data format against the PressureMon predefined format with Preview format.404: check that the Server URL ends exactly in/ingest/pressuremon.
For every status code and what to do about it, see Ingest error codes.