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.
IOT endpoint
GET 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.
Query Parameters
apikey
string
The `apikey` of your brewery.
type
string
A hardware descriptor, e.g. sonoff_th16, wemos_d1, rapsberry_3b (logic: manufacturer_board).
brand
string
Who produced your device. For own / opensource projects please use oss.
version
string
Firmware version of your hardware. E.g. 0.4.2.
chipid
string
The chipid / similar of your device. This has to be unique among all devices of one brewery.
sakey
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).
{
"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):
$xall fields are prefixed witha(actor) ors(sensor)$ydatatype of the sensor / actor. currently supported areboolandnumber$zthe physical meaning, e.g.temp,wortfor sensors. orepower,pressurefor actors.$iindex 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$xand$z(the datatype is not relevant).
Return value is a JSON map
{
"error": 0,
"error_text": "",
"warning": 0,
"warning_text": "",
"next_request_ms": 15000
}Attention: Pay respect to the next_request_ms field. Especially if you contact the backend repetitively too early your Brick might get banned permanently.
Examples:
Device 1:
s_number_temp_0: first sensor sending a temperature number.s_number_temp_1: second sensor sending a temperature number.s_number_temp_id_0: ID of the first temperature sensor, i.e.0x00003ffc3664.a_number_epower_0: This a PWM actor.a_bool_epower_1: note, how index is incremented, despite the change of$z.
Sample request and implementations
Example request by the BierBot Brick would look like
https://brewbricks.com/api/iot/v1?type=sonoff_th16&brand=bierbot&version=0.9.4&s_number_temp_0=42&a_bool_epower_0=0&chipid=142424242_5C:CF:FF:20:CC:A5&apikey=YOUR_API_KEYSample implementations are available in
Last updated
Was this helpful?