DVR Pre-Release: Placeholder guide data

Hmm okay same behavior here. I wonder if its related to missing ProgramID.

Do you set ProgramID when you make manual recordings?

Not normally because I know it won't let me record it again from a pass.
The only thing different I've noticed with this new method is there are no entries in /dvr/programs.

Here's a payload I was using

   "Name": "${_TITLE}",
   "Time": ${_START},
   "Duration": ${_DUR},
   "Channels": ["${_CH}"],
   "Airing": {
      "Source": "manual",
      "Channel": "${_CH}",
      "Time": ${_START},
      "Duration": ${_DUR},
      "Title": "${_TITLE}",
      "Summary": "${_DESC}",
      "Image": "",
      "SeriesID": "manual/${_CH}"

Okay I added ProgramID and that fixes it. Also shows up as queued correctly on the guide and in search results.

Thanks, Works great in the new release after refreshing guide data.

This is awesome. I watch Church on Sunday mornings (broadcast on Youtube, brought in on a custom channel via HLSTube) I always wanted to record in case I'm late (often) but didn't feel like diving into the whole record by time and channel thing. Plus nobody can modify these scripts but me, which fails the bus test. Anyway, setting up a season pass for 9AM Sundays is super easy now.

1 Like

Similarly, I use hlstube for integrating two Twitch streams into Channels DVR: and Amazon Music. The latter, in particular, often has concerts I'm unavailable to watch live, but I've used Channels DVR to record and time-shift them. It works well enough, but those methods were messy and clunky. This new method with blank placeholders is much cleaner and better!

I think if I'm ever able to auto-maintain an actual EPG for, it's the same exact schedule every week, my personal DVR wishlist will be fulfilled :slight_smile:

Might be nice to be able to mark the placeholder as new/live so we can have multiple recordings in the same time slot.

You can set your pass to All if you want that

1 Like

Okay, in the past, that wouldn't work because it would see it as a repeat. But I've never tried it with placeholders. Thanks!

1 Like

I think this is related to the new placeholder guide data and series pass.
Have a pass that uses negative pre and post padding to record from 3:30PM to 3:40PM.

    "EQ": {
      "SeriesID": "placeholder/16085/3PM"
    "GT": null,
    "ID": "104",
    "IN": null,
    "Image": "",
    "KeepNum": 0,
    "KeepOnly": "",
    "LT": null,
    "Limit": 0,
    "NE": null,
    "NI": null,
    "Name": "Canary SUNDANCE daily 10 min recording at 3:30PM",
    "NumJobs": 1,
    "PaddingEnd": -1200,
    "PaddingStart": -1800,
    "Paused": false,
    "Priority": 0,
    "Rerecord": false,
    "UpdatedAt": 1661869857018

Channels DVR deleted the scheduled recording before it was scheduled to start.

2022/09/01 15:06:59.315185 [DVR] Waiting 23m0.684826526s until next job 1662071400-104 fake-SUNDANCE @ 3PM
2022/09/01 15:06:59.546851 [DVR] Deleting job with expired serial: 1662071400-104 fake-SUNDANCE @ 3PM (placeholder/16085/1662069600)

Submitted diagnostics in case it helps
Logs have been submitted as 3d81e3ca-1920-464b-87b7-a4d73d0040d6

Of course I can't see the scheduled job it deleted, but here's what the one for tomorrow looks like

  "ID": "1662157800-104",
  "Name": "fake-SUNDANCE @ 3PM",
  "Time": 1662157800,
  "Duration": 600,
  "Channels": [
  "Channel": "",
  "DeviceID": "",
  "RuleID": "104",
  "Serial": 1662070019,
  "FileID": "",
  "Skipped": false,
  "Failed": false,
  "Dead": false,
  "Error": "",
  "Airing": {
    "Source": "placeholder",
    "Channel": "16085",
    "Time": 1662156000,
    "Duration": 3600,
    "Title": "fake-SUNDANCE @ 3PM",
    "SeriesID": "placeholder/16085/3PM",
    "ProgramID": "placeholder/16085/1662156000"
  "UpdatedAt": 1662070019731

Don't spin your wheels too hard on this one DVR Pre-Release: Placeholder guide data - #24 by chDVRuser unless something obvious.
These are Canary recordings (I don't need them, just used to discover when TVE tokens expire)
I have the same recordings setup on another dvr (just the start time of recording is different, same channels and padding) and they worked today. I also have hsltube recordings setup on another dvr recording the whole hour without padding and they worked today.

I think it may be a fluke with me having set series passes and the recent updates.
Will let you know how these same recordings go tomorrow. All dvrs now running v2022.09.01.2101

1 Like

It would be nice if the recording showed up with the "Pass Name" rather than the "Placeholder Name" The name of the pass is editable and can be more descriptive.

The name of the recorded show is also editable.


Ah, forgot about that. Channels is getting so big, I'm having trouble remembering it all. Thanks for the tip.

1 Like

I guess it’s known that shows that are set to record or are recording via this method do not show as such on the program guide in the latest iOS beta?

They should be. Are they marked correctly on the DVR web UI version of the program guide?

1 Like

Pretty sure that's what it was.
All placeholder recordings on three servers recorded today, no issues.

They show as recording on the main page of the web admin. Haven’t checked the guide. Definitely not showing as red or yellow in the guide on either AppleTV beta or iPhone beta.

EDIT: Not showing on the web admin guide either.

1 Like

They show on my web UI guide (for tomorrow). Since the fake EPG only runs until tomorrow at midnight, they may not show for scheduled recordings this Sunday or later.

What I did to test was just set something to record then immediately go check the guide. It doesn’t show for me in that scenario. But it does on other “normal” channels. Not a huge deal but thought I would report it.