Skip to content

CUSTOM_FEEDS_GUIDE

Chuck edited this page Aug 12, 2025 · 1 revision

Adding Custom RSS Feeds & Sports - Complete Guide

This guide shows you 3 different ways to add custom RSS feeds like F1, MotoGP, or any personal feeds to your news manager.

Quick Examples

F1 Racing Feeds

# BBC F1 (Recommended - works well)
python3 add_custom_feed_example.py add "BBC F1" "http://feeds.bbci.co.uk/sport/formula1/rss.xml"

# Motorsport.com F1
python3 add_custom_feed_example.py add "Motorsport F1" "https://www.motorsport.com/rss/f1/news/"

# Formula1.com Official
python3 add_custom_feed_example.py add "F1 Official" "https://www.formula1.com/en/latest/all.xml"

Other Sports

# MotoGP
python3 add_custom_feed_example.py add "MotoGP" "https://www.motogp.com/en/rss/news"

# Tennis
python3 add_custom_feed_example.py add "Tennis" "https://www.atptour.com/en/rss/news"

# Golf
python3 add_custom_feed_example.py add "Golf" "https://www.pgatour.com/news.rss"

# Soccer/Football
python3 add_custom_feed_example.py add "ESPN Soccer" "https://www.espn.com/espn/rss/soccer/news"

Personal/Blog Feeds

# Personal blog
python3 add_custom_feed_example.py add "My Blog" "https://myblog.com/rss.xml"

# Tech news
python3 add_custom_feed_example.py add "TechCrunch" "https://techcrunch.com/feed/"

# Local news
python3 add_custom_feed_example.py add "Local News" "https://localnews.com/rss"

Method 1: Command Line (Easiest)

Add a Feed

python3 add_custom_feed_example.py add "FEED_NAME" "RSS_URL"

List All Feeds

python3 add_custom_feed_example.py list

Remove a Feed

python3 add_custom_feed_example.py remove "FEED_NAME"

Example: Adding F1

# Step 1: Check current feeds
python3 add_custom_feed_example.py list

# Step 2: Add BBC F1 feed
python3 add_custom_feed_example.py add "BBC F1" "http://feeds.bbci.co.uk/sport/formula1/rss.xml"

# Step 3: Verify it was added
python3 add_custom_feed_example.py list

Method 2: Web Interface

  1. Open Web Interface: Go to http://your-display-ip:5001
  2. Navigate to News Tab: Click the "News Manager" tab
  3. Add Custom Feed:
    • Enter feed name in "Feed Name" field (e.g., "BBC F1")
    • Enter RSS URL in "RSS Feed URL" field
    • Click "Add Feed" button
  4. Enable the Feed: Check the checkbox next to your new feed
  5. Save Settings: Click "Save News Settings"

Method 3: Direct Config Edit

Edit config/config.json directly:

{
  "news_manager": {
    "enabled": true,
    "enabled_feeds": ["NFL", "NCAA FB", "BBC F1"],
    "custom_feeds": {
      "BBC F1": "http://feeds.bbci.co.uk/sport/formula1/rss.xml",
      "Motorsport F1": "https://www.motorsport.com/rss/f1/news/",
      "My Blog": "https://myblog.com/rss.xml"
    },
    "headlines_per_feed": 2
  }
}

Finding RSS Feeds

Popular Sports RSS Feeds

Sport Source RSS URL
F1 BBC Sport http://feeds.bbci.co.uk/sport/formula1/rss.xml
F1 Motorsport.com https://www.motorsport.com/rss/f1/news/
MotoGP Official https://www.motogp.com/en/rss/news
Tennis ATP Tour https://www.atptour.com/en/rss/news
Golf PGA Tour https://www.pgatour.com/news.rss
Soccer ESPN https://www.espn.com/espn/rss/soccer/news
Boxing ESPN https://www.espn.com/espn/rss/boxing/news
UFC/MMA ESPN https://www.espn.com/espn/rss/mma/news

