#Help needed for getting overlay work on season and episode level for TV show section of Plex library

1 messages · Page 1 of 1 (latest)

west zenithBOT
#

Welcome @solar epoch!

It looks like you have not yet completed the id:customize section of our Discord server, this will allow us to help you quicker.

Someone from <@&938443185347244033> will assist when they're available.

Including meta.log from the beginning is a huge help. Type !logs for more information.

After attaching your log, do not forget to hit the green check boxes when prompted by our bot.

#

You can press the "Close Post" button above or type /close at any time to close this post.

west zenithBOT
#

First all, amazing Kometa provids as a solution for my desire to have overlays on top of my plex media. So thank you all the devs for the hardwork.

However, I have been struggling a bit on a specific issue for the past 2 days, with chatgpt and reddit and kometa wiki combined I am still not able to fix it. So posting this here hoping somebody could give me a pointers.

I have uplaoded the 3 YML files i am currently using and it works well thus far for putting overlay as I wanted on movies as well as TV show on a show level, where the config file is the main KOMETA config file that points to audience_rating that pulls the audience and critic rating info and media_info2 file pulling resolution as well as cuple of tages on video format in terms of HDR/DV and HDR+DV.

However, i am having a lot of troubles getting the same to apply to both season and episode level. I understand you need to specify the builder_level to both season and episode. However, I have tried adding something alone the line of below, but for the love of god i could not get it to work.

builder_level:
- movie
- show
- season
- episode

At the end of the day, I just want the exiting YML set up, which works to extend to season and episode level as well. Could someone kindly help?

#

📝 If you want to review this again, jj_cale:
:one: Right-click (or long press with phone) on the message that contains the log
:two: Select: Copy Message Link
:three: Use the command: /logscan <message_link> or !logscan <message_link> and paste the value copied from the previous step where you see <message_link> 📝

#
**User Info**

Author of Linked Message: Jj_cale
Person who Invoked the Command: Jj_cale
File Name: meta.log

Table of Contents:
Page 01: User Info
Page 02: Kometa Info
Page 03: Kometa Summary Info
Page 04: Kometa Config.yml YAML Validation
Page 05: Plex Configuration - Section 1
Page 06: Plex Configuration - Section 2
Page 07: Rec 01 - ❌ [ERROR]
Page 08: Rec 02 - ❌⏰ KOMETA SCHEDULED TIME CONFLICT
Page 09: Rec 03 - ⚠️ NO ITEMS FOUND IN PLEX
Page 10: Rec 04 - 💬💡️ PLEX DB CACHE ADVICE

solar epoch
#

Further, my setup is Kometa official Unraid image connected to my Unraid plex server.

west zenithBOT
#

📝 If you want to review this again, jj_cale:
:one: Right-click (or long press with phone) on the message that contains the log
:two: Select: Copy Message Link
:three: Use the command: /logscan <message_link> or !logscan <message_link> and paste the value copied from the previous step where you see <message_link> 📝

west zenithBOT
# west zenith
**User Info**

Author of Linked Message: Luma
Person who Invoked the Command: Jj_cale
File Name: meta.log

Table of Contents:
Page 01: User Info
Page 02: Kometa Info
Page 03: Kometa Summary Info
Page 04: Kometa Config.yml YAML Validation
Page 05: Plex Configuration - Section 1
Page 06: Plex Configuration - Section 2
Page 07: Rec 01 - ❌ [ERROR]
Page 08: Rec 02 - ❌⏰ KOMETA SCHEDULED TIME CONFLICT
Page 09: Rec 03 - ⚠️ NO ITEMS FOUND IN PLEX
Page 10: Rec 04 - 💬💡️ PLEX DB CACHE ADVICE

west zenithBOT
solar epoch
#

@junior tulip not sure if I followed the rules of posting exactly, its tiny bit confusing for me, so if could kindly help and give mea few pointers, that'd be great. thanks in advnace!

junior tulip
#

Each overlay gets one builder level.

#

