Web-based configuration UI for ESP32 devices. Renders live settings forms, handles dirty tracking, and syncs changes via WebSocket.
- Modern browser (Chrome, Firefox, Safari, Edge)
- ESP32 running PARASOL firmware, or the Python test server for development
# Install dependencies
npm install
# Start the Python test server
pip install fastapi uvicorn
uvicorn test_server.main:app
# Run tests
npm test # all tests
npm run test:unit # vitest unit tests
npm run test:e2e # Playwright e2e tests
# Build (minify JS)
npm run build| Document | Audience | Content |
|---|---|---|
API_REFERENCE.md |
ESP32 firmware developers | C API reference with doxygen examples — group registration, field types, save callbacks, dirty check, runtime value access |
WS_PROTOCOL.md |
Developers debugging WebSocket traffic | Message format reference — status, settings, apply, error payloads, state machine summary |
docs/superpowers/specs/2026-06-18-unified-settings-design.md |
Contributors | Full architecture spec, API contract, JSON wire format, state machine |
Add to platformio.ini:
; Tarball — clean, minimal (recommended):
lib_deps = https://github.com/speendo/parasol/releases/download/v0.6.0/parasol-v0.6.0.tar.gz
; Git — full repo (for development):
lib_deps = https://github.com/speendo/parasol.git#v0.6.0See API_REFERENCE.md for the complete C API.