-
ddd7de4b7c
Remove Ist/Soll header row from LCD panel to save vertical space

jensandClaude Sonnet 4.6
2026-06-28 16:36:08 +02:00
-
d0d0c7d3ee
Add collapsible manual panel to give progress pane more room

jensandClaude Sonnet 4.6
2026-06-28 16:31:43 +02:00
-
2020207af0
Update README: browser layout, iPad/Safari, WebSocket disconnect

jensandClaude Sonnet 4.6
2026-06-28 15:36:08 +02:00
-
0f31cc41cc
Handle abrupt WebSocket disconnect (e.g. Safari tab close)

jensandClaude Sonnet 4.6
2026-06-28 15:34:53 +02:00
-
d44601fee1
Optimize browser GUI layout for iPad Air 4 / Safari

jensandClaude Sonnet 4.6
2026-06-28 15:18:54 +02:00
-
95bc7dbaf0
Move New/Load/Save below host input; double transport button size

jensandClaude Sonnet 4.6
2026-06-28 12:56:22 +02:00
-
6640d99e4f
README: refresh docs for heater shutdown, resume fix, browser countdown

jensandClaude Sonnet 4.6
2026-06-28 12:36:24 +02:00
-
e43d47252e
Progress panes: replace live actual temp with configured hold duration

jensandClaude Sonnet 4.6
2026-06-28 12:34:30 +02:00
-
fd4cede19b
Progress pane: ramp/hold countdown with green digits; header ramp+hold rows

jensandClaude Sonnet 4.6
2026-06-28 12:30:23 +02:00
-
6d481d7764
Shut heater off on brew end (DONE) and stop (IDLE)

jensandClaude Sonnet 4.6
2026-06-28 12:07:21 +02:00
-
b54cda2f97
Browser GUI: swap total/step countdown order; always use h:mm:ss format

jensandClaude Sonnet 4.6
2026-06-28 12:00:11 +02:00
-
8714a140bb
Fix resume not resetting temp soll for steps that inherit temperature

jensandClaude Sonnet 4.6
2026-06-28 11:49:00 +02:00
-
6d65d11856
README: refresh docs; highlight server-owns-state design principle

jensandClaude Sonnet 4.6
2026-06-28 10:41:31 +02:00
-
05358e7c4c
Reset TC setpoints and stirrer to schedule on resume from pause

jensandClaude Sonnet 4.6
2026-06-28 10:36:26 +02:00
-
35e50f5644
Disable TC sliders during active run in closed-loop mode

jensandClaude Sonnet 4.6
2026-06-28 10:31:20 +02:00
-
f55d085ae4
Add Closed-loop/Open-loop heater control mode

jensandClaude Sonnet 4.6
2026-06-28 10:29:30 +02:00
-
956f32e6ea
Browser GUI: heater manual slider tracks PowerSet (soll), not Power (ist)

jensandClaude Sonnet 4.6
2026-06-28 09:37:12 +02:00
-
a500bc559e
Browser GUI: add step and total countdown to header

jensandClaude Sonnet 4.6
2026-06-28 09:34:21 +02:00
-
93fcf373ab
Browser GUI: always reflect server ist values for heater power and stirrer speed

jensandClaude Sonnet 4.6
2026-06-28 09:27:30 +02:00
-
2b73ff7d5c
Zero heater and stirrer sliders when sud stops in both clients

jensandClaude Sonnet 4.6
2026-06-27 22:00:18 +02:00
-
897a69fd17
Scale LCD panel and pot SVG to 200%, shrink progress column

jensandClaude Sonnet 4.6
2026-06-27 21:41:01 +02:00
-
5c2a301f1f
Redesign browser GUI: drop tabs, 3-column layout, labels above sliders

jensandClaude Sonnet 4.6
2026-06-27 21:35:25 +02:00
-
b4e7007c4a
Pre-init pot temperature input with ambient temp on first server push

jensandClaude Sonnet 4.6
2026-06-27 21:16:49 +02:00
-
0316cfd33b
Remove server-side Activate/Enable residues from heater and tempctrl tasks

jensandClaude Sonnet 4.6
2026-06-27 21:13:49 +02:00
-
ce6f14eccf
Disable manual sliders during sud, track live values continuously

