Devlog #3: Live RSS News Telemetry & TV Dashboard Optimization
🛠️ Summary & Overview
Elevated the RoomOps Zero ecosystem into a 24/7 ambient TV control station by integrating a real-time RSS news telemetry service.
This update includes:
- A dedicated Google News RSS parsing module for the FastAPI backend.
- In-memory response caching to reduce CPU and RAM usage on the Raspberry Pi Zero W.
- A high-visibility, auto-rotating news widget optimized for lean-back TV dashboard viewing.
⚙️ Key Technical Updates
1. Google News RSS Integration & In-Memory Caching
Files: services/news.py · main.py
- Integrated
feedparserto extract and process localized Google News RSS feeds. - Added dynamic location-based news queries through:
GET /api/news/{city} - Implemented server-side in-memory caching with a 900-second (15-minute) cache duration.
- Reduced redundant external network requests and unnecessary CPU usage on the Raspberry Pi Zero W.
- Added a non-blocking asynchronous API route returning sanitized headlines as JSON.
2. TV Dashboard UI & Headline Rotator
File: templates/index.html
- Designed a dark-themed, high-contrast TV news card optimized for long-distance readability.
- Added an asynchronous JavaScript headline rotator.
- Headlines automatically change every 12 seconds.
- Added smooth CSS opacity transitions using
fade-inandfade-outeffects. - Configured automatic background synchronization every 20 minutes to retrieve updated headlines without interrupting the active UI state.
3. 24/7 TV Display Safeguards
- Optimized DOM rendering by displaying only the currently active headline instead of rendering a large vertical list.
- Added fallback status handling with the “Εκτός σύνδεσης” message.
- Improved resilience during temporary local network outages.
- Kept the dashboard lightweight for continuous 24/7 operation.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.