I should have realized that. I assume (I'm not fluent in Python) that it's pulling the schedule from /dvr/jobs
def getJobs():
result = requests.get(channels_dvr + "dvr/jobs")
and that has DeviceID = null until the recording actually starts and then it appears in recorded jobs /dvr/files.
So it sounds like that idea went up in smoke. Thanks for checking.