Files
brewpi/sude/GuiTest.json
T
jens df2be52298 Fix GuiTest.json: was neither small nor fast
Two compounding problems, found by actually running it:
- pot_mass=1/water_mass=1 (~2kg) is far lighter than the mass the real
  PID gains are tuned for (~30kg, matching the real recipes) - same
  heater power swings a 2kg pot far faster than the gains expect,
  causing massive overshoot (24 -> 37.5 instead of holding at 24).
  Fixed by using the same realistic mass as sud_0010.json/sud_0020.json.
- The overshoot then needed a passive cooldown back down to the next
  step's target - independent of any declared rate, governed by the
  plant's L/C time constant (~350 min here), regardless of mass.
  Removed the (now unnecessary, since the overshoot is gone) explicit
  cooldown step too.

Predicted/actual duration drops from ~408 min to ~18-21 min - verified
both via components/sud_forecast.py's estimator and a live run against
the real server (reaches DONE, no controller chattering).
2026-06-21 17:11:09 +02:00

74 lines
1.3 KiB
JSON

{
"Name": "GuiTest",
"Description": "Small, fast schedule for exercising the GUI (load/start/pause/stop/restart) without waiting through a real brew",
"pot_mass": 5.96,
"pot_material": "Edelstahl 18/10",
"default": {
"step": {
"descr": "Put description here",
"user_message": "Put user message here",
"user_wait_for_continue": false,
"grain_mass": 5.21,
"water_mass": 22,
"temperature": 0,
"ramp": {
"rate": 5.0,
"stirrer": {
"speed": 50,
"interval_time": 0,
"on_ratio": 1.0
}
},
"hold": {
"duration": 1,
"stirrer": {
"speed": 30,
"interval_time": 0,
"on_ratio": 1.0
}
}
}
},
"steps": [
{
"descr": "Heat to 24",
"temperature": 24,
"ramp": {
"rate": 5.0
}
},
{
"descr": "Add something",
"user_message": "Please confirm to continue",
"user_wait_for_continue": true,
"hold": {
"duration": 0
}
},
{
"descr": "Short hold at 24",
"hold": {
"duration": 1
}
},
{
"descr": "Heat to 28, then hold",
"temperature": 28,
"ramp": {
"rate": 5.0
},
"hold": {
"duration": 1
}
},
{
"descr": "Final confirm",
"user_message": "Quittieren zum Abschluss",
"user_wait_for_continue": true,
"hold": {
"duration": 0
}
}
]
}