OliveTin for Channels: An Interface for Misc Channels DVR Scripts & Tricks

New bnhf/olivetin:latest (aka bnhf/olivetin:2026.03.07) pushed with maintenance updates to Project WebUI+, in addition to a new userscript that supports a "sticky" time slot header for events in the CDVR WebUI grid guide. No more having to scroll back to the top to figure out what time slot you're looking at. :slight_smile: More details here:

I am going to ask a stupid question because I simply don't know. How do you update OliveTin-for-Channels. Mine shows currently that I am running [OliveTin-for-Channels 2026.03.01] Is it automatic or is there something special I need to do. Thanks in advance for answering my stupid question.

Install Watchtower via Project One-Click. It'll run and update every running container, then exit. Leave it in the exited state, and when you want to update all running containers again, tick its box in Portainer-Containers and then click start. The process will then repeat. This is called "RUN_ONCE" mode, and it's the safest way to update containers.

1 Like

Thank you for the instructions. I was able to update.

2 Likes

Why did ChannelWatch get deprecated?

It's on the deprecated page in OliveTin, but should still work, if you want to install it.

It was strange situation with the developer from the start, as he was brand new to this forum and brand new to GitHub, along with everything he was doing being AI generated. His code, his forum posts, you name it.

I used his container for bit, despite concerns, and spent a a fair amount of time keeping it working with OliveTin through various breaking changes. Ultimately though, when his code pushed thousands of notifications out through my Pushover account (with no explanation), I personally pulled the plug.

Since he hasn't posted here in the last 9+ months, the code hasn't been touched in almost a year, and he's done nothing else on GitHub during that period -- it seemed like time to move it to the back burner, at least as far as OliveTin-for-Channels is concerned.

The dev bailed. It's been doormat for a year. Darn shame tho as it was a promising tool but yeah

Gotcha - yeah the ai stuff was pretty obvious - was my first indication that vibe based projects were becoming a thing - first indication seems to be mostly feature complete on version 1 and the ui design is a lot better than most v1 projects

Its just been working for me so i didn't notice it has been abandoned - thanks

1 Like

would it be possible to get an olivetin adb action to reboot an androidtv client &or one to kill the cdvr client app (cdvr beta)

It could be done, but that would mean configuring ADB connections for all of your Channels client devices (or at least the ones you want to be able to reboot). Other than that requirement, OliveTin already has all the tools and info it needs to do it.

There would be a dropdown that would have each of the CHANNELS_CLIENTS you've defined, and then the Action could send an adb connect to that client, which you'd need to approve the first time (you would have had to already enabled developer mode and USB debugging of course).

This would not work with any device that can't be used with ah4c or ADBTuner, like the CCwGTV (Android 14+) for example.

1 Like

I think a recents list would be good and when adding one maybe the cdvr api could give a list of the servers clients. otherwise a link to that settings page to quickly find the IP

edit; just realize I steped up the level there a bit.. any little bit still helps!

The dropdown would list the devices you defined in CHANNELS_CLIENTS, which is an OliveTin-for-Channels env var that's also used to send onscreen messages to clients. Those clients can be defined by resolvable hostname or IP address. I always use hostnames myself for easy identification.

What I'm hoping to do here is use values, tools and methods already available in OliveTin to achieve what you're requesting. :slight_smile:

no, I appreciate any and all effort! I forgot about the other client tool.

for some reason on my setup there's a docker to localhost connection that doesn't ^ always resolve the host names for me.

Do you use Tailscale? Have you established a domain name for your LAN (most decent routers support this) -- like localdomain or lan?

OliveTin has a DOMAIN variable, and you can set your LAN and Tailnet domain names there.

unless i'm missing something this is the closest i can get with a cheep router. I just saw I can change it, but it's been set to that the whole time, so unless case matters, the router should know the name. also, I am running a pi-hole.

With Pi-hole, that should be your DNS server in order for it to do anything. Go into your Pi-hole WebUI, and create local DNS records for whatever. E.G. shaggy-mancave could be assigned to 192.168.x.x. Then you could set CHANNELS_CLIENTS=shaggy-mancave, or CHANNELS_CLIENTS=shaggy-mancave shaggy-hometheater shaggy-snoozespot, to expand on the concept. :slight_smile:

I might be the only one using this action, but can you update the stalexmlalerter.sh script to have curl follow redirects, curl -sL ...

Done. Pushed as bnhf/olivetin:latest (aka bnhf/olivetin:2026.03.26). Untested, so if you could confirm it works, that'd be appreciated.

Thanks. Working now.

1 Like