Skip to content

EPG Update Failed - DeviceAuth expired #1

@trahajopro86

Description

@trahajopro86

I cannot seem to get this to download the EPG data.

Using Docker. It looks like it gets the info from my hdhomerun device, but gets "Got 403, DeviceAuth may be expired." when trying to pull the guide data. The following manual commands work from the Docker container console.

curl http://192.168.75.85/discover.json -o - (To get DeviceAuth Key)

{"FriendlyName":"HDHomeRun FLEX DUO","ModelNumber":"HDFX-2US","FirmwareName":"hdhomerun_dvr_atsc","FirmwareVersion":"20250815","DeviceID":"XXXXXX","DeviceAuth":"12345ABCDE","BaseURL":"http://192.168.75.85","LineupURL":"http://192.168.75.85/lineup.json","TunerCount":2,"StorageID":"XXXXXX","StorageURL":"http://192.168.75.85/recorded_files.json","TotalSpace":127972093952,"FreeSpace":127318532096}

curl https://api.hdhomerun.com/api/xmltv?DeviceAuth=12345ABCDE -o - (downloads the XML data successfully)

*Note: curl did not exist in the Docker container. I had to "apk add curl" to follow your troubleshooting steps (not sure if this matters).

Portainer env:

TZ=America/Chicago
HDHOMERUN_HOST=192.168.75.85
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NODE_VERSION=20.19.5
YARN_VERSION=1.22.22
RUN_ON_START=true
ENABLE_DUMMY_PROGRAMMING=true
DUMMY_PROGRAM_TITLE=No Information
DUMMY_PROGRAM_DESC=No program information...
DAYS=7
========================================
HDHomeRun2XMLTV v2.0.0
========================================

Configuration:
  HDHomeRun Host: 192.168.75.85
  EPG Days: 7
  Update Schedule: 0 3 * * *
  Timezone: America/Chicago
  HTTP Port: 8083
  Output: ./output/epg.xml

EPG HTTP Server started on port 8083
Access EPG at: http://localhost:8083/epg.xml
Status page: http://localhost:8083/

========== Initial EPG Update ==========
========== EPG Update Started ==========
Time: 2025-11-01T11:38:15.483Z

[1/6] Initializing HDHomeRun client...
[2/6] Fetching DeviceAuth token...
Fetching DeviceAuth from http://192.168.75.85/discover.json
Starting cron scheduler: 0 3 * * *
Timezone: America/Chicago
Cron scheduler started successfully

========================================
Server is running
Press Ctrl+C to stop
========================================

DeviceAuth obtained successfully
[3/6] Fetching channel lineup...
Fetching lineup from http://192.168.75.85/lineup.json
Fetched 70 channels from lineup
Found 70 channels
[4/6] Fetching EPG data (7 days, 3 hour windows)...
Fetching initial EPG data...
Got 403, DeviceAuth may be expired. Refreshing...
Fetching DeviceAuth from http://192.168.75.85/discover.json
DeviceAuth obtained successfully

========== EPG Update Failed ==========
Duration: 0.31 seconds
Error: Error: DeviceAuth expired, please retry operation
    at HDHomeRunClient.fetchEPGChunk (/app/dist/api/hdhomerun-client.js:145:23)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async HDHomeRunClient.fetchEPGData (/app/dist/api/hdhomerun-client.js:92:27)
    at async EPGUpdater.update (/app/dist/scheduler/epg-updater.js:52:29)
Initial EPG update failed: Error: DeviceAuth expired, please retry operation
Server will continue running - EPG will update on schedule

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions