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

OK, thanks to some needed quality testing by @cyoungers, I've updated the :test tag build that includes Channels Lineup Change Notifications.

The following issues should be fixed:

  • Gmail "app" passwords can now be entered in the form presented on the Google website (with spaces included). Those spaces will be stripped out automatically.

  • Email, recipient and text data entered will become the new default entries even if they're changed multiple times. :slight_smile:

  • A currently running script can now be "updated" with new values (old script killed, new script started), without need to stop the currently running script first.

  • As before, "none" needs to be used in any field where there's to be no data entry. This requirement is now included in each field's description.

Let me know if there's anything else. Thanks again to @cyoungers for the testing, and @mjitkop for a great script.

1 Like

Also, as a clarification, the Channel Lineup Change Notifications script uses SMS gateways for texts. This means that you need an SMTP server (like you have when you setup a Gmail "app" password), and you need to use your 10-digit cell phone number combined with the correct domain for your cellular carrier.

Those domains are listed here:

For example if you're a Verizon customer, and your phone number is (321) 555-1212, you'd enter:
[email protected] as the value in the "text" field.

Another small update to the test version:

  • Using an interval of "0" will now not only kill the background script, but it will also reset all the default values to none -- giving you a clean slate.
1 Like

Thanks @bnhf. I was able to get the task to launch using either "none" or a valid entry into each field. However, it looks like it does not remember the previous setting when relaunching the task. For example I launched the task with a freq of 30 seconds, then changed the freq to 35 seconds and the log indicates that it changed to 35 seconds. When I bring up the setting panel again, it still shows 30 seconds. This happens with the other fields also.

I've been leaving the 30 minute default alone, as this is the default for the script -- but I could definitely change that. As far as the other fields go, did you try hitting refresh on your browser?

Yup that was it. Refreshed and all looks good! Now I'm waiting for channel updates to occur and see if I get notified.
Thanks so much for creating this tool. It's nice to have all these miscellaneous channels scripts in one place. 30 minutes (I mistakenly said seconds) seems a reasonable default to me though I'll likely kick it up to once or twice a day once I see it working.

To make it easier for the user, I was thinking of changing this in such a way that a list of cell phone carriers will be available in a drop-down selector in OliveTin (with your kind help, of course :grin:)
This way, the user will simply pick their carrier from a list. Then let the script automatically use the right SMS gateway.

If you agree with this idea, I will first make the change in the script to handle this situation and I will let you know when it's ready.

Actually, we could do this all very easily in OliveTin. No need to change anything in the Python script. Makes sense to me to do it -- so leave it with me.

Also, all is working well with the output redirect to a file. So, on that front too, it looks no changes are needed to your script. It's been amazing to me what can be done with OliveTin and some bash scripting as a frontend.

1 Like

Great! It's getting better and better. :smiley:

Third (and final) push of bnhf/olivetin:test for today, fixes/improves a couple of other small things:

  • The run "interval" will now be updated from the default to your last used value, as well as all the other values (except for password -- which you'll continue to need to provide each time). My password manager (Roboform) has been filling it no problem, and I'm sure it'll work with others.

  • We're switching from (Running!) to (mm-dd-yy hh:mm) on the Action Button to show the script as active. This seems more useful, plus it allows me to force a refresh on every change -- so no browser refreshes should be required to display the latest values for fields. I'll be making this modification to other buttons with background tasks too.

And that's it for now -- but as usual, there are a few more ideas for the future in the hopper.

Got first gmail notification for channel lineup change using test build created 2023-10-12 17:45:09. Looks good. I did not try text notification. I'll wait until the carrier selection issue gets sorted out.

I've added an OliveTin Action Button to pull a Channels DVR log for x number of lines, applying whatever filter you like (grep-based, with special characters automatically escaped). Built under the test tag, because I know how good you all are at over-winding your toys. :wink:

Feedback for fixes, enhancements, or whatever -- appreciated as always!

1 Like

Works for me but I have not hit it with any grep yet.

Script request:
Sometimes I want to know if I get channel xyz and what source(s) it comes from. I know there is the create channels list in CSV format script in olivetin based on the channels_to_csv.py script but I want to do it quick and dirty without having to launch a spreadsheet. I was wondering is someone had a script to search for a channel name and tell you the channel number and source (or sources) of the channel.

I think that'd be a fairly straightforward adaptation of the @mjitkop channels-to-csv script, as it only takes moments to produce. We could then grep for the channel, and then awk by the comma separated fields to format the output.

Oh my word, that would be so useful. I have a lot of sources with overlapping channels so I wrestle with the search often.

1 Like

@cyoungers @Fofer

Needs a little tweaking, but I just got this using a fancy awk command on one of the @mjitkop CSV files. Seems good to me, based on a search for ION:

Channel name: ION
Number of sources: 4
Free channels: -
UK TV: -
Stirr: -
Samsung TV Plus: 1051
Pluto TV: -
FrndlyTV-noEPG: -
FrndlyTV: 9620
Fire TV - Live TV: -
Fire TV - DTV: -
Chrome Capture: 9662
CDVR - Minneapolis: 9596
DIRECTV: -

That looks great to me.

Let the mystery of sources for channel xyz be no more!

I've added another OliveTin Action Button, this time building off a previous action. This one will match the name you give it to the latest "Channels List in CSV Format" you've created, and output the first match. The source(s) and channel number(s) will be listed. If it's a short name, use a comma at the end to improve matching.

Be sure you've previously generated at least one CSV file using the action button for that purpose. A fresh CSV file is required to start things off (due to modifications to that file), but after that it's up to you:

I'm still adding features under the :test tag currently, but will sync it with :latest at some point.

2 Likes

Pulled test build to check out List Sources For a Single File. Getting a file not found error.

level="info" msg="Before Parse Args" cmd="/config/channels_to_csv_awk.sh {{ channel }}"
level="info" msg="After Parse Args" cmd="/config/channels_to_csv_awk.sh ESPN"
level="info" msg="Action starting" timeout="3" title="List Sources for a Single Channel"
level="info" msg="Action finished" exit="2" stderr="exit status 2\n\nawk: fatal: cannot open file `/config/channels_dvr_channel_list_latest.csv' for reading: No such file or directory\n" stdout="" timedOut="false" title="List Sources for a Single Channel"