If you want the same overlay at multiple levels you need multiple copies, one set to each level.

#

If you used ChatGPT to generate any yaml for Kometa, chances are it's nonsense that won't work.

opaque cipherBOT
#
Do Not Use AI with Kometa

🚫 Please don’t use ChatGPT, Gemini, or any other AI tool to generate YAML for Kometa

This includes Configuration Files, Collections, Overlays, Metadata etc.

These models often produce YAML that looks right at first glance but is actually broken, unsupported, or just plain nonsensical — and it won't work with Kometa.

💡 If you need help building YAML or setting up configs, feel free to ask in #general-chat, or you can open a support ticket in #1006644783743258635.

Our community and team are always happy to assist.

junior tulip
#

I would suggest starting small as you figure out how it works before diving in with the complicated setups you have above.

#

For example, the minimal "4K at all three levels" overlay:

overlays:
  4K-show:
    plex_search:
      all:
        resolution: 4K
    overlay:
      name: 4K-show
      file: config/overlays/4K.png
  4K-season:
    builder_level: season
    plex_search:
      all:
        resolution: 4K
    overlay:
      name: 4K-season
      file: config/overlays/4K.png
  4K-episode:
    builder_level: episode
    plex_search:
      all:
        resolution: 4K
    overlay:
      name: 4K-episode
      file: config/overlays/4K.png

Of course that could be templated to avoid the duplication, but clarity over all to start.

solar epoch
#

thank you so much for your quick reply. really appreciate it

#

I have the config file calling the other two YML, one for media info like HDR and resolution and one for rating.

and it is templated at the moment that it works for movie and show level just not episode and season level.

Any chance you could take a look at my files and tell me where I should implment the builder level stuff, is it in the main config file or in the two files that the main config file is referencing?

#

e.g. this is how i do the overlay file for ratings that is called from the main config.yml

junior tulip
solar epoch
#

'''
templates:
audience_rating:
default:
horizontal_offset: 50
horizontal_align: right
vertical_offset: 50
vertical_align: bottom
conditionals:
files:
conditions:
- key: rating_score_high_backdrop
value: config/overlays/images/audience_score/audience_score_high.png
- key: rating_score_mid_backdrop
value: config/overlays/images/audience_score/audience_score_mid.png
- key: rating_score_low_backdrop
value: config/overlays/images/audience_score/audience_score_low.png
ratings:
conditions:
- key: [rating_score_high, rating_score_high_backdrop]
value: 8.0
- key: [rating_score_mid, rating_score_mid_backdrop]
value: 6.0
- key: [rating_score_low, rating_score_low_backdrop]
value: 0
names:
default: <<overlay_name>>
conditions:
- key: [rating_score_high, rating_score_mid, rating_score_low]
value: text(<<rating>>)
optional:
- file
- builder_level
plex_search:
all:
any:
- audience_rating.gte: 0
- critic_rating.gte: 0
builder_level: movie, show, season, episode
overlay:
name: <<names>>
group: <<group>>
weight: <<weight>>
file: <<files>>
horizontal_offset: <<horizontal_offset>>
horizontal_align: <<horizontal_align>>
vertical_offset: <<vertical_offset>>
vertical_align: <<vertical_align>>
back_width: 140
back_height: 80
back_align: center
font_color: "#111111"
font: config/overlays/fonts/AvenirNextLTPro-Bold.ttf
font_size: 68
'''

junior tulip
#

Again, this:

builder_level: movie, show, season, episode

is not valid, as shown in the example I provided just above.

solar epoch
#

okay. thank you once again,

So taking that into consideration. how should i go about using buildlevel as a variable with a list of possible values. and force the YMl file to cycle through them?

overlay:
name: <<names>>
group: <<group>>
weight: <<weight>>
file: <<files>>
builder_level: movie
horizontal_offset: <<horizontal_offset>>
horizontal_align: <<horizontal_align>>
vertical_offset: <<vertical_offset>>
vertical_align: <<vertical_align>>
back_width: 140
back_height: 80
back_align: center
font_color: "#111111"
font: config/overlays/fonts/AvenirNextLTPro-Bold.ttf
font_size: 68

