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

Beat me to it. I was gonna ask OP to update the container url to my own repo as the original developer has abandoned ship.

New bnhf/olivetin:latest (aka bnhf/olivetin:2024.06.29) built with vlc-bridge-fubo registry location updated to:

registry.gitlab.com/yankees4life/vlc-bridge-fubo/main:latest

Done.

As you found out, it's possible for them to be the same, assuming your OK with your Docker container data directories being mixed in with your Channels DVR folders. I keep them in a separate location myself, because not all my bound directories are CDVR related, but if all yours are it should be fine.

Excellent, I've got it all working now! Thanks so much, @bnhf.

And thanks to @joagomez and @Jean0987654321 too. Super cool software.

2 Likes

@bnhf I found the original message I sent you regarding the token. I don't know whether this is something you will want to try, or even technically possible given the context but...

This is the command to send:

POST http://localhost:9000/api/users/1/tokens

with this JSON payload:

{
  "description": "OliveTin for Channels"
}

The returned JSON value is:

{
  "rawAPIKey": "[REDACTED]",
  "apiKey": {
    "id": 1,
    "userId": 1,
    "description": "OliveTin for Channels",
    "prefix": "ptr_hlS",
    "dateCreated": 1714617817,
    "lastUsed": 0,
    "digest": "[REDACTED]"
  }
}

Not sure about "digest" but I redacted it, just in case.

I love automation and I hope this can remove one more manual step from the user. :man_shrugging:

1 Like

New bnhf/olivetin:latest (aka bnhf/olivetin:2024.07.03) has been pushed with support for deleting watched videos, either on a one-time basis or every x minutes/hours. More detail in this thread:

New bnhf/olivetin:latest (aka bnhf/olivetin:2024.07.06) pushed with support for keeping your CDVR server(s) updated to the latest pre-release. More detail here:

1 Like

I easily enabled the "Keep CDVR Server updated" action just after the latest OliveTin update. It is working beautifully. Two updates (single server setup) in the past couple days without touching a keyboard. Sweet!

How do you tell this is working (besides manually noting version number)? I checked the [server_ip]_updateprerelease.log file but it did not contain any information about updating a prerelease version.

server_ip_updateprerelease.log
Initial check complete, with continuing checks set for 4h intervals.

Background updateprerelease process running for 192.168.0.11:8089
foreground.sh is exiting for updateprerelease with exit code 0
true
Initial check complete, with continuing checks set for 4h intervals.


Initial check complete, with continuing checks set for 4h intervals.


Initial check complete, with continuing checks set for 4h intervals.

true
Initial check complete, with continuing checks set for 4h intervals.


Initial check complete, with continuing checks set for 4h intervals.


Initial check complete, with continuing checks set for 4h intervals.

true
Initial check complete, with continuing checks set for 4h intervals.

true
Initial check complete, with continuing checks set for 4h intervals.


Initial check complete, with continuing checks set for 4h intervals.


Initial check complete, with continuing checks set for 4h intervals.

The logging needs to be better than that -- thanks for pointing this out, I'll work on it.

I bookmarked the following topic: DVR Pre-Release Notes and have it tagged as "watching" so that I receive an email notification for each update.
I have the action set up to check at 3 hour intervals, and have been able to check the GUI status page to see if it has been updated to the latest pre-release version number. I also check the current "uptime" on the GUI to see when it was updated.

Trying to figure out why my action went out of sync.
I have OliveTin checking my 6 servers for Channel Lineup Change Notifications every 12 hours at 11:05 and 23:05. Five of them have kept the schedule, but one of them is now checking at 12:32 and 00:32

Check time: 2024-07-09 12:32:49
Server version: 2024.07.06.2035
No changes found in any source.
Next check: 2024-07-10 00:32:49

I had restarted OliveTin a day or two ago to correct this, but it continues on this schedule for this one server.

Any ideas what I should check or do to get it back in sync?

2024-07-02 11:05:53
Channels DVR server URL: http://192.168.1.4:8489
Channels DVR version: 2024.06.28.1813
------------------------------
Pluto: 417 channels (-2)
(http://192.168.1.3:8080/playlist.m3u)
****************************************************

2024-07-08 12:32:49
Channels DVR server URL: http://192.168.1.4:8489
Channels DVR version: 2024.07.06.2035
------------------------------
Pluto: 418 channels (+1)
(http://192.168.1.3:8080/playlist.m3u)
****************************************************

I did have a Internet outage (for 14.5hrs) on 2024-07-05, but it didn't affect the other 5 servers being monitored.

If you can't figure it out, I'll just kill the 6 actions and restart them all at 11:05 sometime this weekend.
Would be nice to be able to schedule the time of day they run (like a cron job) from within OliveTin.

No idea, unfortunately.

:thinking:
You got me thinking that maybe this could be an option in the script itself.

Let's see what @bnhf thinks about doing it in OliveTin.

I think we're going to need @mjitkop to weigh in on this, as the frequency the script is run is passed to his python script. I'm not sure how that value is handled in the script, if it's a sleep like I'd do in Bash, or some other mechanism.

Yes, it is.

It starts as soon as the script is invoked.
That defines the start time.

I'll see if it's easy to add an input in the script to specify a specific start time.

Can you think of a scenario where that defined start time could fail to reset when the script is restarted? Is it written to a file?

No. There is no start time variable in the script.

When the script is invoked, it will do the first check, and then sleep for the duration that is specified, before the next check.

So the check time just depends on the time that the script is invoked for the first time.

In my previous post, I should have said "That defines the check time" instead of "That defines the start time". :wink:

When I set up Olivetin, I identified "Alert" email variable such as SMTP server, "from" address, password, and "to" address.

When enabling the Channel Lineup Change Notifications action, do I need to put these variables in again in order to receive email notification of lineup changes? If so, there is no prompt SMTP server. Do I also need to generate a new "app password" for my "from" email account. Or can I use the same one I initially created for Olivetin?

I think that I may be entering something incorrectly. When I try to enable the Lineup Notifications with my email account information, Olivetin gets stuck on "waiting for result".

You do. This Action was created before I added e-mail notifications to OliveTin itself. At some point I'll probably circle back and incorporate the OliveTin values, but for the time being it's seperate.

I believe the SMTP server is assumed based on the "from" email address, but in any case, it's not a needed argument.

You can use the same values.

Make sure your entries look like this, with the email and recipient values included, along with your app password:

If you have an idea how you may have done it differently before, let me know, as I'd like to add error handling to cover it.

This is the format of the entries I used when the action would not complete: