Custom Channel M3U setup to refresh XMLTV every hour, but doesn't update every hour

Rather than write a short novel about all my issues, I'll just pose this question.
The answers always seem to go off-topic and never answer the question.
So I'm hoping to get a straight, simple answer to this, without having to write that short novel.

I have a Custom Channel M3U that I set to refresh the XMLTV every hour, but instead it updates about every 2hrs. Why?


There's not even a choice for 2 hrs, and I want 1 hr

How do you KNOW it only updates at the 2 hour point? Maybe it really CHECKS every 1 hour, BUT, there's been NO EPG CHANGES before 2 hours, so it doesn't update anything until the second check at that hour...

That could make it seem like it's running on a 2 hour schedule.

Looking at the DVR log

2025/03/07 16:10:03.939746 [DVR] Fetched guide data for XMLTV-Plex in 1m29s
2025/03/07 18:08:34.479184 [DVR] Fetched guide data for XMLTV-Plex in 1s
2025/03/07 20:08:35.086679 [DVR] Fetched guide data for XMLTV-Plex in 1s
2025/03/07 22:08:28.165394 [DVR] Fetched guide data for XMLTV-Plex in 1s
2025/03/08 00:08:30.244739 [DVR] Fetched guide data for XMLTV-Plex in 1s
2025/03/08 02:10:04.142060 [DVR] Fetched guide data for XMLTV-Plex in 1m40s
2025/03/08 04:08:23.499596 [DVR] Fetched guide data for XMLTV-Plex in 1s
2025/03/08 06:10:35.702389 [DVR] Fetched guide data for XMLTV-Plex in 1s
2025/03/08 08:08:19.551702 [DVR] Fetched guide data for XMLTV-Plex in 1s
2025/03/08 10:08:55.057997 [DVR] Fetched guide data for XMLTV-Plex in 1s

Made me curious, so I checked mine. FWIW, looking hourly on this end:

2025/03/08 10:18:32.886519 [DVR] Fetched guide data for XMLTV-PLMNonGracenoteHLS01 in 194ms
2025/03/08 11:18:59.840991 [DVR] Fetched guide data for XMLTV-PLMNonGracenoteHLS01 in 148ms
2025/03/08 12:19:26.111299 [DVR] Fetched guide data for XMLTV-PLMNonGracenoteHLS01 in 119ms
2025/03/06 13:20:22.471769 [DVR] Fetched guide data for XMLTV-PLMNonGracenoteHLS01 in 39ms
2025/03/06 14:20:44.503028 [DVR] Fetched guide data for XMLTV-PLMNonGracenoteHLS01 in 173ms
2025/03/06 15:21:10.248681 [DVR] Fetched guide data for XMLTV-PLMNonGracenoteHLS01 in 75ms
2025/03/06 16:21:31.511972 [DVR] Fetched guide data for XMLTV-PLMNonGracenoteHLS01 in 117ms

However, I did see one 1:50 gap from 07:24 to 09:14. Going back another day, it was hourly before then until another similar gap around the same time, so probably when it is updating Gracenote data for me or doing some other maintenance activities. Towards the end it looks like it did the daily updating of m3u's.

Windows 10, Eastern Time Zone, MoCa connection, 2 source that use XML guide data... just trying to list out any other potential differing factors that can help narrow in what might contribute to this behavior? Otherwise, I'm wondering if you have some other activities running that are causing the calls to be delayed?

Thanks for checking.

I just removed and re-added the source (using a different name).
I remember that when you change something in a source, it tends to revert back to previous settings.
Best to delete and re-add the source using a different name.
Should know if it worked soon
2025/03/08 11:32:22.146997 [DVR] Fetched guide data for XMLTV-PlexTV in 1s

Is this real, can you check the settings json and see if something is not being deleted

Too late. The issue is when you edit an existing source.
Like adding/changing the Playlist/XMLTV URL or changing the XMLTV fetch interval.

When I delete the source and recreate it using a different name, it usually always works.

recreating the source fixed it
/settings

  "device.xmltv.XMLTV-PlexTV.refresh": "3600",

DVR log

2025/03/08 11:32:22.146997 [DVR] Fetched guide data for XMLTV-PlexTV in 1s
2025/03/08 12:35:53.051611 [DVR] Fetched guide data for XMLTV-PlexTV in 42s
1 Like

Something else I've been wanting to mention about /settings

When you add sources, they don't get added to device.priority in /settings unless you Adjust Priority and Save.

When you delete sources, their device.priority doesn't get deleted in /settings, even if you Adjust Priority and Save.

/settings

  "device.priority.1323AADB": "1",
  "device.priority.M3U-CBSNLocals": "1", (SOURCE WAS REMOVED LONG TIME AGO)
  "device.priority.M3U-PlexTV": "3",
  "device.priority.M3U-Pluto": "4",
  "device.priority.M3U-TheShepherdsChapel": "1", (SOURCE WAS REMOVED LONG TIME AGO)
  "device.priority.M3U-Tortola": "1", (SOURCE WAS REMOVED LONG TIME AGO)
  "device.priority.M3U-YouTubeLive": "2",

That didn't last long. It's back to every 2 hours now.
I haven't touched the source settings.

-------------------
Added PlexTV source
-------------------
2025/03/08 11:32:22.146997 [DVR] Fetched guide data for XMLTV-PlexTV in 1s
2025/03/08 11:35:10.376994 [DVR] Indexed 106495 airings into XMLTV-PlexTV (623 channels over 168h0m0s) + 15107 skipped [2m42s index]
          (01:00:43 later)
2025/03/08 12:35:53.051611 [DVR] Fetched guide data for XMLTV-PlexTV in 42s
2025/03/08 12:38:40.069598 [DVR] Indexed 105701 airings into XMLTV-PlexTV (623 channels over 168h0m0s) + 15901 skipped [2m42s index]

----------------------------------
Delete and recreate guide database
----------------------------------
2025/03/08 12:47:49.364307 [DVR] Fetched guide data for XMLTV-PlexTV in 1m14s
2025/03/08 12:50:33.119391 [DVR] Indexed 105595 airings into XMLTV-PlexTV (623 channels over 168h0m0s) + 16007 skipped [2m39s index]
          (01:17:37 later)
2025/03/08 14:08:10.166713 [DVR] Fetched guide data for XMLTV-PlexTV in 1s
2025/03/08 14:10:59.665183 [DVR] Indexed 104505 airings into XMLTV-PlexTV (623 channels over 168h0m0s) + 17097 skipped [2m44s index]
 /settings show "device.xmltv.XMLTV-PlexTV.refresh":"3600", "xmltv.XMLTV-PlexTV.refreshed_at":"1741471859" (2025/03/08 14:10:59)
          (01:58:37 later)
2025/03/08 16:09:36.266238 [DVR] Fetched guide data for XMLTV-PlexTV in 1m28s
2025/03/08 16:12:43.312718 [DVR] Indexed 119420 airings into XMLTV-PlexTV (623 channels over 190h30m1s) + 110 skipped [3m2s index]
 /settings show "device.xmltv.XMLTV-PlexTV.refresh":"3600", "xmltv.XMLTV-PlexTV.refreshed_at":"1741479163" (2025/03/08 16:12:43)
          (01:55:47 later)
2025/03/08 18:08:30.888709 [DVR] Fetched guide data for XMLTV-PlexTV in 1s
2025/03/08 18:11:40.572735 [DVR] Indexed 119854 airings into XMLTV-PlexTV (623 channels over 178h1m0s) + 1618 skipped [3m4s index]
 /settings show "device.xmltv.XMLTV-PlexTV.refresh":"3600", "xmltv.XMLTV-PlexTV.refreshed_at":"1741486300" (2025/03/08 18:11:40)
          (01:57:12 later)
2025/03/08 20:08:52.882378 [DVR] Fetched guide data for XMLTV-PlexTV in 1s
2025/03/08 20:12:02.883960 [DVR] Indexed 118385 airings into XMLTV-PlexTV (623 channels over 174h30m0s) + 3133 skipped [3m5s index]
 /settings show "device.xmltv.XMLTV-PlexTV.refresh":"3600", "xmltv.XMLTV-PlexTV.refreshed_at":"1741493522" (2025/03/08 20:12:02)
          (01:56:32 later)
2025/03/08 22:08:34.745010 [DVR] Fetched guide data for XMLTV-PlexTV in 1s
2025/03/08 22:11:41.795307 [DVR] Indexed 116812 airings into XMLTV-PlexTV (623 channels over 174h30m0s) + 4706 skipped [3m2s index]
 /settings show "device.xmltv.XMLTV-PlexTV.refresh":"3600", "xmltv.XMLTV-PlexTV.refreshed_at":"1741500701" (2025/03/08 22:11:41)

Logs have been submitted as 0d3e244e-098e-4b95-9ff1-c80fe468ee89

/settings

"device.xmltv.XMLTV-PlexTV.refresh": "3600",
"xmltv.XMLTV-PlexTV.refreshed_at": "1741533131",

Still updating about every 2 hours (except when we switched to DST this morning)

2025/03/09 00:08:30.495880 [DVR] Fetched guide data for XMLTV-PlexTV in 1s
2025/03/09 00:11:33.067578 [DVR] Indexed 115249 airings into XMLTV-PlexTV (623 channels over 170h1m0s) + 6272 skipped [2m57s index]
2025/03/09 04:08:31.853544 [DVR] Fetched guide data for XMLTV-PlexTV in 1s
2025/03/09 04:11:40.592353 [DVR] Indexed 112890 airings into XMLTV-PlexTV (623 channels over 169h50m0s) + 8631 skipped [3m3s index]
2025/03/09 06:08:26.883131 [DVR] Fetched guide data for XMLTV-PlexTV in 1s
2025/03/09 06:12:06.087035 [DVR] Indexed 111312 airings into XMLTV-PlexTV (623 channels over 169h50m0s) + 10209 skipped [3m34s index]
2025/03/09 08:09:17.373502 [DVR] Fetched guide data for XMLTV-PlexTV in 49s
2025/03/09 08:12:11.698576 [DVR] Indexed 109757 airings into XMLTV-PlexTV (623 channels over 169h50m0s) + 11809 skipped [2m49s index]

Are there other xmltv refresh entries

You mean these?

Search of /settings for xlmtv

"device.xmltv.M3U-PlexTV.url": "http://192.168.1.3:7781/plex/epg.xml",
"device.xmltv.M3U-Pluto.url": "http://192.168.1.3:8080/pluto/epg/all/epg-all.xml",
"device.xmltv.XMLTV-PlexTV.refresh": "3600",
...
"recorder.lineup.M3U-PlexTV": "XMLTV-PlexTV",
"recorder.lineup.M3U-Pluto": "XMLTV-Pluto",
...
"xmltv.XMLTV-Plex.refreshed_at": "1741457510",       (source doesn't exist)
"xmltv.XMLTV-PlexNoEpg.refreshed_at": "1741385487",  (source doesn't exist)
"xmltv.XMLTV-PlexTV.refreshed_at": "1741540951",
"xmltv.XMLTV-Pluto.refreshed_at": "1741536326",
"xmltv.XMLTV-Samsung.refreshed_at": "1676076811",    (source doesn't exist)
"xmltv.XMLTV-Stirr.refreshed_at": "1657491668",      (source doesn't exist)
"xmltv.XMLTV-TestEPG.refreshed_at": "1728075781",    (source doesn't exist)
"xmltv.XMLTV-VictoryPlus.refreshed_at": "1727541264" (source doesn't exist)
1 Like

No other ones like this?

No. Only other XMLTV source is Pluto.
I have my Pluto source setting to refresh daily, but use a cron job to refresh its EPG every 2 hours since I couldn't pick 2 hours in settings.

Here's what I'm trying.
I disabled the cron job that refreshes the Pluto playlist and EPG fetch every 2 hours.
I made the Custom M3U settings for Pluto and Plex sources refresh EPG every hour.

Will see what happens.

Both sources refreshed EPG in about one hour, so just did a Delete and Recreate guide database.
Will post back later tonight with results.

It appears all of the XMLTV sources EPG Refresh timers get reset when ANY XMLTV source is refreshed. I'll just leave both my XMLTV source settings refreshing every hour.

Only workaround I can think of is to run a cron job to refresh all or individual XMLTV sources, and I'm trying to reduce my "workaround" cron jobs.

You could make a curl request to set it to 2h

Was thinking of that.

curl -XPUT http://192.168.1.4:8489/providers/m3u/sources/PlexTV --data-binary '{"name":"PlexTV","type":"HLS","source":"URL","url":"http://192.168.1.3:7781/plex/playlist.m3u","text":"","refresh":"24","limit":"","satip":"","numbering":"ignore","start_number":"1000","logos":"","xmltv_url":"http://192.168.1.3:7781/plex/epg.xml","xmltv_refresh":"7200"}'

Would it work?

Yes

"device.xmltv.XMLTV-PlexTV.refresh": "7200",
"device.xmltv.XMLTV-Pluto.refresh": "7200",
2025/03/09 18:07:23.934331 [DVR] Fetched guide data for XMLTV-PlexTV in 1s
2025/03/09 18:10:35.887206 [DVR] Indexed 120739 airings into XMLTV-PlexTV (623 channels over 177h22m39s) + 858 skipped [3m7s index]
2025/03/09 18:10:36.705944 [DVR] Fetched guide data for XMLTV-Pluto in 490ms
2025/03/09 18:11:02.994867 [DVR] Indexed 14337 airings into XMLTV-Pluto (438 channels over 40h8m0s) + 568 skipped [25s index]
2025/03/09 20:14:11.205390 [DVR] Fetched guide data for XMLTV-Pluto in 501ms
2025/03/09 20:14:50.107590 [DVR] Indexed 14285 airings into XMLTV-Pluto (438 channels over 39h30m0s) + 597 skipped [37s index]
2025/03/09 20:15:33.189411 [DVR] Fetched guide data for XMLTV-PlexTV in 42s
2025/03/09 20:20:03.060974 [DVR] Indexed 119178 airings into XMLTV-PlexTV (623 channels over 175h51m42s) + 2471 skipped [4m23s index]