WLED as ARGB controller for PC (fans and so)

Hi. I need sanity check. Want to make ARGB for my PC case (fans, maybe few led strip later), but my motherboard have no build-in ARGB controller. So i plan to use WLED on ESP32-C3 super mini board (have several of them). I can’t use WiFi to control WLED because my ESP32-C3 board have poor antenna, PC case have lot of iron, and WiFi signal in my room already weak. And i dislike idea of using WiFi for in-case communication, it’s kind of overkill.

My current plan is to use python script[1] that will serve WLED web static, receive json commands from browser via websocket and send json to WLED over serial port. Prototype work, but maybe i missing much more elegant way to do what i want.

And second question, how can i get thing like /json/palettes by serial console? Now i just hardcoded them to static so it works

[1]

import serial

from sanic import Sanic, Request, Websocket
from sanic.response import text

app = Sanic("MyHelloWorldApp")

@app.websocket("/ws")
async def feed(request: Request, ws: Websocket):
    ser = serial.Serial('/dev/ttyACM0', 115200, timeout=1)

    ser.write(b'{"v":true}')
    await ws.send(ser.readline().decode())

    async for msg in ws:
        ser.write(msg.encode())
        await ws.send(ser.readline().decode())