Custom Stream
Integrate your logging device with a custom HTTP POST to the URL you are given in the settings.
Use the following JSON format in the body of the POST:
Supported fields for custom streaming device entry
POST
http://log.brewfather.net/stream?id=:logging-id
Integrate any custom devices by posting data to Brewfather. When the first POST is logged a new device will be created using the "name" field. Requests can also be posted as HTTPS if your device supports it.
Headers
Name | Type | Description |
---|---|---|
Content-Type | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
name* | string | Unique name for your device. Used to identify the device. Required field. |
temp | number | Temperature |
aux_temp | number | Appears as Fridge Temp |
ext_temp | number | Appears as Room Temp |
temp_unit | string | Temperature units "C" for celcius, "F" for fahrenheit, "K" for kelvin. Default value is "C" |
gravity | number | Gravity |
gravity_unit | string | Gravity units "G" for SG (1.XXX) and "P" for Plato (X.XX). Default value is "G". |
pressure | number | Pressure |
pressure_unit | string | Pressure units "PSI", "BAR", "KPA". Default is "PSI". |
ph | number | pH |
bpm | number | Bubbles Per Minute |
comment | string | Free Text |
beer | string | Beer Style Text |
battery | number | Battery level as volts (decimal number) |
device_integration | string | Type of device integration. Only value "default" is possible now. Default value is "default". More values can be added in the future to support different kinds of integrations. |
device_source | string | Device that is source for the logged values, for example "Tilt", "iSpindel", "X Sensor". |
report_source | string | Device that is used to report the values to the service, for example "MyBrewbot", "MyCustomBuild", "HomeAutomation". |
device_state | string | State of device, example: "heating", "cooling", "on", "off" |
temp_target | number | Target Temperature. Uses unit from "temp_unit" |
gravity_target | number | Target Gravity. Uses unit from "gravity_unit" |
hysteresis | number | |
angle | number | Angle on a floating hydrometer |
rssi | number | Received Signal Strength Indicator |
count | number | Counter value, for example total amount of bubbles, or number of pours |
volume | number | Volume left in container |
volume_unit | string | Volume units "L", "GAL", "OZ". Default is "L". |
pour_volume | number | Last pour volume |
max_volume | number | Max total volume in container |
percentage | number | Value that will be displayed as a percentage |
Example POST data:
Temperature units "C" for celcius, "F" for fahrenheit, "K" for kelvin. Gravity units "G" for SG and "P" for Plato. Pressure units "PSI", "BAR", "KPA".
Never log more than once every 15 minutes per device name, request logged more often than that will be ignored. If you are logging more than one device give them each a unique name, maximum rate: one POST per device per 15 minutes.
Field "name" is required. Other fields are optional. At least one value field must be provided (Temp, gravity or pressure, etc).
If your device supports https you can also replace HTTP with HTTPS in the logging URL.
Example HTTP POST
Last updated