jensandClaude Sonnet 4.6
2026-06-27 21:10:40 +02:00
-
734da781f8
Fix browser client WS connection: missing brace, error handling, localhost fallback

jensandClaude Sonnet 4.6
2026-06-27 20:56:34 +02:00
-
dd6193fa46
Remove manual tab override/enable checkboxes from browser and PyQt clients

jensandClaude Sonnet 4.6
2026-06-27 20:37:14 +02:00
-
82acc2d149
Scale fire flames with SVG transform anchored at base, floor at 1200W

jensandClaude Sonnet 4.6
2026-06-27 10:32:47 +02:00
-
eef391e048
Revert "Revert LCD/pot to always-visible with placeholder values when disconnected"
jens
2026-06-27 10:07:23 +02:00
-
975c9c97ef
Revert LCD/pot to always-visible with placeholder values when disconnected

jensandClaude Sonnet 4.6
2026-06-27 10:06:22 +02:00
-
fd3cd64a60
Hide status lines when disconnected, show on connect

jensandClaude Sonnet 4.6
2026-06-27 09:42:49 +02:00
-
dee0d4e1cc
Hide LCD/pot panel when disconnected, show on connect

jensandClaude Sonnet 4.6
2026-06-27 09:35:10 +02:00
-
4375538c25
Fix grain/level vanishing after reconnect at an active step

jensandClaude Sonnet 4.6
2026-06-27 09:27:28 +02:00
-
fe44c870a7
Add utilized volume level indicator and fix water fill level

jensandClaude Sonnet 4.6
2026-06-27 09:04:04 +02:00
-
0c30ea5dd4
sud_0010: reset grain_mass to 0 at mash-in step

jensandClaude Sonnet 4.6
2026-06-27 08:53:59 +02:00
-
545d924111
Fix animations: stirrer/grains static at rest, fire uses power soll

jensandClaude Sonnet 4.6
2026-06-27 08:40:53 +02:00
-
c92c41230d
Fix fire gap: restore flame positions, increase clip topBuffer to 20px

jensandClaude Sonnet 4.6
2026-06-26 23:02:11 +02:00
-
7809cb1938
Fix fire scaling: clip upper flames, keep base constant

jensandClaude Sonnet 4.6
2026-06-26 22:55:27 +02:00
-
6bcf1fda0a
Add soll temperature marker to thermometer

jensandClaude Sonnet 4.6
2026-06-26 22:31:20 +02:00
-
bc4a11dcb7
Show floating grain particles in water when grain_mass > 0

jensandClaude Sonnet 4.6
2026-06-26 22:27:05 +02:00
-
7dfe88b89e
Shorten stirrer shaft 15% and raise blades to match

jensandClaude Sonnet 4.6
2026-06-26 22:18:27 +02:00
-
5e423badd8
Scale LCD panel and pot visualization 2x

jensandClaude Sonnet 4.6
2026-06-26 22:13:38 +02:00
-
47bbc53d3c
Animate stirrer blades proportional to speed

jensandClaude Sonnet 4.6
2026-06-26 22:09:22 +02:00
-
083bc97651
Add animated fire visualization and fix step pot param reading

jensandClaude Sonnet 4.6
2026-06-26 22:04:32 +02:00
-
59b18b95b6
Move pot/thermometer next to LCD panel, scale to 144px

jensandClaude Sonnet 4.6
2026-06-26 21:49:36 +02:00
-
b721db2396
Add pot/thermometer visualization to browser GUI

jensandClaude Sonnet 4.6
2026-06-26 21:46:58 +02:00
-
99201833ff
Fix GUI client references to nested pot params

jensandClaude Sonnet 4.6
2026-06-26 08:04:01 +02:00
-
8c845ed5c5
Fix crash: rename shadowing 'pot' variable in forecast closure

jensandClaude Sonnet 4.6
2026-06-26 08:02:53 +02:00
-
e2e3baab08
Refactor sud JSON pot params under a nested 'pot' key

jensandClaude Sonnet 4.6
2026-06-26 07:31:27 +02:00
-
7dd0400278
Format temperature and rate LCD displays to always show 1 decimal place

