jwaymire 14 Posted October 10 Posted October 10 (edited) Hi everyone, I'd like to share a plugin I built for my own Emby server and ultimately be able to include it in the catalog. I'm an old tech junkie who loves movies, and I wanted my library's collections to feel alive: Halloween movies in October, Christmas movies in December, the best of the 80's all year, without me babysitting any of it. I tried several of the collection tools out there. They were either too limited, too complicated to set up, or paid. So I made what I was missing: a drop-dead simple collections manager that updates itself and can schedule collections to appear and disappear. The name says what I was after: ultimate control over your collections, while keeping it really simple. My Collections view. Every collection and every poster here was made by the plugin. Project page on GitHub: github.com/jdwaymire/UltimateCollections The full guide with explained examples, 19 ready-made collections, releases and the issue tracker are all there. A star or a bit of feedback is always appreciated. What it does Builds collections from TMDb keywords, actors, release years and ratings, public MDBList lists, or simply words in the title. Only puts in what you actually own, and keeps every collection up to date: a movie you add today joins its collections tomorrow morning. Seasonal collections appear on their start date and are removed after their end date, every year, on their own. Draws a poster and a backdrop for each collection from the artwork of its best-rated movies, in the colours you pick. Runs as a normal Emby scheduled task (daily at 05:00, or press Run now). All it needs Emby Server 4.10 or newer. A free TMDb API key. That's it: no subscription, no paid service, no other accounts, no extra software. MDBList lists are public and need no key, and title-based collections don't need the internet at all. A collection is just a few lines Everything is set up in one plain text box on the settings page. This is a complete, working collection: [collection Halloween] tmdb_keyword halloween season 10-01 10-31 That gives you every Halloween movie you own, shown in October only, with its own poster, updated every night. A few more to show the idea: [collection Top 80's] release_years 1980 1989 min_rating 7.0 # TMDb average of 7 or better min_votes 2000 # and well known [collection Trekkie] title Star Trek # every Star Trek movie AND series in the library tv yes [collection Winter Time] tmdb_keyword winter tmdb_keyword snow exclude_genre Horror exclude_keyword christmas # those live in the Christmas collection season 12-01 02-29 The building blocks: tmdb_keyword, tmdb_actor, release_years with min_rating / min_votes: TMDb sources. mdblist user/list: any public MDBList list (great for big holidays). title: matches names in your own library, no API at all. exclude_genre, exclude_keyword: keep the scary stuff out of Thanksgiving. season MM-DD MM-DD: when the collection exists (it can wrap past New Year). tv yes: include shows too. Posters without the hassle Every collection gets a generated poster (a darkened mosaic of its best-rated movies with the title across the middle) and a matching backdrop. You don't have to type colour numbers either: press Poster style..., pick a ready-made style or your own colours, and watch the real poster update before you apply it. The Poster style popup. The preview is drawn by the plugin from the collection's own movies, exactly as the nightly run will make it. The settings page: TMDb key, Dry run, a few options, and the collections text. Safe by design It only ever changes or deletes collections it created itself. A collection with the same name made any other way is left alone (and the log says so). It never touches your movies, shows or files, only collections and their artwork. A fresh install starts in Dry run: it writes what it would do to its log and changes nothing until you're happy. If a source suddenly returns nothing (a list removed, a network hiccup), the collection is left as it is instead of being emptied. There's an optional Delete All Collections button for starting over with a messy library. It's admin only, you have to type DELETE, and it writes a backup list first. The Danger zone, for when your library's collections have got out of hand. Your media is never touched. Light on TMDb Downloaded lists are saved and refreshed once a week (or when you change a collection's sources). The nightly matching against your library costs zero API requests, and downloads are throttled to 4 requests a second. My 19 collections take a few hundred requests for a complete refresh, well within TMDb's free limits. Installation Download UltimateCollections.dll: it's attached to this post, and it's also on the Releases page on GitHub. Copy it into Emby's plugins folder (Linux: /var/lib/emby/plugins/, Windows: %AppData%\Emby-Server\programdata\plugins\, Docker: <config>/plugins/). Restart Emby Server. Open Dashboard > Plugins > Ultimate Collections and paste your TMDb read access token. The text box starts with a small Hacker Movies sample, just for fun. Keep it or add your own. Go to Dashboard > Scheduled Tasks > Sync collections, press Run now, and read the log. When the log looks right, untick Dry run and run it again. Your collections appear. It's not in the plugin catalog, so this manual install is the way for now. The full guide The README on GitHub walks through every setting with 13 explained recipes (decades, actors, franchises, mixing sources, seasonal windows and more), and examples/collections.conf has my own 19 collections ready to paste in whole. Tested on, and feedback I run it on Emby 4.10.1 on Linux with about 3,100 movies and 40 series. I haven't tried it on Windows or in Docker myself yet, so reports from those setups are very welcome. If something goes wrong, please include: your Emby version and operating system, the [collection ...] block that misbehaves, the matching lines from the plugin's log (the logs folder in plugins/UltimateCollections/). Please leave your TMDb token out. Free and open source Ultimate Collections is free, MIT licensed, and the source is on GitHub. I built it mostly for myself, but I like to share. If it makes your movie nights a little better and you feel like it, you can buy me a coffee. It keeps the tinkering going. As with anything free: use it at your own risk, and back up your server before trying something new. Thanks for trying it! Justin UltimateCollections.dll Edited October 10 by jwaymire fixed photos 2 1
ebr 16972 Posted October 10 Posted October 10 Cool. Suggestion - now tie this into the new home screen sections so that your seasonal collections can appear there... 2
jwaymire 14 Posted October 10 Author Posted October 10 59 minutes ago, ebr said: Cool. Suggestion - now tie this into the new home screen sections so that your seasonal collections can appear there... I’ll look into it over the weekend, that would be pretty nice to have the seasonals pop up on the Home Screen automatically similar to what prime does. 2
GrimEvil 109 Posted October 12 Posted October 12 I have done a quick test using the below config [global] min_items 2 max_pages 100 list_refresh_days 7 # lists are downloaded again after this many days (library matching runs every night) [collection Halloween] tmdb_keyword halloween season 10-1 10-31 poster_title Halloween Movies poster_accent 255,135,20 poster_tint 40,15,50 [collection Trekkie] title Star Trek # every Star Trek movie and series in the library tv yes poster_title TREKKIE poster_accent 240,195,40 poster_tint 10,20,60 But when I check my collections I only see the below. It creates the "Trekkie" collection, but the "Halloween" does not get created, I also tried it with your other default config from github, with the same issue. I shutdown my server, cleared all my logs so I can trace the issue. Below is the log. 2026-10-12 08:28:27.867 Info ScheduledTaskService-0HNP869GB35UA:00000004: http/1.1 POST http://192.168.0.176:8096/emby/ScheduledTasks/Running/9d5b335ab7b82f4299bccc6e1814a179?X-Emby-Client=Emby Web&X-Emby-Device-Name=Edge Windows&X-Emby-Device-Id=23cae232-d34e-4070-b1d9-1a0cda38071d&X-Emby-Client-Version=4.11.0.7&X-Emby-Token=x_secret2_x&X-Emby-Language=en-gb. Source Ip: host1, UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36 Edg/156.0.0.0 2026-10-12 08:28:27.868 Info TaskManager: Executing Sync collections 2026-10-12 08:28:27.869 Info ScheduledTaskService-0HNP869GB35UA:00000004: http/1.1 Response 204 to host1. Time: 2ms. POST http://192.168.0.176:8096/emby/ScheduledTasks/Running/9d5b335ab7b82f4299bccc6e1814a179?X-Emby-Client=Emby Web&X-Emby-Device-Name=Edge Windows&X-Emby-Device-Id=23cae232-d34e-4070-b1d9-1a0cda38071d&X-Emby-Client-Version=4.11.0.7&X-Emby-Token=x_secret2_x&X-Emby-Language=en-gb. 2026-10-12 08:28:27.889 Info UltimateCollections: start: 2 collections in config 2026-10-12 08:28:30.138 Info UltimateCollections: library: 32339 movies (32292 with a TMDb id, 32268 with an IMDb id, 32339 distinct ids), 13744 series, 1089 collections in Emby 2026-10-12 08:28:30.289 Error UltimateCollections: [Halloween] ERROR, collection left unchanged: HTTP 401 for https://api.themoviedb.org/3/search/keyword 2026-10-12 08:28:30.314 Info UltimateCollections: [Trekkie] 100 items (+0 -0, list has 100, library titles) 2026-10-12 08:28:30.353 Info UltimateCollections: done: 0 created, 0 changed, 0 deleted, 1 TMDb request(s), 1 error(s) 2026-10-12 08:28:30.354 Info TaskManager: Sync collections Completed after 0 minute(s) and 2 seconds Maybe its my setup, or an issue with the plugin, hopefully the above will help
GrimReaper 5218 Posted October 12 Posted October 12 10 minutes ago, GrimEvil said: I have done a quick test using the below config [global] min_items 2 max_pages 100 list_refresh_days 7 # lists are downloaded again after this many days (library matching runs every night) [collection Halloween] tmdb_keyword halloween season 10-1 10-31 poster_title Halloween Movies poster_accent 255,135,20 poster_tint 40,15,50 [collection Trekkie] title Star Trek # every Star Trek movie and series in the library tv yes poster_title TREKKIE poster_accent 240,195,40 poster_tint 10,20,60 But when I check my collections I only see the below. It creates the "Trekkie" collection, but the "Halloween" does not get created, I also tried it with your other default config from github, with the same issue. I shutdown my server, cleared all my logs so I can trace the issue. Below is the log. 2026-10-12 08:28:27.867 Info ScheduledTaskService-0HNP869GB35UA:00000004: http/1.1 POST http://192.168.0.176:8096/emby/ScheduledTasks/Running/9d5b335ab7b82f4299bccc6e1814a179?X-Emby-Client=Emby Web&X-Emby-Device-Name=Edge Windows&X-Emby-Device-Id=23cae232-d34e-4070-b1d9-1a0cda38071d&X-Emby-Client-Version=4.11.0.7&X-Emby-Token=x_secret2_x&X-Emby-Language=en-gb. Source Ip: host1, UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36 Edg/156.0.0.0 2026-10-12 08:28:27.868 Info TaskManager: Executing Sync collections 2026-10-12 08:28:27.869 Info ScheduledTaskService-0HNP869GB35UA:00000004: http/1.1 Response 204 to host1. Time: 2ms. POST http://192.168.0.176:8096/emby/ScheduledTasks/Running/9d5b335ab7b82f4299bccc6e1814a179?X-Emby-Client=Emby Web&X-Emby-Device-Name=Edge Windows&X-Emby-Device-Id=23cae232-d34e-4070-b1d9-1a0cda38071d&X-Emby-Client-Version=4.11.0.7&X-Emby-Token=x_secret2_x&X-Emby-Language=en-gb. 2026-10-12 08:28:27.889 Info UltimateCollections: start: 2 collections in config 2026-10-12 08:28:30.138 Info UltimateCollections: library: 32339 movies (32292 with a TMDb id, 32268 with an IMDb id, 32339 distinct ids), 13744 series, 1089 collections in Emby 2026-10-12 08:28:30.289 Error UltimateCollections: [Halloween] ERROR, collection left unchanged: HTTP 401 for https://api.themoviedb.org/3/search/keyword 2026-10-12 08:28:30.314 Info UltimateCollections: [Trekkie] 100 items (+0 -0, list has 100, library titles) 2026-10-12 08:28:30.353 Info UltimateCollections: done: 0 created, 0 changed, 0 deleted, 1 TMDb request(s), 1 error(s) 2026-10-12 08:28:30.354 Info TaskManager: Sync collections Completed after 0 minute(s) and 2 seconds Maybe its my setup, or an issue with the plugin, hopefully the above will help You have likely inserted your TMDB API key in plugin config - you need to insert Read Access Token, that looong string of characters just above API key on your TMDB profile page.
GrimEvil 109 Posted October 12 Posted October 12 1 hour ago, GrimReaper said: You have likely inserted your TMDB API key in plugin config - you need to insert Read Access Token, that looong string of characters just above API key on your TMDB profile page. @GrimReaperyes that was it, doh! 1
MediaIntelNUC 78 Posted October 12 Posted October 12 This looks awesome! Looking forward to giving a spin, thanx 4 sharing! /N 1
GrimEvil 109 Posted October 12 Posted October 12 (edited) So after my little issue.... I have now got this working with home screen companion, this will now display the collection on schedule as the spotlight. As an example "Halloween" will now be my spotlight for October and of course will self update due to this plugin After October it will revert to my daily spotlight changes that I configured (bond, marvel, new movies, harry potter, etc) in December it will show the Christmas/Tanks giving" Collections in the same way, perfect, thanks. The only option I would like is to set a premade image from within the plugin instead of generating one? Edited October 12 by GrimEvil 1
IAmHugh 99 Posted October 12 Posted October 12 I'll have to give this a go. Hopefully with Thanks Giving and Christmas the collections will include my horror movies for those holidays. Nothing like having someone watch It's A Wonderful life to be unknowingly follow by a Christmas slasher movie. 2
jwaymire 14 Posted October 12 Author Posted October 12 Ultimate Collections v1.1.5 is out Thanks for all the feedback so far! This update came straight out of this thread. What's new Custom images: there's a new Custom images... button on the settings page. Upload your own poster or backdrop for any collection (JPEG or PNG, up to 10 MB). Each one shows how Emby's apps will crop it; hover or tap to see the whole picture. The next sync puts it on the collection, and Remove brings the generated artwork back. You can also drop files straight into the plugin's images/ folder, named after the collection (Halloween.jpg, Halloween backdrop.png). Off-season previews: seasonal collections that aren't showing yet (Christmas, Valentine's Day...) now preview with their own movies, so you can style them ahead of time. They also appear from a ready list on the first day of their season. posters no on a collection still lets your custom images through. Download: UltimateCollections.dll from the v1.1.5 release (https://github.com/jdwaymire/UltimateCollections/releases/tag/v1.1.5). Replace the old DLL in your plugins folder and restart Emby. Your settings carry over. The full changelog is on GitHub. @GrimEvil this one's for you Justin 1
jwaymire 14 Posted October 12 Author Posted October 12 Question for everyone... I was about to start on the home screen rows (thanks @ebr) when a thought hit me. My plan beforehand was to test the current plugin against Emby 4.9 for backwards compatibility. Then the plugin would turn features on or off depending on the Emby version you're running. 4.9 users would get everything except features that need 4.10, like the home screen rows. Those would just show as "needs Emby 4.10 or newer" on the settings page. Is that worth doing? If you're still on 4.9 (or something older), let me know what version you're running and why you're staying there. If nobody's on 4.9, I'll keep it 4.10+ and put the time into new features instead. 1
jwaymire 14 Posted October 13 Author Posted October 13 Ultimate Collections v1.2.0: home screen rows On a roll here! Thanks to @ebrfor the idea: Ultimate Collections can now put your collections on your users' home screens. Fair warning: this is my first go at working with Emby's new home screen sections (and a bit of a mind bender because of the number of ways that it can be manipulated), so please go easy on me. I've tested it on my own server and it behaves, but every setup is different. If something looks off, tell me here and I'll sort it out. I will say my family is ecstatic with this one. Seasonal collections show up as a row on the home screen when their season starts and disappear when it ends. Halloween appears on October 1st and is gone on November 1st, every year, without anyone touching their home screen settings. How it works Off by default. Nothing changes until you tick "Manage home screen rows" on the settings page. If you already use another plugin for home screens, let only one of them manage collection rows. Seasonal collections get a row automatically. Any other collection gets one with home_screen yes, and home_screen no keeps one off. Choose which users get the rows (everyone, or a list), the style (a row of posters, or a big spotlight banner with home_screen spotlight), and where new rows go (after Continue Watching, top or bottom). A "Rows right now" table on the settings page shows what's showing, what's hidden until when, and for how many users. Good to know One tick to switch on; "all users" (including users added later) is the default. Never copies home screens; it only adds or changes its own rows. Existing rows for these collections are taken over, not doubled. Rows stay where each user puts them, all year round. A row a user removes stays removed. Only one spotlight shows at a time. Optionally, a seasonal spotlight moves to the top when its season starts (the full-screen banner in the web app). Both season dates count, on your server's own date. Each user's home screen is backed up before the first change of the day. Switching it off asks whether to remove the plugin's rows; nothing else is touched. Needs Emby 4.10 or newer and apps that support the new home screen; some older TV apps don't show these rows yet. Also checked against the 4.11.0.7 beta (thanks @IAmHugh for mentioning you're on it): it builds against the 4.11 server files without changes. On my question about 4.9: nobody has asked for it so far, so the plugin stays 4.10+ for now. If you're on 4.9 and want it, let me know here. If you try the home screen rows, I'd love to hear how it goes: what works, what doesn't, and what you'd like it to do. Logs from the plugin's logs/ folder help a lot if something goes wrong. Download: https://github.com/jdwaymire/UltimateCollections/releases/tag/v1.2.0 Full notes: CHANGELOG.md in the repo. 1
jwaymire 14 Posted October 14 Author Posted October 14 v1.2.1 is out: a little housekeeping release Nothing flashy this time, just some clean-up tools and a fix for a problem one of you ran into: - Delete unused images: the Custom images popup now shows how many pictures in the images folder aren't used by any collection (renamed or removed collections, or two files for the same poster). It lists them, and one button clears them out. - Clear orphaned rows: the Home screen rows section now counts and lists rows on your users' home screens whose collection no longer exists, and one button removes them. Emby hides those empty rows, but they still sit in each user's home screen settings, and an empty first row stops a spotlight from showing full-screen. It works whether or not you let the plugin manage your rows, and it backs up each user's home screen first. - Clearer TMDb error: if TMDb refuses your token you now get "HTTP 401 Unauthorized" plus a plain explanation: use the long API Read Access Token (starts with eyJ), not the shorter API Key. The settings page also warns you if what you pasted looks like the API Key. Thanks @GrimEvil for running into that one so nobody else has to. Download: https://github.com/jdwaymire/UltimateCollections/releases/tag/v1.2.1 Still Emby 4.10+. 1
jwaymire 14 Posted October 14 Author Posted October 14 Ultimate Collections has officially reached its first bug report! Thanks to a user who reported it offline. Every plugin needs its first one to grow up. Heads-up for anyone using Home screen rows on 1.2.0/1.2.1: a newly created user (or anyone who never changed their home screen) could end up with only the seasonal row. Emby's default rows disappeared, leaving that user with a very festive but very empty home screen. Fixed in 1.2.2, which also repairs affected users on the next run: https://github.com/jdwaymire/UltimateCollections/releases/tag/v1.2.2 Details in issue #1: https://github.com/jdwaymire/UltimateCollections/issues/1 2
jwaymire 14 Posted October 15 Author Posted October 15 Slightly off topic: for a while now I've been running a second plugin on my own server called Ultimate Maintainer. I wrote it because our Continue Watching row was full of things people started years ago and never finished, and the device list was full of old phones and browsers. It runs on a schedule and clears out old partial watches, stale next-episode entries and devices that haven't connected in a while. There's a preview before anything changes. The first time I ran it, it cleared out over 300 old partial watches and hid 18 shows nobody was watching anymore. Continue Watching across our 9 users went from around 360 entries to about 10, and the device list went from 599 to 57. Now everyone's Continue Watching only shows what they're actually watching. It's kept things tidy for us, so I finally put it on GitHub. https://github.com/jdwaymire/UltimateMaintainer I wasn't sure it deserved its own thread, but if it's useful to someone else, I'm happy to. 1
jwaymire 14 Posted October 16 Author Posted October 16 1.3.0 is out, and this one is all about the settings page. It had grown into one long form, so I gave it a proper makeover: - Status at a glance: three cards at the top show how many collections are in Emby, which seasonal one shows up next, whether home screen rows are on, and how the last run went. If Dry run is on, it says so in orange, so it's hard to forget. - Tabs: Settings, Images, Home Screen, Clean-up and History, instead of one long scroll. - Run now right on the page. No more trips to Scheduled Tasks; the page shows the result when it's done. - History: every run is listed (the last 200), quiet nights included, with what it changed. Click a run for the details. - Images tab: every collection's poster in one grid. Click one to change its colours or override the poster or backdrop with your own picture. - Clean-up tab: unused images, orphaned home screen rows and the Danger zone, all in one place. - It follows your Emby theme, light or dark. Nothing changes in how collections are built, and your settings carry over as they are. Download: https://github.com/jdwaymire/UltimateCollections/releases/tag/v1.3.0 1
jwaymire 14 Posted October 19 Author Posted October 19 v1.4.0 is out: you can now choose the order of home screen rows. Until now a collection row always showed oldest first, so my Halloween row opened on Psycho (1960) every year and the new stuff was at the far end where nobody scrolls. Now there's a Row order setting on the Home Screen tab: - Collection order (the default, same as before) - Newest first - Oldest first - Highest rated - Recently added - Random (reshuffles every time you load the home screen, on the web and on TV) You can also set it per collection with home_sort, for example home_sort newest on Halloween and home_sort random on everything else. If one of your users picks their own Sort by on a row in Emby's home screen settings, the plugin leaves it alone until you change the setting again. If you don't touch the setting, nothing changes for anyone. This one came from a feature request on GitHub (thanks HHRSDev!), so if you have ideas, issues are open there too. Release: https://github.com/jdwaymire/UltimateCollections/releases/tag/v1.4.0 UltimateCollections.dll 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now