hakkoso/recipes.json

163 lines
5.6 KiB
JSON

[
{
"name": "Koji Rice (MISO)",
"description": "Tiene riso alla temperatura e umidità giuste per il koji",
"controllers": [
"(make-duty-controller \"heater\" 0.40 60 '<)",
"(make-duty-controller \"humidifier\" 0.10 100 '<)"
],
"phases": [
{
"name": "Prepare",
"description": "Turn Fan On",
"exit_condition": "#t",
"on_load": "(set-actuator \"fan\" #t)",
"on_exit": "#t"
},
{
"name": "Cool Down",
"description": "Wait until rice reaches 37",
"exit_condition": "(<= (get-sensor \"T_food\") 37)",
"on_load": "(begin (set-controller \"heater\" \"T_ext\")\n(set-controller \"humidifier\" \"H_ext\")\n(set-target \"T_ext\" 37.0)\n(set-target \"H_ext\" 90.0))",
"on_exit": "#t"
},
{
"name": "Inocula!",
"description": "Add koji spores",
"exit_condition": "(manual-intervention \"Inocula\" '((\"Fatto\" #t)))",
"on_load": "(notify \"Inocula ora!\")",
"on_exit": "(notify (concat \"Inoculated at \" (now)))"
},
{
"name": "Hold",
"description": "Keep 30°C",
"exit_condition": "(> (time-in-this-phase) (hours 12))",
"on_load": "(begin (set-controller \"heater\" \"T_food\")\n(set-controller \"humidifier\" \"H_ext\")\n(set-target \"T_food\" 30.0)\n(set-target \"H_ext\" 90.0))",
"on_exit": "(notify \"Rimischia il koji!\")"
},
{
"name": "Hold",
"description": "Keep 30°C",
"exit_condition": "(> (time-in-this-phase) (hours 12))",
"on_exit": "(notify \"24 ore, controlla la temperatura\")",
"on_load": "#t"
},
{
"name": "Hold",
"description": "Keep 30°C, abbassa l'umidità per favorire l'ingresso del koji nel chicco",
"exit_condition": "(> (time-in-this-phase) (hours 12))",
"on_load": "(begin (set-controller \"heater\" \"T_food\")\n(set-controller \"humidifier\" \"H_ext\")\n(set-target \"T_food\" 30.0)\n(set-target \"H_ext\" 80.0))",
"on_exit": "(notify \"Rimischia il koji!\")"
},
{
"name": "Hold",
"description": "Keep 30°C",
"exit_condition": "(> (time-in-this-phase) (hours 12))",
"on_exit": "(notify \"Rimischia il koji!\")",
"on_load": "#t"
}
]
},
{
"name": "Tepache",
"description": "Tiene il tepache a ~23 gradi",
"controllers": [
"(make-duty-controller \"heater\" 0.20 120 '<)"
],
"phases": [
{
"name": "Hold",
"description": "Keep 23°C",
"exit_condition": "(> (time-in-this-phase) (hours 10))",
"on_load": "(begin (set-controller \"heater\" \"T_food\")\n(set-target \"T_food\" 23.0))",
"on_exit": "#t"
}
]
},
{
"name": "Stracchino",
"description": "Tiene lo stracchino a ~35 gradi per 24 ore",
"controllers": [
"(make-duty-controller \"heater\" 0.80 120 '<)"
],
"phases": [
{
"name": "Hold",
"description": "Keep 35°C",
"exit_condition": "(> (time-in-this-phase) (hours 17))",
"on_load": "(begin (set-controller \"heater\" \"T_food\")\n(set-target \"T_food\" 35.0))",
"on_exit": "#t"
}
]
},
{
"name": "Yogurt",
"description": "Lascia raffreddare lo yogurt per fare l'inoculo, mantiene a 42 gradi fino a che è pronto, e poi porta a 4 gradi.",
"controllers": [
"(make-duty-controller \"heater2\" 0.10 120 '<)"
"(make-duty-controller \"freezer\" 0.20 120 '>)"
],
"phases": [
{
"name": "Prepare",
"description": "Turn Fan On",
"exit_condition": "#t",
"on_load": "(set-actuator \"fan\" #t)",
"on_exit": "#t"
},
{
"name": "Cool",
"description": "Cool to 46°C",
"exit_condition": "(and (< (get-sensor \"T_food\") 46.0)\n(> (get-sensor \"T_food\") 42.0))",
"on_load": "(begin (set-controller \"heater2\" \"T_food\") (set-target \"T_food\" 46.0) (set-controller \"freezer\" \"T_ext\") (set-target \"T_ext\" 46.0))",
"on_exit": "#t"
},
{
"name": "Inoculate (backslopping)",
"description": "Add 50ml Yogurt",
"exit_condition": "(manual-intervention \"Inocula 50g di yogurt\" '((\"Fatto\" #t)))",
"on_load": "(notify \"Inoculate 50g of yogurt NOW!\")",
"on_exit": "(notify (concat \"Inoculated at \" (now)))"
},
{
"name": "Hold",
"description": "Keep at 42°C for 4h",
"exit_condition": "(> (time-in-this-phase) (hours 4))",
"on_load": "(begin (set-target \"T_food\" 41.0) (set-target \"T_ext\" 41.0))",
"on_exit": "(notify \"The yougrt is ready\")"
},
{
"name": "Refrigerate",
"description": "Lower temperature to 4gradi",
"exit_condition": "(manual-intervention \"Rimuovi lo yogurt\" '((\"Fatto\" #t)))",
"on_load": "(begin (set-target \"T_food\" 4.0) (set-target \"T_ext\" 4.0))",
"on_exit": "(notify \"You can remove the yogurt from the heater\")"
}
]
},
{
"name": "Nattō",
"description": "FIXME",
"controllers": [
"(make-duty-controller \"heater\" 0.20 120 '<)"
],
"phases": []
},
{
"name": "Tempeh",
"description": "FIXME",
"controllers": [
"(make-duty-controller \"heater\" 0.20 120 '<)"
],
"phases": []
},
{
"name": "Gorgonzola",
"description": "FIXME",
"controllers": [
"(make-duty-controller \"heater\" 0.20 120 '<)"
],
"phases": []
}
]