diff --git a/server/src/wled_controller/static/js/features/calibration.js b/server/src/wled_controller/static/js/features/calibration.js index 199be5c..de84330 100644 --- a/server/src/wled_controller/static/js/features/calibration.js +++ b/server/src/wled_controller/static/js/features/calibration.js @@ -214,6 +214,20 @@ export async function showCSSCalibration(cssId) { const testGroup = document.getElementById('calibration-css-test-group'); testGroup.style.display = devices.length ? '' : 'none'; + // Pre-select device: 1) LED count match, 2) last remembered, 3) first + if (devices.length) { + const rememberedId = localStorage.getItem('css_calibration_test_device'); + let selected = null; + if (source.led_count > 0) { + selected = devices.find(d => d.led_count === source.led_count) || null; + } + if (!selected && rememberedId) { + selected = devices.find(d => d.id === rememberedId) || null; + } + if (selected) testDeviceSelect.value = selected.id; + testDeviceSelect.onchange = () => localStorage.setItem('css_calibration_test_device', testDeviceSelect.value); + } + // Populate calibration fields const preview = document.querySelector('.calibration-preview'); preview.style.aspectRatio = '';