I just updated it with a couple of minor changes (that were in other feature-specific threads), plus I added the static-file-server container to allow hosting various files (e.g. Plex M3U/XML) from a local URL, for use in Custom Channels sources.
Just pushed a new bnhf/olivetin:latest (aka bnhf/olivetin:2024.02.10) that includes the following:
-
When generating an M3U based on a "Channel Collection", custom channel logos are now supported as we're no longer using http://$dvr/devices/$source/channels.m3u as a starting point, but are now using JSON data from http://$dvr/devices/$source/channels. It's a slightly slower process, so it can take a couple of minutes to generate the M3U if you have a large number of channels/sources (timeout set to 180 seconds -- thanks @chDVRuser).
-
The latest and greatest version 3.x of the @mjitkop script: channels_dvr_monitor_channels.py is now included. More detail can be found here: Python script to be notified of channel lineup changes
@bnhf - I just pulled the latest and decided to try the channel lineup change notifications and set it up for sms notification on my t-mobile gateway. I was just wondering if this stdout means everything is normal and that the monitor is running fine.
No that error would suggest you didn't supply the e-mail address and password required for this type of SMS message, which uses "SMS gateways" to send texts via SMTP:
So, if you didn't, you'd want to supply your gmail address and the app specific password you created previously. Then, I'm pretty sure your phone number needs to be in the format shown in Wikipedia, based on your carrier.
OK. That makes more sense. I checked that the gateway worked (I'm using T-Mobile) by sending an email from my mail account and that worked. I assumed that I did not need to specify the email info. My feeble brain thought that the email sending part happened magically inside of olive-tin somehow.
Anyhoo, it's working now with stdout showing my baseline lineup. Just waiting for the lineup to change someday before I get a text msg.
Thanks for these collection of utilities. I use it all the time.
Keep in mind that the text message will be short by design and won't contain the details of the lineup changes.
In order to get the details of the changes, you can also select the option for email notification, and/or check the stdout console and/or the log file. 
I just noticed that my default settings are not remembered once I go back in and make a change to channel lineup change notifications. The other utilities do this @bnhf.
Congratulations! 
As soon as I can get focused on it, I will add one more download. 
OliveTin scout here
Iām not sure if itās been mentioned before but perhaps this lesser-known tip warrants inclusion in OliveTin, either as an informational snippet, or the basis for a plugin that helps us customize our channel logos? Unless thereās a better wayā¦
Regardless, kudos to @kennyb3653 for sharing it!
That would be awesome. For what it is worth, I did use OliveTin, using the "Generate a Channels DVR
M3U Playlist" button. I took the generated playlist from the logs, pulling out and using only the six channels I needed. I did only minor tweaks then to each one, before putting them as a "Logos" source. For example, one channel came in the OliveTin log like this:
#EXTINF:-1 channel-id="abc-wmar" tvg-id="5985" tvg-chno="5985" tvg-logo="https://tmsimg.fancybits.co/assets/s28708_h3_aa.png?w=360&h=270" tvc-guide-stationid="21230" tvg-name="WMARDT" group-title="HD",ABC
http://192.168.7.180:8089/devices/ANY/channels/5985/hls/master.m3u8?
All I did was replace the part after "tvg-logo" with a link to my logo, and deleted the m3u8 address at the end. So the end result was something like this:
#EXTINF:-1 channel-id="abc-wmar" tvg-id="5985" tvg-chno="5985" tvg-logo="http://www.mywebsite.com/images/tvlogos/wmar.png?w=360&h=270" tvc-guide-stationid="21230" tvg-name="WMARDT" group-title="HD",ABC
I've been noodling this around for the last couple of days, and here's an approach that I think could be good:
-
Create a "Channel Collection" that contains the channels for which you'd like to use custom logos
-
Collect the custom logos you'd like to use and name them with their Channels DVR "tvg-id"
-
Upload those logos using the existing DVR - Manage - Images feature of Channels DVR
-
Use the "Generate a Channels DVR M3U Playlist" OliveTin Action, with the collection name you chose and a filter of "logos".
-
This will generate an M3U that will contain just the channels who's logos you want to override, and will have those logos set to the matching logo name from those uploaded images.
-
This M3U can be used via copy-and-paste, or can also be made available on a URL via the OliveTin companion static-file-server container
How does that process flow sound @Fofer and @cyberskier?
I would have to test it. I just output all my channels from OliveTin, pulled out the ones I wanted and put those into their own custom channel (so copy and paste), and deleted the last line, which was the m3u8 link, if I recall. I then uploaded the logos to my web server, and pasted the link to the logo after ā tvg-logoā for each channel.
Sounds like a great approach to me!
@Fofer @cyberskier I've added this Custom Channel Logos "trick" to the latest build of OliveTin, bnhf/olivetin:latest and bnhf/olivetin:2024.02.21.
The process is as described a couple of posts back, with much more detail and screenshots to be found here:
New OliveTin-for-Channels pushed today with tags :latest and :2024.02.23. Total update for all sample docker-composes for every extension somebody might want to use with Channels (that I could think of). All examples are for use with Portainer-Stacks! I also posted them all here:
So dumb/newbie question: How do I get the client names to input as variables for the āsend messageā feature? My guess would be from the client section of the DVR, but I have some client names with spaces in them.
(I believe Iāve otherwise figured out how to add the CHANNELS_CLIENTS variable, but just donāt know where to find the client names)
Thanks!
The way I set this up, any message is sent to ALL defined clients. My thinking was, if the message is intended for just one person, put their name(s) in the title. Overall, I've been trying to keep the data required for individual actions as streamlined as possible.
Thanks. But donāt I first have to define those clients in Portainer in an environment variable? Or can I just not do that, and it goes to all clients by default?

: