Files
WLED_MM_Infinity/docs/rfp-local-visualizer.md
jan 4bc4e1257e
Some checks failed
WLED CI / wled_build (push) Has been cancelled
Deploy Nightly / wled_build (push) Has been cancelled
Deploy Nightly / Deploy nightly (push) Has been cancelled
Backup RFP Infinity controller state before Resolume changes
2026-05-14 12:31:13 +02:00

2.5 KiB

RFP Local Infinity Visualizer

This visualizer runs on the laptop and uses the master only as a JSON source. It is the preferred development tool when you only have the master controller available and want to simulate the six render nodes.

Layout

The visualizer mirrors the physical installation:

  • 6 columns are the six ESP nodes, left to right: ESP1 to ESP6
  • 3 rows are the three outputs per ESP
  • top row: UART6
  • middle row: UART5
  • bottom row: UART4
  • each output is drawn as one square frame with 106 LEDs
  • LED order per frame follows the drawing: top edge left-to-right, right edge top-to-bottom, bottom edge right-to-left, left edge bottom-to-top
  • edge split is 25 LEDs on top, 27 LEDs right, 27 LEDs bottom, 27 LEDs left

Start

cd /home/jan/Documents/RFP/WLED-MM/repo

.venv/bin/python tools/infinity_visualizer_server.py \
  --master 10.42.0.213 \
  --port 8765

Open the URL printed by the tool, normally:

http://127.0.0.1:8765/?master=10.42.0.213

If port 8765 is already in use, the tool automatically tries the next free port and prints that URL instead, for example:

Port 8765 is busy, using 8766 instead.
Infinity visualizer: http://127.0.0.1:8766/?master=10.42.0.213

Why Local

The ESP32 master webserver should stay focused on WLED and Infinity control. The local visualizer avoids loading extra HTML, JavaScript, canvas rendering, or polling logic from the ESP itself.

The local server proxies:

http://10.42.0.213/json/infinity

to:

http://127.0.0.1:8765/api/infinity

This also avoids browser CORS issues.

Controls

  • Master IP: change the master target without restarting the server
  • Connect: fetch state immediately
  • Pause: freeze polling and animation
  • Master UI: open the master /infinity page

Notes

  • This is not yet a bit-exact WLED renderer. It reads /json/eff from the master and maps effect names to browser preview classes.
  • Currently supported preview classes include Solid, Blink, Strobe, Breathe/Fade, Wipe, Scan, Chase/Running/Theater, Rainbow/Colorloop, Fire, Twinkle/Sparkle/Glitter, and Noise/Plasma/Waves/Ripple.
  • Unknown effects are shown as a generic moving color blend so they remain visible while we decide which effects need exact custom previews.
  • It is a lightweight development preview for scene state, colors, row dimmers, effect IDs, brightness, and virtual node layout.
  • The simulated layout is six nodes, each with three rows and 106 LEDs.