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

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:

That looks fine to me. Does the OliveTin Post-Install Healthcheck still give expected results?

This part of the Healthcheck doesn't look right any more...

Checking that your selected Channels DVR server's log files (/mnt/192.168.1.100-8089_logs) are accessible:
Folders with the names data and latest should be visible...

total 4
drwxr-xr-x 1 242120 242120 200 Jul 10 11:22 .
drwxr-xr-x 1 root root 82 Jul 11 10:46 ..
drwxr-xr-x 1 242120 242120 154 Jul 5 10:07 2024.07.05.0316
drwxr-xr-x 1 242120 242120 154 Jul 6 23:20 2024.07.06.2035
drwxr-xr-x 1 242120 242120 154 Jul 8 11:21 2024.07.08.1557
drwxr-xr-x 1 242120 242120 154 Jul 9 05:21 2024.07.09.0408
drwxr-xr-x 1 242120 242120 154 Jul 9 11:21 2024.07.09.1551
drwxr-xr-x 1 242120 242120 154 Jul 10 11:21 2024.07.09.1812
drwxr-xr-x 1 242120 242120 2602 Jul 11 11:45 data
lrwxrwxrwx 1 242120 242120 15 Jul 10 11:21 latest -> 2024.07.09.1812

You're still good. data and latest are there.

I'll give this a more in-depth look, and get back to you.

@jsfullam Also, in the folder on your host you have bound to /config in OliveTin container, could you check to see if 192.168.1.100-8089_channels_dvr_monitor_channels_latest.log contains anything?

Yes. The file is from today's date, at the time I deployed the Lineup Changes action.
It contains the following:

Script version 3.3.0

Using Channels DVR server at: http://192.168.1.100:8089.
Checking for channel lineup changes every 360 minutes.

An email will be sent to (redacted)@yahoo.com when changes are detected.

Channel lineup changes will be written to:
/config/192.168.1.100-8089_data/2024_channel_lineup_changes.log

The last activity will be saved in:
/config/192.168.1.100-8089_data/last_activity.log