jensandClaude Sonnet 4.6
2026-06-25 22:26:06 +02:00
-
0215bac13e
Distributed confirmation dialog: all GUIs open on WAIT_USER, server closes all

jensandClaude Sonnet 4.6
2026-06-25 22:21:41 +02:00
-
dabec1fd31
Wire PyQt power ist/soll LCDs to match browser GUI

jensandClaude Sonnet 4.6
2026-06-25 21:39:10 +02:00
-
44541220f9
Fix FSM regression: swap TempControllerBase base class order

jensandClaude Sonnet 4.6
2026-06-25 21:22:52 +02:00
-
95a05eb0c2
Retheme web UI to dark Mainsail-inspired design with transport buttons

jensandClaude Sonnet 4.6
2026-06-25 21:00:53 +02:00
-
42d7776a85
Extract FSM logic from TempControllerBase into TempControllerFsm

jensandClaude Sonnet 4.6
2026-06-25 20:50:20 +02:00
-
f7355270c8
Extract shared factory dispatch into ComponentFactory base class

jensandClaude Sonnet 4.6
2026-06-25 20:44:43 +02:00
-
47fb09aa06
Move set_on_changed registrations from on_process() to __init__()

jensandClaude Sonnet 4.6
2026-06-25 20:39:06 +02:00
-
3ec0a248bb
Fix fragile substring dispatch in TcTask.recv()

jensandClaude Sonnet 4.6
2026-06-25 20:33:23 +02:00
-
7df5843cf8
Replace wildcard imports in tasks/__init__.py with explicit re-exports

jensandClaude Sonnet 4.6
2026-06-25 20:32:15 +02:00
-
bd39f4766c
Remove dead IWsServer interface

jensandClaude Sonnet 4.6
2026-06-25 20:30:33 +02:00
-
4585799c02
Remove silent exception swallowing in WsServerMultiUser

jensandClaude Sonnet 4.6
2026-06-25 20:29:30 +02:00
-
1cd4cdc451
Remove debug prints from WsServer

jensandClaude Sonnet 4.6
2026-06-25 20:28:27 +02:00
-
c4a68df529
Remove debug prints from TcTask

jensandClaude Sonnet 4.6
2026-06-25 20:26:57 +02:00
-
6e696f44e4
Add set_ambient_temperature and set_model_plant_params stubs to TempControllerBase

jensandClaude Sonnet 4.6
2026-06-25 20:22:33 +02:00
-
2f2067d2b9
Add set_model_power no-op stub to TempControllerBase

jensandClaude Sonnet 4.6
2026-06-25 20:19:33 +02:00
-
740fe8eee9
Remove debug prints from HeaterFactory

jensandClaude Sonnet 4.6
2026-06-25 20:17:42 +02:00
-
9ec966a3ac
Fix websockets >=10 compatibility in WsServer

jensandClaude Sonnet 4.6
2026-06-25 20:17:11 +02:00
-
7ff4051288
Add Vue.js + uPlot UI migration to web/TODO.md

jensandClaude Sonnet 4.6
2026-06-25 00:43:32 +02:00
-
dc26fa5070
Add Pause to the browser client's Sud controls

jensandClaude Sonnet 4.6
2026-06-25 00:36:38 +02:00
-
9b7ef5832e
Move Sud controls into the header bar next to Connect

jensandClaude Sonnet 4.6
2026-06-25 00:28:03 +02:00
-
0e343655b7
Surface WAIT_USER and add Confirm to the browser client

jensandClaude Sonnet 4.6
2026-06-25 00:21:49 +02:00
-
83fd16e46c
Add Sud New/Load/Save and Start/Stop to the browser client

jensandClaude Sonnet 4.6
2026-06-25 00:08:30 +02:00
-
35d33530ef
Fix step-1-skipped-on-restart race and Progress tab step number mismatch

jensandClaude Sonnet 4.6
2026-06-24 23:30:37 +02:00
-
787f02b8dc
Add a browser client (web/) alongside the desktop GUI

jensandClaude Sonnet 4.6
2026-06-24 20:12:01 +02:00
-
2913b41cab
Fix elapsed showing --:-- at DONE, and energy not reset on restart

