diff --git a/static/index.html b/static/index.html
index 5f272d3..33ac3a5 100644
--- a/static/index.html
+++ b/static/index.html
@@ -2222,6 +2222,10 @@
values[key] = field.value || "";
}
});
+ const wakeSoundChoice = String(values.wake_sound_catalog || "").trim();
+ if (wakeSoundChoice && wakeSoundChoice !== "__custom__") {
+ values.wake_word_triggered_sound_file = wakeSoundChoice;
+ }
return values;
}
@@ -2300,6 +2304,10 @@
alert("Enter the device IP or hostname first.");
return;
}
+ const wakeSoundSelect = document.querySelector("select[data-wake-sound-select]");
+ if (wakeSoundSelect instanceof HTMLSelectElement) {
+ syncRenderedWakeSoundSelection({ fromPicker: true });
+ }
const ok = confirm(`Build and flash ${template.label || template.value} firmware to ${host}:${port || "3232"}?\n\nMake sure this is the correct device before continuing.`);
if (!ok) return;
diff --git a/trainer_server.py b/trainer_server.py
index 3408ff7..a690c94 100644
--- a/trainer_server.py
+++ b/trainer_server.py
@@ -2191,7 +2191,7 @@ def _run_firmware_build_flash_background(session_id: str):
return
try:
- config_path, _normalized, build_path = _render_firmware_config(template_key, values, host, session_id, port)
+ config_path, normalized, build_path = _render_firmware_config(template_key, values, host, session_id, port)
except Exception as exc:
_append_firmware_log(session_id, f"✗ Failed to prepare firmware config: {exc}")
with FIRMWARE_LOCK:
@@ -2219,6 +2219,8 @@ def _run_firmware_build_flash_background(session_id: str):
_append_firmware_log(session_id, f"→ Device: {host}:{port}")
_append_firmware_log(session_id, f"→ Config: {config_path}")
_append_firmware_log(session_id, f"→ Build cache: {build_path}")
+ if normalized.get("wake_word_triggered_sound_file"):
+ _append_firmware_log(session_id, f"→ Wake sound: {normalized['wake_word_triggered_sound_file']}")
_append_firmware_log(session_id, "→ Running: " + " ".join(command))
try: