Skip to content

About

Remote EPG Refresh for VU+/Dreambox Receivers

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

VU+ Stream EPG Refresh

๐ŸŒŠ Stream-based EPG refresh for VU+ receivers

๐ŸŽฏ New Feature: Python 2 Version

  • ๐Ÿ” Same CLI for both versions โ€“ arguments and options are identical, if Python 2 or 3.
  • ๐ŸŽฎ Now runnning natively on VU+ / Enigma2 receivers

๐ŸŽฏ Features

  • ๐Ÿ”ฅ No Live-TV Interruption - Stream fetching instead of zapping
  • ๐Ÿ“บ Unlimited Channels - Processes ALL channels in bouquet
  • ๐Ÿšซ Smart Channel Skipping - Skip unwanted channels via string matching
  • ๐Ÿ” HTTP Basic Auth - Optional username/password authentication
  • โšก Configurable Sweet Spot - Tune duration (0.5s - 30s)
  • ๐Ÿค– Zero Dependencies - Pure Python standard library
  • โฐ Automation Ready - Perfect for cron jobs
  • ๐ŸŽฎ VU+ Compatible - All VU+ models with web interface
  • ๐Ÿ”Œ Custom Streaming Port - Configurable streaming port (default: 8001)

๐Ÿš€ Quick Start

# Standard refresh (4s sweet spot)
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "My Channels"

# Fast refresh (2s sweet spot)
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "Sky" --duration=2.0

# Refresh only channels with less than 5 EPG events
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "Sky" --max-events=5

# Skip specific channels (string matching)
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --skip="Sky Sport,Sky Bundesliga"

# With HTTP Basic Authentication
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --username=admin --password=secret

# Automated (for cron jobs)
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --duration=4.0 --force

# Combined: Fast refresh for channels with less than 3 EPG events, skip Sky channels
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --duration=2.0 --max-events=3 --skip="Sky" --force

# Custom streaming port (if not using default 8001)
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --streaming-port=8002

# Full featured: Auth + Skip + Duration + Force
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --username=admin --password=secret --duration=3.0 --skip="Adult,Test" --force

๐Ÿ“‹ Requirements

  • Python 3.6+ or 2.7+ (no external packages needed!)
  • VU+ Receiver with web interface enabled
  • Network connection to VU+ receiver

๐Ÿ“Š How It Works

  1. Analyzes bouquet - Finds all TV/Radio services
  2. Checks EPG status - Identifies services without EPG data
  3. Fetches streams - Downloads transport stream for X seconds
  4. Triggers EPG update - VU+ automatically updates EPG data
  5. Live TV continues - No interruption to current viewing

๐ŸŽฏ Sweet Spot Recommendations

Duration Use Case Reliability Speed
2.0s Quick refresh โญโญโญ ๐Ÿš€๐Ÿš€๐Ÿš€
4.0s Standard โœ… โญโญโญโญ ๐Ÿš€๐Ÿš€
6.0s Conservative โญโญโญโญโญ ๐Ÿš€
8.0s Maximum โญโญโญโญโญ ๐ŸŒ

๐Ÿšซ Channel Skipping (--skip)

The --skip parameter allows skipping specific channels based on string matching:

How it works:

  • Comma-separated list of search strings: --skip="String1,String2,String3"
  • Case-insensitive substring matching in channel names
  • Channel is skipped if any of the skip strings is contained in the name
  • Perfect for excluding problematic or unwanted channels

Examples:

# Skip Sky Sport channels
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --skip="Sky Sport"

# Skip multiple categories
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --skip="Sky Sport,Sky Bundesliga,Adult"

# Exclude test and demo channels
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --skip="Test,Demo,Preview"

String-Matching Examples:

  • --skip="Sky Sport" skips: "Sky Sport 1 HD", "Sky Sport 2", "Sky Sport News"
  • --skip="HD" skips all HD channels
  • --skip="Radio" skips all radio stations

๐Ÿ” HTTP Basic Authentication

For VU+/Dreambox devices with enabled web interface password protection:

Parameters:

  • --username=USER - HTTP Basic Auth username
  • --password=PASS - HTTP Basic Auth password
  • Both parameters are optional and only needed when auth is enabled

Examples:

# Standard auth (common combinations)
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --username=admin --password=admin
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --username=root --password=dreambox

# Custom auth with other parameters
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "Sky" --username=myuser --password=mypass --duration=3.0

# Auth + Skip combined
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --username=admin --password=secret --skip="Adult,Test"

Notes:

  • Works with standard HTTP Basic Authentication (RFC 7617)
  • Automatic URL encoding: http://user:pass@host:port
  • Without auth parameters, the script works as usual
  • Secure password transmission only with HTTPS (usually not available on VU+)

๐Ÿ”Œ Streaming Port (--streaming-port)

The --streaming-port parameter allows overriding the default streaming port:

How it works:

  • Default value: 8001 (standard VU+ streaming port)
  • Only needed if your receiver uses a non-standard streaming port
  • Affects only the stream URL (http://host:<port>/...), not the web interface port

Examples:

# Default streaming port (8001) - no parameter needed
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All"

# Custom streaming port
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --streaming-port=8002

# Combined with other options
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "Sky" --streaming-port=9001 --duration=3.0 --force

๐ŸŽข EPG Filtering (max-events)

The --max-events parameter enables intelligent EPG filtering:

How it works:

  • Default value: 0 = All channels without EPG will be refreshed
  • Value > 0: Only channels with fewer than X EPG events will be refreshed
  • Prevents unnecessary refreshes on channels with existing EPG data
max-events Behavior Use Case
0 All without EPG โœ… Standard mode
1-5 Only with very little EPG Fine tuning
10-20 Only with incomplete EPG Performance optimization
50+ Almost all channels Maintenance mode

Examples:

# Only completely empty channels (default)
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "Sky" --max-events=0

# Refresh channels with fewer than 5 EPG events
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "Sky" --max-events=5

# Performance: Only refresh when fewer than 20 events
python vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --max-events=20 --duration=2.0

โฐ Automation Setup

Linux/WSL Cron Job

# Daily at 3:00 AM
0 3 * * * cd /path/to/script && python3 vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --force

# With HTTP Auth (recommended: credentials in separate config)
0 3 * * * cd /path/to/script && python3 vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --username=admin --password=secret --force

Windows Task Scheduler

python C:\\path\\to\\vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --force

REM With HTTP Auth
python C:\\path\\to\\vu_stream_epgrefresh.py 192.168.1.100 bouquet "All" --username=admin --password=secret --force

๐Ÿ“ˆ Sample Output

Standard Mode (max-events=0)

๐Ÿ” Suche Services ohne EPG in 'Sky'...
  ๐Ÿ“บ Bouquet gefunden: Sky Deutschland HD
  ๐Ÿ“Š Lade alle Services aus Bouquet...
  ๐Ÿ“บ BOUQUET 'Sky' ENTHร„LT 156 SERVICES TOTAL
  ๐Ÿ“ป TV/Radio Services: 134
  ๐Ÿ“‚ Andere (Ordner/etc): 22
  โœ… Mit EPG: 89
  ๐Ÿ”„ Ohne EPG: 45 โ† Stream-Refresh nรถtig

๐ŸŒŠ STREAM-BASIERTES EPG-REFRESH
Services: 45
Sweet Spot: 4.0s pro Service
โœ… Live-TV wird NICHT unterbrochen!

[01/45] Sky Cinema Premiere HD            ๐Ÿ“ก1 ๐Ÿ“Š512KB โœ… 24 events
[02/45] Sky Cinema Action HD              ๐Ÿ“ก1 ๐Ÿ“Š487KB โœ… 18 events
...
๐Ÿ“Š ERGEBNIS: 43/45 erfolgreich
๐ŸŽฏ Live-TV blieb ungestรถrt! 127 neue EPG-Events

Skip Mode (--skip="Sky Sport")

๐Ÿšซ Skip Strings: ['Sky Sport']
๐Ÿ” Suche Services ohne EPG in 'All'...
  ๐Ÿ“บ Bouquet gefunden: Alle Kanรคle
  ๐Ÿ“Š Lade alle Services aus Bouquet...
  ๐Ÿ“บ BOUQUET 'All' ENTHร„LT 200 SERVICES TOTAL
  ๐Ÿšซ รœbersprungen: Sky Sport 1 HD (enthรคlt 'Sky Sport')
  ๐Ÿšซ รœbersprungen: Sky Sport 2 HD (enthรคlt 'Sky Sport')
  ๐Ÿšซ รœbersprungen: Sky Sport News HD (enthรคlt 'Sky Sport')
  ๐Ÿ”„ Braucht Refresh: ARD HD ( 0 Events )
  ๐Ÿ”„ Braucht Refresh: ZDF HD ( 0 Events )
  โœ… 15 Services mit EPG analysiert...

Filtered Mode (max-events=5)

๐Ÿ” Suche Services ohne EPG in 'Sky'...
  ๐Ÿ“บ Bouquet gefunden: Sky Deutschland HD
  ๐Ÿ“Š Lade alle Services aus Bouquet...
  ๐Ÿ“บ BOUQUET 'Sky' ENTHร„LT 156 SERVICES TOTAL
  ๐Ÿ”„ Braucht Refresh: Sky Cinema Premiere HD ( 2 Events )
  ๐Ÿ”„ Braucht Refresh: Sky Cinema Action HD ( 0 Events )
  ๐Ÿ”„ Braucht Refresh: Sky Sport News HD ( 4 Events )
  โœ… 20 Services mit EPG analysiert...

๐Ÿ“Š BOUQUET-ANALYSE:
  ๐Ÿ“บ TOTAL Services: 156
  ๐Ÿ“ป TV/Radio Services: 134
  ๐Ÿ“‚ Andere (Ordner/etc): 22
  โœ… Mit EPG: 119 (> 5 Events)
  ๐Ÿ”„ Ohne EPG: 15 (โ‰ค 5 Events) โ† Stream-Refresh nรถtig

๐ŸŒŠ STREAM-BASIERTES EPG-REFRESH
Services: 15
Sweet Spot: 4.0s pro Service
โœ… Live-TV wird NICHT unterbrochen!

[01/15] Sky Cinema Premiere HD            ๐Ÿ“ก1 ๐Ÿ“Š512KB โœ… 24 events
[02/15] Sky Cinema Action HD              ๐Ÿ“ก1 ๐Ÿ“Š487KB โœ… 18 events
...
๐Ÿ“Š ERGEBNIS: 14/15 erfolgreich
๐ŸŽฏ Live-TV blieb ungestรถrt! 89 neue EPG-Events

๐Ÿ”ง Technical Details

The script uses these VU+ web interface endpoints:

  • /web/getservices - Get bouquet services
  • /web/ts?sRef=... - Transport stream (primary)
  • /web/stream.m3u8?ref=... - HLS stream (fallback)
  • /web/epgservice?sRef=... - Check EPG data

๐Ÿค Contributing

Contributions welcome! This script has been tested with:

  • VU+ Duoยฒ, Soloยฒ, Ultimo, Zero
  • OpenATV, OpenPLi, VTi images
  • Various satellite/cable/terrestrial setups

๐Ÿ“œ License

MIT License - Use freely for personal and commercial projects.

๐Ÿ™ Credits

Developed by wakdo - Inspired by the need for non-disruptive EPG updates in headless VU+ setups.

About

Remote EPG Refresh for VU+/Dreambox Receivers

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages