-
Notifications
You must be signed in to change notification settings - Fork 16
PicoBrew API
The PicoBrew's built-in Ardunio uses an unencrypted HTTP communication protocol. All request are GET
requests and are not authenticated. The following documentation is based on Firmware 1.1.8.
Zymatic API Documentation on PostMan
This request retrieves all the user recipes from the server.
http://www.picobrew.com/API/SyncUser?user=3ccfxxxxxxxxxxxxxxxxxxxxxxxxxa39&machine=5xxxxxxx0000
-
user
: Some user id. This can be found on picobrew.com, after logging in, in your account profile under "Profile GUID" -
machine
: The "Zymatic ID" number. This can be found on Picobrew.com under 'Brew' next to your Machine description as "UID" (for Zymatic).
All recipes are concatenated as one string seperated by the pipe symbol "|".
#Motueka Dark Ale/8f085361e36643ea89bfefd9d08bf60f/Heat to Temp,102,0,0,0/Dough In,102,20,1,8/Heat to Mash,152,0,0,0/Mash 1,152,30,1,8/Mash 2,154,60,1,8/Heat to MO,175,0,0,0/Mash Out,175,10,1,10/Heat to Boil,207,0,0,0/Boil Adjunct 1,207,30,2,0/Boil Adjunct 2,207,20,3,0/Boil Adjunct 3,207,10,4,5/Connect Chiller,0,0,6,0/Chill,65,10,0,10/|Pico Pale Ale/b7f69fad72494b99a1978fff6c0f9bf0/Heat Water,152,0,0,0/Mash,152,90,1,8/Heat to Boil,207,0,0,0/Boil Adjunct 1,207,45,2,0/Boil Adjunct 2,207,5,3,0/Boil Adjunct 3,207,5,4,0/Boil Adjunct 4,207,5,5,5/Connect Chiller,70,0,6,0/Chill,70,10,0,10/|Polaris Single Hop/1877ea832ea64b29860fc52454305203/Heat Water,152,0,0,0/Mash,152,90,1,8/Heat to Boil,207,0,0,0/Boil Adjunct 1,207,30,2,0/Boil Adjunct 2,207,25,3,0/Boil Adjunct 3,207,5,4,5/Connect Chiller,0,0,6,0/Chill,65,10,0,10/|#
#RECIPE_NAME / HASH on Picobrew.com / STEP_NAME, TEMPERATURE, DURATION, COMPARTMENT , DRAIN / |#
This retrieves the cleaning / rinse recipes from the "Clean/Rinse" menu item. The recipe follow the same schema as above.
http://www.picobrew.com/API/SyncUser?user=00000000000000000000000000000000&machine=5xxxxxxx0000
#Cleaning v1/7f489e3740f848519558c41a036fe2cb/Heat Water,152,0,0,0/Clean Mash,152,15,1,5/Heat to Temp,152,0,0,0/Adjunct,152,3,2,1/Adjunct,152,2,3,1/Adjunct,152,2,4,1/Adjunct,152,2,5,1/Heat to Temp,207,0,0,0/Clean Mash,207,10,1,0/Clean Mash,207,2,1,0/Clean Adjunct,207,2,2,0/Chill,120,10,0,2/|Rinse v3/0160275741134b148eff90acdd5e462f/Rinse,0,2,0,5/|#
The program steps contained in the recipe have the following structure:
/NAME, TEMPERATURE, TIME, LOCATION, DRAIN/
NAME = An arbitrary string
TEMPERATURE = in °F
TIME = Duration the program step in minutes
LOCATION = 0 : Between Compartments, 1 : Mash Compartment, 2 : Adjunct Compartment A, 3 : Adjunct B, 4 : Adjunct C, 5 : Adjunct C, 6 : Chiller(?)
DRAIN = Duration in minutes to run the pump and drain
-
user
user id -
machine
"Zymatic" id
Issued when using the "re-sync recipe" option. Sometimes triggered by the machine itself.
http://www.picobrew.com/API/checksync?user=3ccfxxxxxxxxxxxxxxxxxxxxxxxxxa
I have only ever seen this one response. Not sure what the request is really for.
"\r\n#!#"
This starts a new brew session for your brew log on the PicoBrew Website. The returned id can be used to subsequently send detailed session log entry.
http://www.picobrew.com/API/logSession?user=00000000000000000000000000000000&recipe=7f489e3740f848519558c41a036fe2cb&code=0&machine=5xxxxxxx0000&firm=1.1.8
-
user
user id for the official PicoBrew user -
recipe
recipe id -
machine
"Zymatic" id -
firm
firmware version
Returns a new session id
#4406c30c181a4f918ff3f091d64d84a3#
After starting a new brew session the machine constantly sends feedback to Picobrew.com. This allows them to draw the pretty session graph.
http://www.picobrew.com/API/logsession?session=88c7011fc51e4666b9c984311f934e07&code=1&data=Heat%20Water&state=0
http://www.picobrew.com/API/LogSession?session=88c7011fc51e4666b9c984311f934e07&data=2%2F67|1%2F75|3%2F74|4%2F76&code=2&step=0/520264/520081/520081/0/0/0/1&state=0
http://www.picobrew.com/API/LogSession?session=857b4b3f39a74044bbaa258c6f58dc91&data=2%2F142|1%2F151|3%2F81|4%2F146&code=2&step=0/4368868/3707806/3707806/0/0/0/1&state=2
-
session
Session id from the above request -
data
Temperature reading like2%2F67|1%2F75|3%2F74|4%2F76
or the name of the current step of the brew process likeHeat%20Water
-
state
??? -
step
The current state of the machine. Critical to correctly resuming a session. -
code
1 : Log new program step, 2 : Temperature data for current step, 3 : End Session
The temperature readings have the following structure:
Heat Loop °F | Wort °F | Board °F | Heat Loop 2 °F
<empty>
If a brew sessions is ended prematurely one can resume it from the PicoBrew's help menu. This a two-step request. 1. Request the recipe and then 2. set the correct machine parameters.
http://www.picobrew.com/API/recoversession?session=857b4b3f39a74044bbaa258c6f58dc91&code=0
-
session
Session id -
code
"0" for the first part of the request
#Cleaning v1/7f489e3740f848519558c41a036fe2cb/Heat Water,152,0,0,0/Clean Mash,152,15,1,5/Heat to Temp,152,0,0,0/Adjunct,152,3,2,1/Adjunct,152,2,3,1/Adjunct,152,2,4,1/Adjunct,152,2,5,1/Heat to Temp,207,0,0,0/Clean Mash,207,10,1,0/Clean Mash,207,2,1,0/Clean Adjunct,207,2,2,0/Chill,120,10,0,2/|!#
Returns the same machine parameters as were saved during the temperature logging request.
http://www.picobrew.com/API/recoversession?session=857b4b3f39a74044bbaa258c6f58dc91&code=1
-
session
Session id -
code
"1" for the second part of the request
#0/10757813/3707806/3707806/0/0/0/1#