Files
LEDMatrix/docs/archive/AP_MODE_MANUAL_ENABLE_CHANGES.md
Chuck ddd300a117 Docs/consolidate documentation (#217)
* 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>
2026-01-29 10:32:00 -05:00

5.4 KiB

AP Mode Manual Enable - Implementation Summary

Changes Made

1. Configuration Option Added

Added auto_enable_ap_mode configuration option to config/wifi_config.json:

  • Default value: false (manual enable only)
  • Purpose: Controls whether AP mode automatically enables when WiFi/Ethernet disconnect
  • Migration: Existing configs automatically get this field set to false if missing

2. WiFi Manager Updates (src/wifi_manager.py)

Added Configuration Field

  • Default config now includes "auto_enable_ap_mode": False
  • Existing configs are automatically migrated to include this field

Updated check_and_manage_ap_mode() Method

  • Now checks auto_enable_ap_mode setting before auto-enabling AP mode
  • AP mode only auto-enables if:
    • auto_enable_ap_mode is true AND
    • WiFi is NOT connected AND
    • Ethernet is NOT connected
  • AP mode still auto-disables when WiFi or Ethernet connects (regardless of setting)
  • Manual AP mode (via web UI) works regardless of this setting

3. Web Interface API Updates (web_interface/blueprints/api_v3.py)

Updated /wifi/status Endpoint

  • Now returns auto_enable_ap_mode setting in response

Added /wifi/ap/auto-enable GET Endpoint

  • Returns current auto_enable_ap_mode setting

Added /wifi/ap/auto-enable POST Endpoint

  • Allows setting auto_enable_ap_mode via API
  • Accepts JSON: {"auto_enable_ap_mode": true/false}

4. Documentation Updates

  • Updated docs/WIFI_SETUP.md with new configuration option
  • Created docs/AP_MODE_MANUAL_ENABLE.md with comprehensive guide
  • Created docs/AP_MODE_MANUAL_ENABLE_CHANGES.md (this file)

Behavior Changes

Before

  • AP mode automatically enabled when WiFi disconnected (if Ethernet also disconnected)
  • Could cause SSH to become unavailable after installation
  • No way to disable auto-enable behavior

After

  • AP mode does not automatically enable by default
  • Must be manually enabled through web UI or API
  • Can optionally enable auto-enable via configuration
  • Prevents unexpected AP mode activation

Migration

Existing Installations

  1. Automatic Migration:

    • When WiFi manager loads config, it automatically adds auto_enable_ap_mode: false if missing
    • No manual intervention required
  2. To Enable Auto-Enable (if desired):

    # Edit config file
    nano config/wifi_config.json
    # Set "auto_enable_ap_mode": true
    
    # Restart WiFi monitor service
    sudo systemctl restart ledmatrix-wifi-monitor
    

New Installations

  • Default behavior is manual enable only
  • No changes needed

Testing

Verify Default Behavior

# Check config
python3 -c "
from src.wifi_manager import WiFiManager
wm = WiFiManager()
print('Auto-enable:', wm.config.get('auto_enable_ap_mode', False))
"
# Should output: Auto-enable: False

Test Manual Enable

  1. Disconnect WiFi and Ethernet
  2. AP mode should not automatically enable
  3. Enable via web UI: WiFi tab → Enable AP Mode
  4. AP mode should activate
  5. Connect WiFi or Ethernet
  6. AP mode should automatically disable

Test Auto-Enable (if enabled)

  1. Set auto_enable_ap_mode: true in config
  2. Restart WiFi monitor service
  3. Disconnect WiFi and Ethernet
  4. AP mode should automatically enable within 30 seconds
  5. Connect WiFi or Ethernet
  6. AP mode should automatically disable

API Usage Examples

Get Auto-Enable Setting

curl http://localhost:5001/api/v3/wifi/ap/auto-enable

Set Auto-Enable to True

curl -X POST http://localhost:5001/api/v3/wifi/ap/auto-enable \
  -H "Content-Type: application/json" \
  -d '{"auto_enable_ap_mode": true}'

Set Auto-Enable to False

curl -X POST http://localhost:5001/api/v3/wifi/ap/auto-enable \
  -H "Content-Type: application/json" \
  -d '{"auto_enable_ap_mode": false}'

Get WiFi Status (includes auto-enable)

curl http://localhost:5001/api/v3/wifi/status

Files Modified

  1. src/wifi_manager.py

    • Added auto_enable_ap_mode to default config
    • Added migration logic for existing configs
    • Updated check_and_manage_ap_mode() to respect setting
  2. web_interface/blueprints/api_v3.py

    • Updated /wifi/status to include auto-enable setting
    • Added /wifi/ap/auto-enable GET endpoint
    • Added /wifi/ap/auto-enable POST endpoint
  3. docs/WIFI_SETUP.md

    • Updated documentation with new configuration option
    • Updated WiFi monitor daemon description
  4. docs/AP_MODE_MANUAL_ENABLE.md (new)

    • Comprehensive guide for manual enable feature

Benefits

  1. Prevents SSH Loss: AP mode won't activate automatically after installation
  2. User Control: Users can choose whether to enable auto-enable
  3. Ethernet-Friendly: Works well with hardwired connections
  4. Backward Compatible: Existing installations automatically migrate
  5. Flexible: Can still enable auto-enable if desired

Deployment

On Existing Installations

  1. No action required - automatic migration on next WiFi manager initialization
  2. Restart WiFi monitor (optional, to apply immediately):
    sudo systemctl restart ledmatrix-wifi-monitor
    

On New Installations

  • Default behavior is already manual enable
  • No additional configuration needed
  • SSH becoming unavailable after installation
  • AP mode activating when Ethernet is connected
  • Unexpected AP mode activation on stable network connections