* docs: rename FONT_MANAGER_USAGE.md to FONT_MANAGER.md Renamed for clearer naming convention. Part of documentation consolidation effort. * docs: consolidate Plugin Store guides (2→1) Merged: - PLUGIN_STORE_USER_GUIDE.md - PLUGIN_STORE_QUICK_REFERENCE.md Into: PLUGIN_STORE_GUIDE.md - Unified writing style to professional technical - Added Quick Reference section at top for easy access - Removed duplicate content - Added cross-references to related documentation - Updated formatting to match style guidelines * docs: create user-focused Web Interface Guide Created WEB_INTERFACE_GUIDE.md consolidating: - V3_INTERFACE_README.md (technical details) - User-facing interface documentation - Focused on end-user tasks and navigation - Removed technical implementation details - Added common tasks section - Included troubleshooting - Professional technical writing style * docs: consolidate WiFi setup guides (4→1) Merged: - WIFI_SETUP.md - OPTIMAL_WIFI_AP_FAILOVER_SETUP.md - AP_MODE_MANUAL_ENABLE.md - WIFI_ETHERNET_AP_MODE_FIX.md (behavior documentation) Into: WIFI_NETWORK_SETUP.md - Comprehensive coverage of WiFi setup and configuration - Clear explanation of AP mode failover and grace period - Configuration scenarios and best practices - Troubleshooting section combining all sources - Professional technical writing style - Added quick reference table for behavior * docs: consolidate troubleshooting guides (4→1) Merged: - TROUBLESHOOTING_QUICK_START.md - WEB_INTERFACE_TROUBLESHOOTING.md - CAPTIVE_PORTAL_TROUBLESHOOTING.md - WEATHER_TROUBLESHOOTING.md Into: TROUBLESHOOTING.md - Organized by issue category (web, WiFi, plugins) - Comprehensive diagnostic commands reference - Quick diagnosis steps at the top - Service file template preserved - Complete diagnostic script included - Professional technical writing style * docs: create consolidated Advanced Features guide Merged: - VEGAS_SCROLL_MODE.md - ON_DEMAND_DISPLAY_QUICK_START.md - ON_DEMAND_DISPLAY_API.md - ON_DEMAND_CACHE_MANAGEMENT.md - BACKGROUND_SERVICE_README.md - PERMISSION_MANAGEMENT_GUIDE.md Into: ADVANCED_FEATURES.md - Comprehensive guide covering all advanced features - Vegas scroll mode with integration examples - On-demand display with API reference - Cache management troubleshooting - Background service documentation - Permission management patterns - Professional technical writing style * docs: create Getting Started guide for first-time users Created GETTING_STARTED.md: - Quick start guide (5 minutes) - Initial configuration walkthrough - Common first-time issues and solutions - Next steps and quick reference - User-friendly tone for beginners - Links to detailed documentation * docs: archive consolidated source files and ephemeral docs Archived files that have been consolidated: - Plugin Store guides (2 files → PLUGIN_STORE_GUIDE.md) - Web Interface guide (V3_INTERFACE_README.md → WEB_INTERFACE_GUIDE.md) - WiFi Setup guides (4 files → WIFI_NETWORK_SETUP.md) - Troubleshooting guides (4 files → TROUBLESHOOTING.md) - Advanced Features (6 files → ADVANCED_FEATURES.md) Archived ephemeral/debug documentation: - DEBUG_WEB_ISSUE.md - BROWSER_ERRORS_EXPLANATION.md - FORM_VALIDATION_FIXES.md - WEB_UI_RELIABILITY_IMPROVEMENTS.md - CAPTIVE_PORTAL_TESTING.md - NEXT_STEPS_COMMANDS.md - STATIC_IMAGE_MULTI_UPLOAD_PLAN.md - RECONNECT_AFTER_CAPTIVE_PORTAL_TESTING.md Archived implementation summaries: - PLUGIN_CONFIG_TABS_SUMMARY.md - PLUGIN_CONFIG_SYSTEM_VERIFICATION.md - PLUGIN_SCHEMA_AUDIT_SUMMARY.md - STARTUP_OPTIMIZATION_SUMMARY.md - PLUGIN_DISPATCH_IMPLEMENTATION.md - NESTED_SCHEMA_IMPLEMENTATION.md - AP_MODE_MANUAL_ENABLE_CHANGES.md - PLUGIN_CONFIG_SYSTEM_EXPLANATION.md Total archived: 27 files Preserves git history while cleaning up main docs directory * docs: rename API_REFERENCE.md to REST_API_REFERENCE.md Renamed for clarity - this is specifically the REST API reference for the web interface, not a general API reference. * docs: update README.md to reflect consolidated documentation structure Updated documentation index: - Reflects new consolidated guides (51 → 16-17 files) - Updated Quick Start sections with new file names - Added consolidation history (January 2026) - Updated file references (API_REFERENCE → REST_API_REFERENCE) - Documented archival of 33 files - Added benefits of consolidation - Updated statistics and highlights - Removed outdated references - Professional writing style maintained throughout * docs: add Vegas scroll mode system architecture documentation Added comprehensive internal architecture section for Vegas mode: - Component overview with diagram - VegasModeCoordinator responsibilities and main loop - StreamManager buffering strategy and content flow - PluginAdapter integration and fallback behavior - RenderPipeline 125 FPS rendering process - Component interaction flows - Thread safety patterns - Performance characteristics Covers: - How the four components work together - Initialization and render loop flows - Config update handling - Frame rate management and optimization - Memory usage and CPU characteristics --------- Co-authored-by: Chuck <chuck@example.com>
11 KiB
Web Interface Guide
Overview
The LEDMatrix web interface provides a complete control panel for managing your LED matrix display. Access all features through a modern, responsive web interface that works on desktop, tablet, and mobile devices.
Quick Start
Accessing the Interface
-
Find your Raspberry Pi's IP address:
hostname -I -
Open a web browser and navigate to:
http://your-pi-ip:5050 -
The interface will load with the Overview tab displaying system stats and a live display preview.
Note: If the interface doesn't load, verify the web service is running:
sudo systemctl status ledmatrix-web
Navigation
The interface uses a tab-based layout for easy navigation between features:
- Overview - System stats, quick actions, and display preview
- General Settings - Timezone, location, and autostart configuration
- Display Settings - Hardware configuration, brightness, and display options
- Durations - Display rotation timing configuration
- Sports Configuration - Per-league settings and on-demand modes
- Plugin Management - Install, configure, enable/disable plugins
- Plugin Store - Discover and install plugins
- Font Management - Upload fonts, manage overrides, and preview
- Logs - Real-time log streaming with filtering and search
Features and Usage
Overview Tab
The Overview tab provides at-a-glance information and quick actions:
System Stats:
- CPU usage and temperature
- Memory usage
- Disk usage
- Network status
Quick Actions:
- Start/Stop Display - Control the display service
- Restart Display - Restart to apply configuration changes
- Test Display - Run a quick test pattern
Display Preview:
- Live preview of what's currently shown on the LED matrix
- Updates in real-time
- Useful for remote monitoring
General Settings Tab
Configure basic system settings:
Timezone:
- Set your local timezone for accurate time display
- Auto-detects common timezones
Location:
- Set latitude/longitude for location-based features
- Used by weather plugins and sunrise/sunset calculations
Autostart:
- Enable/disable display autostart on boot
- Configure systemd service settings
Save Changes:
- Click "Save Configuration" to apply changes
- Restart the display for changes to take effect
Display Settings Tab
Configure your LED matrix hardware:
Matrix Configuration:
- Rows: Number of LED rows (typically 32 or 64)
- Columns: Number of LED columns (typically 64, 128, or 256)
- Chain Length: Number of chained panels
- Parallel Chains: Number of parallel chains
Display Options:
- Brightness: Adjust LED brightness (0-100%)
- Hardware Mapping: GPIO pin mapping
- Slowdown GPIO: Timing adjustment for compatibility
Save and Apply:
- Changes require a display restart
- Use "Test Display" to verify configuration
Durations Tab
Control how long each plugin displays:
Global Settings:
- Default Duration: Default time for plugins without specific durations
- Transition Speed: Speed of transitions between plugins
Per-Plugin Durations:
- Set custom display duration for each plugin
- Override global default for specific plugins
- Measured in seconds
Sports Configuration Tab
Configure sports-specific settings:
Per-League Settings:
- Favorite teams
- Show favorite teams only
- Include scores/standings
- Refresh intervals
On-Demand Modes:
- Live Priority: Show live games immediately
- Game Day Mode: Enhanced display during game days
- Score Alerts: Highlight score changes
Plugin Management Tab
Manage installed plugins:
Plugin List:
- View all installed plugins
- See plugin status (enabled/disabled)
- Check last update time
Actions:
- Enable/Disable: Toggle plugin using the switch
- Configure: Click ⚙️ to edit plugin settings
- Update: Update plugin to latest version
- Uninstall: Remove plugin completely
Configuration:
- Edit plugin-specific settings
- Changes are saved to
config/config.json - Restart display to apply changes
Note: See PLUGIN_STORE_GUIDE.md for information on installing plugins.
Plugin Store Tab
Discover and install new plugins:
Browse Plugins:
- View available plugins in the official store
- Filter by category (sports, weather, time, finance, etc.)
- Search by name, description, or author
Install Plugins:
- Click "Install" next to any plugin
- Wait for installation to complete
- Restart the display to activate
Install from URL:
- Install plugins from any GitHub repository
- Paste the repository URL in the "Install from URL" section
- Review the warning about unverified plugins
- Click "Install from URL"
Plugin Information:
- View plugin descriptions, ratings, and screenshots
- Check compatibility and requirements
- Read user reviews (when available)
Font Management Tab
Manage fonts for your display:
Upload Fonts:
- Drag and drop font files (.ttf, .otf, .bdf)
- Upload multiple files at once
- Progress indicator shows upload status
Font Catalog:
- View all available fonts
- See font previews
- Check font sizes and styles
Plugin Font Overrides:
- Set custom fonts for specific plugins
- Override default font choices
- Preview font changes
Delete Fonts:
- Remove unused fonts
- Free up disk space
Logs Tab
View real-time system logs:
Log Viewer:
- Streaming logs from the display service
- Auto-scroll to latest entries
- Timestamps for each log entry
Filtering:
- Filter by log level (INFO, WARNING, ERROR)
- Search for specific text
- Filter by plugin or component
Actions:
- Clear: Clear the current view
- Download: Download logs for offline analysis
- Pause: Pause auto-scrolling
Common Tasks
Changing Display Brightness
- Navigate to the Display Settings tab
- Adjust the Brightness slider (0-100%)
- Click Save Configuration
- Restart the display for changes to take effect
Installing a New Plugin
- Navigate to the Plugin Store tab
- Browse or search for the desired plugin
- Click Install next to the plugin
- Wait for installation to complete
- Restart the display
- Enable the plugin in the Plugin Management tab
Configuring a Plugin
- Navigate to the Plugin Management tab
- Find the plugin you want to configure
- Click the ⚙️ Configure button
- Edit the settings in the form
- Click Save
- Restart the display to apply changes
Setting Favorite Sports Teams
- Navigate to the Sports Configuration tab
- Select the league (NHL, NBA, MLB, NFL)
- Choose your favorite teams from the dropdown
- Enable "Show favorite teams only" if desired
- Click Save Configuration
- Restart the display
Troubleshooting Display Issues
- Navigate to the Logs tab
- Look for ERROR or WARNING messages
- Filter by the problematic plugin or component
- Check the error message for clues
- See TROUBLESHOOTING.md for common solutions
Real-Time Features
The web interface uses Server-Sent Events (SSE) for real-time updates:
Live Updates:
- System stats refresh automatically every few seconds
- Display preview updates in real-time
- Logs stream continuously
- No page refresh required
Performance:
- Minimal bandwidth usage
- Server-side rendering for fast load times
- Progressive enhancement - works without JavaScript
Mobile Access
The interface is fully responsive and works on mobile devices:
Mobile Features:
- Touch-friendly interface
- Responsive layout adapts to screen size
- All features available on mobile
- Swipe navigation between tabs
Tips for Mobile:
- Use landscape mode for better visibility
- Pinch to zoom on display preview
- Long-press for context menus
Keyboard Shortcuts
Use keyboard shortcuts for faster navigation:
- Tab: Navigate between form fields
- Enter: Submit forms
- Esc: Close modals
- Ctrl+F: Search in logs
API Access
The web interface is built on a REST API that you can access programmatically:
API Base URL:
http://your-pi-ip:5050/api
Common Endpoints:
GET /api/config/main- Get configurationPOST /api/config/main- Update configurationGET /api/system/status- Get system statusPOST /api/system/action- Control display (start/stop/restart)GET /api/plugins/installed- List installed plugins
Note: See REST_API_REFERENCE.md for complete API documentation.
Troubleshooting
Interface Won't Load
Problem: Browser shows "Unable to connect" or "Connection refused"
Solutions:
-
Verify the web service is running:
sudo systemctl status ledmatrix-web -
Start the service if stopped:
sudo systemctl start ledmatrix-web -
Check that port 5050 is not blocked by firewall
-
Verify the Pi's IP address is correct
Changes Not Applying
Problem: Configuration changes don't take effect
Solutions:
- Ensure you clicked "Save Configuration"
- Restart the display service for changes to apply:
sudo systemctl restart ledmatrix - Check logs for error messages
Display Preview Not Updating
Problem: Display preview shows old content or doesn't update
Solutions:
- Refresh the browser page (F5)
- Check that the display service is running
- Verify SSE streams are working (check browser console)
Plugin Configuration Not Saving
Problem: Plugin settings revert after restart
Solutions:
- Check file permissions on
config/config.json:ls -l config/config.json - Ensure the web service has write permissions
- Check logs for permission errors
Security Considerations
Network Access:
- The interface is accessible to anyone on your local network
- No authentication is currently implemented
- Recommended for trusted networks only
Best Practices:
- Run on a private network (not exposed to internet)
- Use a firewall to restrict access if needed
- Consider VPN access for remote control
- Keep the system updated
Technical Details
Architecture
The web interface uses modern web technologies:
- Backend: Flask with Blueprint-based modular design
- Frontend: HTMX for dynamic content, Alpine.js for reactive components
- Styling: Tailwind CSS for responsive design
- Real-Time: Server-Sent Events (SSE) for live updates
File Locations
Configuration:
- Main config:
/config/config.json - Secrets:
/config/config_secrets.json - WiFi config:
/config/wifi_config.json
Logs:
- Display service:
sudo journalctl -u ledmatrix -f - Web service:
sudo journalctl -u ledmatrix-web -f
Plugins:
- Plugin directory:
/plugins/ - Plugin config:
/config/config.json(per-plugin sections)
Related Documentation
- PLUGIN_STORE_GUIDE.md - Installing and managing plugins
- REST_API_REFERENCE.md - Complete REST API documentation
- TROUBLESHOOTING.md - Troubleshooting common issues
- FONT_MANAGER.md - Font management details