fix: hold an unpair while radio TX is suspended

/unpairShade answers paired:false as soon as the unpair is queued. If TX
was suspended before loop() reached it, the Prog was dropped and the shade
stayed paired, with nothing to tell the client. The unpair now waits in the
queue until TX resumes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
cjkas 2026-10-13 15:33:49 +02:00
parent 082d9776ed
commit 50ff878498
3 changed files with 15 additions and 5 deletions

View file

@ -311,7 +311,8 @@ static void serializeShadeRef(SomfyShade *shade, JsonFormatter &json) {
json.addElem("repeats", shade->repeats);
}
// paired is passed in for a response that reports the change the main loop
// is about to make.
// is about to make. The unpair is held until it goes on air (holdWebCommand),
// so the answer comes true.
static void serializeShade(SomfyShade *shade, JsonFormatter &json, bool paired) {
json.addElem("shadeId", shade->getShadeId());
json.addElem("roomId", shade->roomId);