How to Find RSS Feeds

  1. Look for RSS icons on websites
  2. Check /rss, /feed, or /rss.xml paths
  3. Use RSS discovery tools like RSS Feed Finder
  4. Check site footers for RSS links

Testing RSS Feeds

# Test if a feed works before adding it
python3 -c "
import feedparser
import requests
url = 'YOUR_RSS_URL_HERE'
try:
    response = requests.get(url, timeout=10)
    feed = feedparser.parse(response.content)
    print(f'SUCCESS: Feed works! Title: {feed.feed.get(\"title\", \"N/A\")}')
    print(f'{len(feed.entries)} articles found')
    if feed.entries:
        print(f'Latest: {feed.entries[0].title}')
except Exception as e:
    print(f'ERROR: {e}')
"

Advanced Configuration

Controlling Feed Behavior

{
  "news_manager": {
    "headlines_per_feed": 3,          // Headlines from each feed
    "scroll_speed": 2,                // Pixels per frame
    "scroll_delay": 0.02,             // Seconds between updates
    "rotation_enabled": true,         // Rotate content to avoid repetition
    "rotation_threshold": 3,          // Cycles before rotating
    "update_interval": 300            // Seconds between feed updates
  }
}

Feed Priority

Feeds are displayed in the order they appear in enabled_feeds:

"enabled_feeds": ["NFL", "BBC F1", "NCAA FB"]  // NFL first, then F1, then NCAA

Custom Display Names

You can use any display name for feeds:

python3 add_custom_feed_example.py add "Formula 1" "http://feeds.bbci.co.uk/sport/formula1/rss.xml"
python3 add_custom_feed_example.py add "Basketball News" "https://www.espn.com/espn/rss/nba/news"

Troubleshooting

Feed Not Working?

  1. Test the RSS URL using the testing command above
  2. Check for HTTPS vs HTTP - some feeds require secure connections
  3. Verify the feed format - must be valid RSS or Atom
  4. Check rate limiting - some sites block frequent requests

Common Issues

  • 403 Forbidden: Site blocks automated requests (try different feed)
  • SSL Errors: Use HTTP instead of HTTPS if available
  • No Content: Feed might be empty or incorrectly formatted
  • Slow Loading: Increase timeout in news manager settings

Feed Alternatives

If one feed doesn't work, try alternatives:

  • ESPN feeds sometimes have access restrictions
  • BBC feeds are generally reliable
  • Official sport websites often have RSS feeds
  • News aggregators like Google News have topic-specific feeds

Real-World Example: Complete F1 Setup

# 1. List current setup
python3 add_custom_feed_example.py list

# 2. Add multiple F1 sources for better coverage
python3 add_custom_feed_example.py add "BBC F1" "http://feeds.bbci.co.uk/sport/formula1/rss.xml"
python3 add_custom_feed_example.py add "Motorsport F1" "https://www.motorsport.com/rss/f1/news/"

# 3. Add other racing series
python3 add_custom_feed_example.py add "MotoGP" "https://www.motogp.com/en/rss/news"

# 4. Verify all feeds work
python3 simple_news_test.py

# 5. Check final configuration
python3 add_custom_feed_example.py list

Result: Your display will now rotate between NFL, NCAA FB, BBC F1, Motorsport F1, and MotoGP headlines!


Pro Tips

  1. Start Small: Add one feed at a time and test it
  2. Mix Sources: Use multiple sources for the same sport for better coverage
  3. Monitor Performance: Too many feeds can slow down updates
  4. Use Descriptive Names: "BBC F1" is better than just "F1"
  5. Test Regularly: RSS feeds can change or break over time
  6. Backup Config: Save your config.json before making changes

Need help? The news manager is designed to be flexible and user-friendly. Start with the command line method - it's the easiest way to get started!

Clone this wiki locally