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