From 912e0a7b2825a680bbcf6bbca7abfab9a970fa2d Mon Sep 17 00:00:00 2001 From: toros Date: Tue, 8 Sep 2026 23:39:26 +0500 Subject: [PATCH] =?UTF-8?q?fix(webui):=20/api/status=20=D1=83=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=B9=D1=87=D0=B8=D0=B2=20=D0=BF=D1=80=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B5=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=BD=D0=BE=D0=BC=20?= =?UTF-8?q?atxctl;=20WS-=D0=B1=D0=B0=D0=BD=D0=BD=D0=B5=D1=80=20=D0=B2=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0,=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=B2=20=D0=BF=D0=BE=D1=80=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В console-режиме на arm atxctl нет по пути — status больше не падает (power=unknown). WS: баннер 'console ready' уходит в веб-клиент, а не записывается в serial (не мусорим на экран сервера). --- atxpi/webui/server.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/atxpi/webui/server.py b/atxpi/webui/server.py index ba5dc36..efeef39 100644 --- a/atxpi/webui/server.py +++ b/atxpi/webui/server.py @@ -118,7 +118,11 @@ async def api_power_cycle(): @app.get("/api/status") async def api_status(): - s = power_mod.status() + try: + s = power_mod.status() + except Exception as e: + log.warning("power status unavailable: %s", e) + s = {"power": "unknown", "powered_on": None} return { "power": s["power"], "powered_on": s["powered_on"], @@ -150,7 +154,8 @@ async def ws_console(ws: WebSocket): await ws.close() return - console.send(("\r\nATXPI console ready. driver=%s\r\n" % DRIVER).encode()) + # баннер шлём клиенту (в ws), а НЕ в порт — не пишем на экран сервера. + await ws.send_bytes(("\r\nATXPI console ready. driver=%s\r\n" % DRIVER).encode()) async def reader(): try: