Custom Channels EPG not refreshing every 3 hours per setting

I setup Pluto as a m3u Custom Channel using the Pluto for Channels docker container as the m3u/xml source. The Pluto for Channels container is refreshing guide data from Pluto every three hours as it should.

Everything is working fine, except I want the Pluto m3u Custom Channel to also refresh guide data every three hours. Here's my settings.

I want the daily refresh schedule to be 01:00, 04:00, 07:00, 10:00, 13:00, 16:00, 19:00, 22:00. I need it to stay on schedule to avoid doing a guide refresh during a scheduled task on my NAS that runs at 00:45.

I can get it to follow that schedule until sometime in the morning between 09:00 and 11:00 when it decides to deviate. The problem is it ONLY refreshes every three hours until the morning.
This morning it refreshed at 01:00, 04:01, 07:01 then 09:51, 12:51...

Any ideas?

The morning deviation is probably due to Channels' own guide update from Gracenote. The DVR usually updates some random time between 0800–1000. The custom channel refresh time/interval probably gets reset when the DVR refreshes its other guide data.

That's what I was thinking also. Wonder if it's because I have it set to refresh the m3u URL daily to pickup new/dropped Pluto channels?

It's the only source for the Channels DVR instance running in that docker.

Appears it is the daily m3u URL refresh causing it. I'll disable it and try again.
DVR log from this morning at 09:51
2021/07/06 09:51:00.194749 [M3U] Refreshed lineup for Pluto with 320 channels
2021/07/06 09:51:00.275796 [DVR] Fetched guide data for XMLTV-Pluto in 0s

This is normal behavior and there is no way to change it.

Thanks for the quick response.
My workaround will be to set the xml updates to every 6 hours.
That way they'll occur somewhere between 09:00-11:00, 15:00-17:00, 21:00-23:00 and 03:00-05:00.

Last m3u refresh happened yesterday at 4pm. Will see how it looks tomorrow.
I can see in settings it's set for 24 (hrs?)
http://127.0.0.1:8189/settings "m3u.src.Pluto.refresh": "24"

UPDATE: It refreshed the m3u URL this morning. Not sure why it didn't yesterday.

This wasn't working out.
I upgraded to the latest pre-release today and the next scheduled xml epg download was missed.

I'm glad you have the endpoint I needed to use my Synology task scheduler to do what Channels wouldn't.

Run two scheduled user script every 3hrs starting at 00:00.

# refresh m3u
curl -s -XPOST http://192.168.1.3:8189/providers/m3u/sources/Pluto/refresh

# refresh xml
curl -s -XPUT http://192.168.1.3:8189/dvr/lineups/XMLTV-Pluto

Thank You

Here's what I settled on

On a Synology the task 1] has to be run as root
Run task as root

Hey I’m trying to follow your guide here. By chance, did Channels change the URL to refresh? I’m getting 404 errors

1 Like

Are you using the curl command, or just clicking on the url links?

I've changed it slightly where I modified the entrypoint.sh script in the Pluto4Channels docker container to get guide updates every two hours and I run this Synology Task Manager script every two hours

curl -s -XPOST http://192.168.1.4:8489/providers/m3u/sources/Pluto/refresh; sleep 60; curl -s -XPUT http://192.168.1.4:8489/dvr/lineups/XMLTV-Pluto

My Channels DVR Server using the Pluto source is at 192.168.1.4:8489 and the Nickname of the Source is Pluto

using this from Powershell in Windows:

PS C:\Users\bherr> curl -s -XPOST http://127.0.0.1:8089/providers/m3u/sources/Drogon/refresh
curl : 404 Not Found
At line:1 char:1

  • curl -s -XPOST http://127.0.0.1:8089/providers/m3u/sources/Drogon/ref ...
  •   + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebExc
     eption
      + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

Try from a Windows command line instead of Powershell, unless you're familiar enough with Powershell to figure out the error.

May need to use curl.exe from the command line.

You can get to a command line from Powershell by typing cmd and pressing the <Enter> key

Well look at that. Cmd worked. Thanks! Now to figure out how to automate this!!

Windows Task Manager

I have my Pluto4Channels container fetching guide data every two hours, starting at 00:00 each day.
My script to update the lineup and xmltv guide data runs every two hours, starting at 00:04 each day.

Used to do both every hour, but that was overkill.

I also have a task running that captures stuff from the Pluto4Channels container log.

# Synology task manager to dump last 2hrs docker log every 2 hr from 00:06
docker logs -t --since=2h pluto-for-channels 2>&1 | grep "Woke at:\|Grabbing EPG\|Skipping\|Last ran:\|Next run:\|Sleeping:\|can't rename\|Error:\|Warning:\|Adding Jeopardy\|Adding Wheel" >>/volume1/arkives/plutocontainer.log
curl -s "http://192.168.1.4:8489/log?n=1000" | grep "\[M3U\] Refreshed lineup for Pluto with" | tail -n1 >>/volume1/arkives/plutocontainer.log

Output

2024-01-28T22:00:01.694638273Z Woke at:  Sun Jan 28 14:00:01 PST 2024
2024-01-28T22:00:02.836479061Z [INFO] Grabbing EPG...
2024-01-28T22:00:11.606810256Z [DEBUG] Skipping 'fake' channel Announcement.
2024-01-28T22:00:37.174194149Z Last ran: Sun Jan 28 14:00:37 PST 2024
2024-01-28T22:00:37.175010958Z Next run: Sun Jan 28 16:00:01 PST 2024
2024-01-28T22:00:37.176432646Z Sleeping: 7164
2024/01/28 14:04:02.135150 [M3U] Refreshed lineup for Pluto with 372 channels
2024-01-29T00:00:01.181712660Z Woke at:  Sun Jan 28 16:00:01 PST 2024
2024-01-29T00:00:02.398743466Z [INFO] Grabbing EPG...
2024-01-29T00:00:11.130055058Z [DEBUG] Skipping 'fake' channel Announcement.
2024-01-29T00:00:37.303376661Z Last ran: Sun Jan 28 16:00:37 PST 2024
2024-01-29T00:00:37.303617110Z Next run: Sun Jan 28 18:00:01 PST 2024
2024-01-29T00:00:37.303731313Z Sleeping: 7164
2024/01/28 16:04:02.081671 [M3U] Refreshed lineup for Pluto with 372 channels

Great! I just did a simple BAT file and it worked. Really appreciate you replying to this old thread. Thanks!