ESPN+ with Custom Channels via ADBTuner

my 2 cents.
After using this for a full sports weekend, I would agree that once a day is adequate. I ran into this issue and just increased the XMLTV refresh in channels, but that just reduces the probability of mis-alignment.

On setting the tags, "Live" should be (and I think is) an attribute of the event and therefore not dependent on time/schedule, so it shouldn't change (same with the New tag).

agreed... it's a super simple change so i'll get that out today (and a beta padding feature)

I would say the only cases would be if a game time changed during the day (which is typically the case for tournaments or playoff games or other type of delays especially at the collegiate level) and they adjust the time in the API for that

That did the trick. Thanks

My Filter is now:

> ESPN Deportes,ESPNews,ESPN,ESPN2,ESPNU,ACCN,ACCNX,SECN,SECN+,SEC NETWORK,SEC Network,SEC Network +

ESPN4CC4C Updates – Padding, Scheduler, and Log Management

Just pushed a few updates to ESPN4CC4C that should make things a bit smoother and easier to manage.

Event Padding (for games that run long) – beta

This is a first pass at padding support, and I’m treating it as beta for now. Feedback welcome. The logic now looks at both is_reair and is_studio so we only pad truly live sports events.

  • New env vars:
    • PADDING_START_MINS
    • PADDING_END_MINS
    • PADDING_LIVE_ONLY (defaults to true)
  • With PADDING_LIVE_ONLY=true (default), padding is applied only when:
    • is_reair = 0 and
    • is_studio = 0

In other words:

  • Live games / competitions → padded
  • Live studio shows → not padded
  • Replays (games or studio) → not padded
  • If you want to pad everything regardless of flags, you can set:
    • PADDING_LIVE_ONLY=false → padding is applied to all events.

Example:

  • PADDING_START_MINS=5 and PADDING_END_MINS=30 will start a live game 5 minutes early and extend it 30 minutes past the scheduled end time in the VC plan.

Padding is off by default (0 minutes), so existing setups behave exactly the same unless you turn it on. In the logs, the padding summary now reports non_live_events_skipped, which counts both studio shows and replays that were not padded.

Refresh Schedule

  • Changed from three times a day (08:05 / 14:05 / 20:05) to once a day at 03:00.
  • ESPN schedules don’t move around that often, so this cuts down on unnecessary DB churn.
  • You can still manually kick off a refresh anytime via /admin/refresh.

Log Rotation and Cleanup

  • Plan builder now writes to a rotating JSONL log:
    • Max 10 MB per file, keeps 3 backups.
  • A weekly job cleans up older logs so things don’t grow forever.
  • Net result: logs stay roughly in the ~50 MB range instead of creeping up over time.

Bug Fixes

  • Fixed a critical filter bug:
    • When filters exclude all events, the events table is now actually cleared instead of just logging a warning.
  • Fixed missing type imports that could cause import errors in some environments.
  • Removed an old, unused helper around previous plan start times.

All of these changes are backwards-compatible. If you don’t touch the new padding env vars, it should behave exactly like before, and if you do enable padding, it now only applies to live sports events rather than studio shows or replays.

I got all the streams up but there's one issue.

The deeplinks aren't working with the commands provided.

when it runs the whatson url it will literally just run "adb shell am start -n com.espn.score_center/com.espn.startup.presentation.StartupActivity -d 192.168.1.72:8094/whatson/1?deeplink=1&dynamic_url_json_key=deeplink_url" and not load up espn despite every single setting being correct. It doesn't grab the deeplink url from the link when it runs basically. It seems to only run the deeplink url directly.

Nevermind I wasn't on the development branch of adbtuner that fixed it.

Still batting just about 0 on lane guide mapping. Recording gets set to a channel, records, and it's a completely different program.

Is there any way to dig in on the lane population, to see alignment?

it refreshes daily at 0300am and events could change channels unfortunately... are u setting your DVR up far ahead of time? does live channels match up?

Nope - same issue "live" vs recording - the mapping just ends up being incorrect.

These are on passes - so it will set a recording whenever it hits the guide data. I even tried a db refresh / reload guide in channels after stopping a "bad map" recording, and it didn't change the channel number.

very odd.... i'm not having any of those issues bc i dont use ADBTuner. are you seeing this with ADBTuner, or directly through the ESPN4CC4C app/m3u/xml links?

i'm not going to be much of help if it's a ADBTuner setup sorry.

@bnhf would know better, but ADBTuner (I think) is only a middleman endpoint here - the guide data and channel #s are done via the espn container.

1 Like

I'm not sure why you'd have an issue with live content, though we never got to the bottom of why you weren't able to use Ignore channel-number from M3U (or the equivalent via Project One-Click), while I've been able to set my channel numbers to start at whatever. Maybe these issues are related?

The problem you're reporting with recording via passes makes more sense to me, depending on how Channels manages these advance recordings. E.G., if a recording for tomorrow is scheduled for a certain time on a certain channel based on a pass, and that event moves to another channel -- does Channels ever look at those previous matches for that pass to cancel any that no longer match?

@KineticMan Have you tested pass-based recordings using ESPN4cc4c with cc4c? If so, and an event moves to another channel/lane, does the scheduled recording move to the new channel at some point?

I never have personally, but I'll give it a shot.

My guess is CDVR finds an event in passes and schedules it on whatever channel it first sees it on. If channel changes, the pass probably isn't smart enough to catch that and update the scheduled recording. If that's indeed true, I'm not even sure how I could work around that in ESPN4CC4C short of never updating an lane/channel event once it's set once.

But I am concerened why he's not seeing live content match the right channel. It's worked for every other person - what is unique to his setup?

Hmmm - I'm thinking i may have channel overlap somewhere:

These are the only 2 though. Let me see if i can find where these are coming from

Uh. Yeah. No idea why preferred channels from this are all over the place. Will give them their own range now from Channels: