feat(dashboard): support fully custom cryostat level names in fridge monitor

  • Temperature entries whose level wasn't one of 5 hardcoded names (50K, 3K, Still, 50mK, Mixing Chamber) were silently dropped from the Fridge Monitor dashboard instead of being displayed. Surfaced by a custom fridge backend (ld400) using different internal stage naming.
  • Removed the hardcoded CRYOSTAT_LEVELS vocabulary entirely. Level names are now fully custom, and display order simply follows the order levels first appear in the thermometers mapping in system-monitor-dashboard.toml — fully user-controlled via existing config, no new schema field needed.
  • Generalized the temperature plot row layout to handle any number of distinct levels (previously hardcoded to a 3+2 split assuming exactly 5).
  • Multiple sensors sharing one level continue to be grouped onto a single plot as separate lines (unaffected, now covered by a regression test).

Closes #405 (closed)

Tested with the following dummy config:

thermometry_component_id = "thermometry_unit_1"

[thermometers]
thermometer_1 = "3K"
thermometer_2 = "4K"
thermometer_3 = "4K"
thermometer_4 = "Any name"
thermometer_5 = "3K"
thermometer_6 = "Mixing Chamber"
thermometer_7 = "MXC"
thermometer_8 = "50K"
thermometer_9 = "More rows"

Result:

image.png

Edited by Koushik Kumaran

Merge request reports

Loading
Loading