- POST /api/video/play with JSON {"nfc_id": "card_id"}
- Matches web_interface.py api_play_video() endpoint
- Proper JSON Content-Type header
- Better error handling and response parsing
- Added skip video support
- Version bump to 1.3.0
- Sends card ID as plain text with Content-Type: text/plain
- Uses 10-digit zero-padded format (e.g., "0983187584")
- Tries /api/input first, falls back to /api/play
- Updated default URL to 100.94.163.117:8547
- Version bump to 1.2.0
- Mapping file now uses decimal card IDs: "983187584": "video.mp4"
- API calls include card_id as decimal integer
- Displays NFC Card ID in logs for easy mapping creation
- Version bump to 1.1.0
- TagInfo now includes nfc_card_id: the 10-digit decimal ID standard NFC readers display
- Calculated from bytes 3-6 of the 7-byte UID as big-endian uint32
- Example: UID 042B603A9A4080 -> nfc_card_id 983187584
- Updated standalone test to display nfc_card_id
- Version bump to 1.4.0
- Added speed field to default and tag entries
- Updated instructions with speed range info
- Added fast flash example tag
- Reference GUI tool in instructions
- Tag theme editor with color picker and RGB sliders
- Effect type selection: Solid, Flash, Pulse
- Speed control slider (0.2x fast to 3.0x slow) for Flash/Pulse effects
- Tag list with search/filter functionality
- Live portal connection and tag detection
- JSON config file import/export
- Video path assignments for Moonlight integration
- Real-time LED preview testing
- Default theme configuration
- Removed automatic green flash + cyan color on tag insert
- Callbacks now fully control LED behavior
- Added software_flash() for reliable cross-portal flashing
- Added software_pulse() for breathing effect
- Added apply_effect() unified interface
- Effects run in background threads (non-blocking)
- Tag removal stops any running effects on that pad
- Added legacy_key field to TagInfo for config lookup
- Add per-pad stop event system (_flash_stop_events dictionary)
- Add stop_flash(pad) method to cancel active flash animations
- flash_pad now checks stop events at multiple points in loop
- Tag removal handler calls stop_flash before setting pad to OFF
- Fixes issue where LED flash continued indefinitely after figure removed
- Tag detection turns ALL LEDs off immediately
- Server success shows CENTER blue blink (150ms)
- Theme effects (pulse/flash/solid) apply to ALL pads
- External tag_colors.json for customizable per-tag themes
- Debounce logic preserves theme effect even when skipping server