Bricks API

The Bricks API is fully documented and open to everyone. If you are a software dev, this section will help you to turn your hardware into a "Brick" and interact with our software.

get
IOT endpoint

https://brewbricks.comapi/iot/v1?apikey=apikey&type=:type&brand=:brand&version=:version&chipid=:chipid[sakey=:savalue]
This method is the main endpoint for connecting various IOT devices to BierBot Bricks.
Request
Response
Request
Query Parameters
apikey
required
string
The `apikey` of your brewery.
type
required
string
A hardware descriptor, e.g. sonoff_th16, wemos_d1, rapsberry_3b (logic: manufacturer_board).
brand
required
string
Who produced your device. For own / opensource projects please use oss.
version
required
string
Firmware version of your hardware. E.g. 0.4.2.
chipid
required
string
The chipid / similar of your device. This has to be unique among all devices of one brewery.
sakey
required
string
For how `sakey` has to be shaped, please see below. `savalue` can be anything of the following: - 0/1: indicating the current state of an relay. - 0-1023 indicating the current state of an PWM signal. - 0-105 indicating a temperature reading in degree celsius. - 0-20 indicating the specific graviy (SG) in degree plato (°P).
Response
200: OK
Important OBEY the next_request_ms defining when the IOT should call the backend the next time. Repeated violation will cause your device to be blocked and in extreme cases your account to be locked. The first request will not hold and target values for actors (see the epower_0_state: 0). After your Brick has been activated, the backend returns the new target state for each actor of your request.
{
"error": 0,
"error_text": "",
"warning": 0,
"warning_text": "",
"next_request_ms": 15000,
"epower_0_state": 0
}

The sensor / actory key ( sakey ) has follow the following schema ($x_$y_$z_$i):

  • $x all fields are prefixed with a (actor) or s (sensor)

  • $y datatype of the sensor / actor. currently supported are bool and number

  • $z the physical meaning, e.g. temp, wort for sensors. or epower, pressure for actors.

  • $i index on the device, starts with 0. This allows enumeration if multiple interfaces are of the same type. The index needs to be incremented for all groups of $x and $z (the datatype is not relevant).

Examples:

  • Device 1:

    • s_number_temp_0: first sensor sending a temperature number.

    • s_number_temp_1: second sensor sending a temperature number.

    • a_number_epower_0: This a PWM actor.

    • a_bool_epower_1: note, how index is incremented, despite the change of $z.