Then copy paste that 3 more time to add show, season and episode each as a block?

#

it really took me 2 days to get to where i am, where it mostly works. So i'd really hate to start from scratch all over again. thank you for your patience

junior tulip
#

YML has no looping structure.

As I have shown above, if you want the same overlay at three different levels, you will need three copies of that overlay, each set to the target level

solar epoch
#

Gotcha.

junior tulip
#

You can set that with a template variable, of course, but you cannot get away from needing a spearate overlay for each level.

solar epoch
#

understood so copy paste the above 4 times, one each, where the only difference is th builder_level line, and one block each for movie, show, season and episode

junior tulip
#

Also, formatting this stuff as code makes it much simpler to read. There's no way to know if any of this YAML is valid with discord messing with the formatting.

solar epoch
#

yes sir

#

i googled how to do that in discore

#

then proceeding in failling in formating syntax

opaque cipherBOT
#
Using Code Blocks

Please use code blocks when sending any code-related text (such as error messages or configuration file extracts.)

The Grave Accent key (`) is used to define code blocks and is typically found to the left of the number 1 key on a standard keyboard.

If you are posting any yaml-formatted text (such as collections), you can add yaml to your Grave Accent keys for coloured formatting. See the below sample text and output

YOU TYPE THIS

`​`​`yaml
collections:
  Documentaries:
    smart_filter:
      all:
        genre: Documentary
`​`​`

DISCORD DISPLAYS

collections:
  Documentaries:
    smart_filter:
      all:
        genre: Documentary
junior tulip
#

It's already defined as a template variable in what you show above:

    optional:
      - file
      - builder_level
solar epoch
#
templates:
  audience_rating:
    default:
      horizontal_offset: 50
      horizontal_align: right
      vertical_offset: 50
      vertical_align: bottom
    conditionals:
      files:
        conditions:
          - key: rating_score_high_backdrop
            value: config/overlays/images/audience_score/audience_score_high.png
          - key: rating_score_mid_backdrop
            value: config/overlays/images/audience_score/audience_score_mid.png
          - key: rating_score_low_backdrop
            value: config/overlays/images/audience_score/audience_score_low.png
      ratings:
        conditions:
          - key: [rating_score_high, rating_score_high_backdrop]
            value: 8.0
          - key: [rating_score_mid, rating_score_mid_backdrop]
            value: 6.0
          - key: [rating_score_low, rating_score_low_backdrop]
            value: 0
      names:
        default: <<overlay_name>>
        conditions:
          - key: [rating_score_high, rating_score_mid, rating_score_low]
            value: text(<<rating>>)
    optional:
      - file
      - builder_level
    plex_search:
      all:
        any:
          - audience_rating.gte: 0
          - critic_rating.gte: 0
    builder_level: movie, show, season, episode
    overlay:
      name: <<names>>
      group: <<group>>
      weight: <<weight>>
      file: <<files>>
      horizontal_offset: <<horizontal_offset>>
      horizontal_align: <<horizontal_align>>
      vertical_offset: <<vertical_offset>>
      vertical_align: <<vertical_align>>
      back_width: 140
      back_height: 80
      back_align: center
      font_color: "#111111"
      font: config/overlays/fonts/AvenirNextLTPro-Bold.ttf
      font_size: 68
#

Thank you sir

reef quiver
#

I’ll repeat what carrot said. You CANNOT use builder_level the way you have above

junior tulip
#

You keep doing this:

    builder_level: movie, show, season, episode

Which is NOT VALID

solar epoch
#

Got that sir.

junior tulip
#

I've given you a specific example above, yet you keep ignoring it.

solar epoch
#

no no. i just copy pasted that to try to show that as code as oppose to comments

#

i understood it wont work the way i did

#

my bad

junior tulip
#

All we can go by is what you post here, so when you post that again after being told mulitple times that it isn't valid, what are we to think?

solar epoch
#

u think i am a dumbass

junior tulip
#

No, it just seems like you aren't reading what we're posting, which gets frustrating.

solar epoch
#
overlay:
      builder_level: movie
      name: <<names>>
      group: <<group>>
      weight: <<weight>>
      file: <<files>>
      horizontal_offset: <<horizontal_offset>>
      horizontal_align: <<horizontal_align>>
      vertical_offset: <<vertical_offset>>
      vertical_align: <<vertical_align>>
      back_width: 140
      back_height: 80
      back_align: center
      font_color: "#111111"
      font: config/overlays/fonts/AvenirNextLTPro-Bold.ttf
      font_size: 68

      builder_level: show
      name: <<names>>
      group: <<group>>
      weight: <<weight>>
      file: <<files>>
      horizontal_offset: <<horizontal_offset>>
      horizontal_align: <<horizontal_align>>
      vertical_offset: <<vertical_offset>>
      vertical_align: <<vertical_align>>
      back_width: 140
      back_height: 80
      back_align: center
      font_color: "#111111"
      font: config/overlays/fonts/AvenirNextLTPro-Bold.ttf
      font_size: 68

      builder_level: season
      name: <<names>>
      group: <<group>>
      weight: <<weight>>
      file: <<files>>
      horizontal_offset: <<horizontal_offset>>
      horizontal_align: <<horizontal_align>>
      vertical_offset: <<vertical_offset>>
      vertical_align: <<vertical_align>>
      back_width: 140
      back_height: 80
      back_align: center
      font_color: "#111111"
      font: config/overlays/fonts/AvenirNextLTPro-Bold.ttf
      font_size: 68

      builder_level: episode
      name: <<names>>
      group: <<group>>
      weight: <<weight>>
      file: <<files>>
      horizontal_offset: <<horizontal_offset>>
      horizontal_align: <<horizontal_align>>
      vertical_offset: <<vertical_offset>>
      vertical_align: <<vertical_align>>
      back_width: 140
      back_height: 80
      back_align: center
      font_color: "#111111"
      font: config/overlays/fonts/AvenirNextLTPro-Bold.ttf
      font_size: 68 ```
#

so this should work?

#

ofc deleting the line of builder_level: movie, show, season, episode which as you said, is simply wrong

junior tulip
#

invalid syntax.

#

This is the template. Later in the file is a list of overlays which is where you leverage the template and set variables.

solar epoch
#

okay....

junior tulip
#

This is why I suggested starting small to build up an understanding of the format.

solar epoch
#

okay. thank you for your help.

#

I think this is slightly above my level. perhaps it is not designed for folks of my level of general tehcnical understnaindg...

#

thank you for your help nevertheless

#

i think i am just gonna give up and stop wasting your time now.

junior tulip
#
overlays:
  4K-show:
    plex_search:
      all:
        resolution: 4K
    overlay:
      name: 4K-show
      file: config/overlays/4K.png
  4K-season:
    builder_level: season
    plex_search:
      all:
        resolution: 4K
    overlay:
      name: 4K-season
      file: config/overlays/4K.png
  4K-episode:
    builder_level: episode
    plex_search:
      all:
        resolution: 4K
    overlay:
      name: 4K-episode
      file: config/overlays/4K.png

vs:

templates:
  base:
    optional:
      - builder_level
    builder_level: <<builder_level>>
    plex_search:
      all:
        resolution: 4K
    overlay:
      name: 4K-<<builder_level>>
      file: config/overlays/4K.png
overlays:
  4K-show:
    template:
      name: base
  4K-season:
    template:
      name: base
      builder_level: season
  4K-episode:
    template:
      name: base
      builder_level: episode
solar epoch
#

aaaaaa

#

okay. now i get it

junior tulip
solar epoch
#

this is exactly what i needed. realyl aprrecaite it.

opaque cipherBOT
#

chazlarson used !aenh

@solar epoch, anything else needed here? If not, please type /close and hit enter. Please respond within 24 hours of this message or it will be archived.