Context
Individual PN532 settings (board_profile, protocol, spi.*) are already editable via the generic Settings page. But there is no dedicated panel to:
- see the effective merged config (profile defaults + overrides combined)
- select a profile with visual context (defaults table)
- trigger a probe from the UI
The /sonos panel is the reference implementation.
Goal
Add a /pn532 page (new ui_pages/pn532.py) analogous to /sonos.
Panel: main page /pn532
- Current effective config card: profile name, protocol, resolved pins (reset / cs / irq) after merging profile defaults with overrides
- "Edit" button linking to
/pn532/edit
- "Probe" action: connects to the PN532, shows firmware version and one tag read attempt (must handle hardware-unavailable gracefully)
- Navigation back to Settings / Library
Panel: edit page /pn532/edit
- Profile selector (
waveshare_hat / hiletgo_v3 / custom) with defaults table shown as context
- Pin override fields for
spi.reset, spi.cs, spi.irq with profile default shown as placeholder
- Save via
POST /api/ui/pn532/edit
- Reset to profile defaults button
Settings page change
Add a "Configure PN532 🔌" shortcut button on the jukebox.reader.pn532.board_profile row, analogous to the existing "Manage Speakers 🔊" button for jukebox.player.sonos.selected_group.
Routes
GET /api/ui/pn532
GET /api/ui/pn532/edit
POST /api/ui/pn532/edit
POST /api/ui/pn532/reset (optional)
Out of scope
- Individual PN532 settings remain on the Settings page
- Probe is a bonus; the panel is useful without it
Context
Individual PN532 settings (
board_profile,protocol,spi.*) are already editable via the generic Settings page. But there is no dedicated panel to:The
/sonospanel is the reference implementation.Goal
Add a
/pn532page (newui_pages/pn532.py) analogous to/sonos.Panel: main page
/pn532/pn532/editPanel: edit page
/pn532/editwaveshare_hat/hiletgo_v3/custom) with defaults table shown as contextspi.reset,spi.cs,spi.irqwith profile default shown as placeholderPOST /api/ui/pn532/editSettings page change
Add a "Configure PN532 🔌" shortcut button on the
jukebox.reader.pn532.board_profilerow, analogous to the existing "Manage Speakers 🔊" button forjukebox.player.sonos.selected_group.Routes
GET /api/ui/pn532GET /api/ui/pn532/editPOST /api/ui/pn532/editPOST /api/ui/pn532/reset(optional)Out of scope