[ { "name": "Yogurt", "variant": "default", "controllers": [ "(make-duty-controller \"heater\" 0.20 120)" ], "description": "Pastorizza lo yogurt a 82 gradi, lascia raffreddare per fare l'inoculo, mantiene a 42 gradi fino a che è pronto.", "phases": [ { "name": "Preheat", "description": "Preheat yogurt to 82°", "on_load": "(begin (set-controller \"heater\" \"T_food\")\n(set-target \"T_food\" 82.0))", "exit_condition": "(and (>= (get-sensor \"T_food\") 81.5)\n(> (time-in-this-phase) (seconds 1)))" }, { "name": "Cool", "description": "Cool to 46°", "exit_condition": "(and (< (get-sensor \"T_food\") 46.0)\n(> (get-sensor \"T_food\") 42.0))" }, { "name": "Hold", "description": "Keep at 42° for 3h", "exit_condition": "(> (time-in-this-phase) (seconds 5))", "on_exit": "(notify \"You can remove the yogurt from the heater\")" }, { "name": "Inoculate", "description": "Add 50ml Yogurt", "on_load": "(notify \"Inoculate 50g of yogurt NOW!\")", "exit_condition": "(manual-intervention \"Inocula 50g di yogurt\" '((\"Fatto\" #t)))", "on_exit": "(notify (concat \"Inoculated at \" (now)))" }, { "name": "Hold", "description": "Keep at 42° for 3h", "exit_condition": "(> (time-in-this-phase) (seconds 3))", "on_exit": "(notify \"You can remove the yogurt from the heater\")" } ] }, { "name": "Nattō", "variant": "default", "controllers": [ "(make-duty-controller \"heater\" 0.20 120)" ], "description": "FIXME", "phases": [] }, { "name": "Tempeh", "variant": "default", "controllers": [ "(make-duty-controller \"heater\" 0.20 120)" ], "description": "FIXME", "phases": [] }, { "name": "Koji Rice", "variant": "default", "controllers": [ "(make-duty-controller \"heater\" 0.20 120)" ], "description": "FIXME", "phases": [] }, { "name": "Gorgonzola", "variant": "default", "controllers": [ "(make-duty-controller \"heater\" 0.20 120)" ], "description": "FIXME", "phases": [] } ]