jensandClaude Sonnet 4.6
2026-06-24 19:39:03 +02:00
-
3c5b3053e9
Refresh README: Progress tab, reanchor mechanism, CLI dt/warp flags

jensandClaude Sonnet 4.6
2026-06-24 19:26:17 +02:00
-
fa6acf7c82
Show summed process time and total energy in the status bar

jensandClaude Sonnet 4.6
2026-06-24 19:21:01 +02:00
-
fb2a5ce05a
Move dt/sim_warp_factor from config.json to CLI flags

jensandClaude Sonnet 4.6
2026-06-24 19:09:30 +02:00
-
6e19162c16
Track and display energy consumption per Sud step

jensandClaude Sonnet 4.6
2026-06-24 19:09:10 +02:00
-
8896f216d1
Fix Progress tab highlighting the wrong step on reconnect/Save

jensandClaude Sonnet 4.6
2026-06-24 18:15:45 +02:00
-
6faf1a1f12
StepPlate: force description/remaining-time labels to black text

jensandClaude Sonnet 4.6
2026-06-24 17:30:30 +02:00
-
e49af8a347
Add a Progress tab: one step plate per schedule step, stacked

jensandClaude Sonnet 4.6
2026-06-24 17:15:14 +02:00
-
0be8ffcbe0
Revert "Run the Pot simulation from server startup, not just once a Sud loads"
jens
2026-06-24 16:09:49 +02:00
-
17e8386002
Generalize Sud forecast reanchoring to every step boundary

jensandClaude Sonnet 4.6
2026-06-24 10:50:17 +02:00
-
d8e9c39fda
Revert "GUI: stop pre-dialing the Pot reset spinbox to ambient temperature"
jens
2026-06-23 22:28:37 +02:00
-
9373cc408a
GUI: stop pre-dialing the Pot reset spinbox to ambient temperature
jens
2026-06-23 22:24:36 +02:00
-
1e3c631ed9
Sud-0020: whitespace
jens
2026-06-23 22:21:36 +02:00
-
ead900b7b1
Build the heater/pot/sensor rig as one unit, picked by plant_name alone
jens
2026-06-23 20:22:51 +02:00
-
67cf5fd00b
Sud-0020: hold Einmaischen Rast at 55°C, note pot temp drop at malt fill-in
jens
2026-06-23 20:04:38 +02:00
-
63fa093a8a
Run the Pot simulation from server startup, not just once a Sud loads
jens
2026-06-23 20:01:59 +02:00
-
a8ae6f2a65
GUI: rename Pot reset button to "Set" and move it next to its spinbox
jens
2026-06-23 19:37:33 +02:00
-
f035e1decd
GUI: add a spinbox to pre-dial the simulated Pot's reset temperature
jens
2026-06-23 19:34:33 +02:00
-
e4f8b15ab0
Route the forecast estimator's commanded power through the heater PWM chain
jens
2026-06-23 19:19:21 +02:00
-
616cf113f2
Mirror raw sensor temp through when the controller isn't configured yet
jens
2026-06-23 19:11:50 +02:00
-
deb370257d
GUI: widen ambient-temp spinbox range and persist it client-side
jens
2026-06-23 19:11:02 +02:00
-
8726b0a62d
GUI: use a spinbox for ambient temperature instead of a text entry

jensandClaude Sonnet 4.6
2026-06-22 22:52:36 +02:00
-
df91ec61f3
docs: refresh Forecast vs. actual duration for the real-temperature anchoring fixes

jensandClaude Sonnet 4.6
2026-06-22 22:44:19 +02:00
-
d981c36194
Fix bogus first-tick heatrate from hardcoded last_theta_ist=20

jensandClaude Sonnet 4.6
2026-06-22 22:41:14 +02:00
-
b5755f8a52
GUI: seed the actual-trace history with the real t=0 point on a fresh start

jensandClaude Sonnet 4.6
2026-06-22 22:19:08 +02:00
-
d5a8c2422b
Anchor the forecast to the real current temperature, not a cold start

jensandClaude Sonnet 4.6
2026-06-22 22:03:35 +02:00