From 81033436880b11dcbb483fd2bf179f0bd05ace8a Mon Sep 17 00:00:00 2001 From: Repinoid Date: Tue, 26 May 2026 09:54:23 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20return=20null=20cmd=20on=20SEARCHING=20?= =?UTF-8?q?=E2=80=94=20wait=20for=20ELM327=20to=20finish?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/raw_endpoint.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/web/raw_endpoint.py b/web/raw_endpoint.py index 5676ed6..24c40ec 100644 --- a/web/raw_endpoint.py +++ b/web/raw_endpoint.py @@ -209,17 +209,17 @@ def register(app): parsed = _parse_response(raw, sess["data"]) logger.info(f"[{session_id}] {parsed}") - # SEARCHING/NO DATA — не продвигаем стейт, повторяем команду + # SEARCHING/NO DATA — ждём, не продвигаем стейт is_skip = raw.startswith("SEARCHING") or raw == "NO DATA" or raw == "STOPPED" if is_skip: sess["retries"] = sess.get("retries", 0) + 1 if sess["retries"] > 3: logger.info(f"[{session_id}] Giving up after {sess['retries']} retries") sess["retries"] = 0 - # принудительно продвигаем стейт ниже - elif sess["queue"]: - cmd = sess["queue"].pop(0) - return jsonify({"cmd": cmd, "session": session_id, "state": sess["state"]}) + # Продвигаем принудительно (ниже) + else: + # Ждём — не шлём команду, ELM327 сам ответит когда готов + return jsonify({"cmd": None, "session": session_id, "state": sess["state"], "msg": "Жду..."}) # Если есть очередь — отдаём следующую if sess["queue"]: