Skip to content

Conversation

@iAndrea
Copy link
Contributor

@iAndrea iAndrea commented Dec 11, 2025

With this implementation we can keep an eye on the refresh date (and more) for every plugin without having to access the logs.

Added

  • Global Debug Mode: Device-level toggle in settings UI to enable/disable debug overlay across all plugins
  • Plugin-Level Override: Per-plugin debug control via displayRefreshTime setting
  • Debug Overlay Display: White box in top-right corner showing:
    • Last refresh timestamp (timezone/format aware)
    • Refresh interval (human-readable: "1h", "30m")
    • Custom plugin-specific fields (extensible)
  • Base Debug Infrastructure: Generic BasePlugin implementation with get_custom_debug_info() override method
  • Dual Rendering Support:
    • HTML plugins: Template-based overlay with CSS styling
    • Image plugins: PIL-drawn overlay with matching appearance
  • Weather Plugin Custom Debug: Shows provider, API timing, location, units, and active display options (this is an example for custom fields)

Changed

  • Weather Plugin: Removed custom timestamp implementation, migrated to base debug system
  • All 20+ Plugins: Updated to support unified debug system
    • 9 HTML plugins: Pass device_config to render_image()
    • 11 Image plugins: Call add_debug_overlay() before returning
  • Refresh System: Added generation timing and cache status tracking
  • Settings UI: Added "Show Debug Info" checkbox to device settings
Screenshot 2025-12-11 at 18 03 57 clock_clock weather_weatherr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants