fix(webui): /api/status устойчив при недоступном atxctl; WS-баннер в клиента, не в порт
В console-режиме на arm atxctl нет по пути — status больше не падает (power=unknown). WS: баннер 'console ready' уходит в веб-клиент, а не записывается в serial (не мусорим на экран сервера).
This commit is contained in:
@@ -118,7 +118,11 @@ async def api_power_cycle():
|
||||
|
||||
@app.get("/api/status")
|
||||
async def api_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:
|
||||
|
||||
Reference in New Issue
Block a user