Select('search') insensible à la casse

Hello

Petit soucis qui me fait tourner en rond depuis trop longtemps.
Dans HA, je récupère un calendrier iOS partagé entre plusieurs membres du foyer. Dedans on met aussi quand on est en congés pour se faciliter la vie.
Je me suis aussi servi de cette possibilité pour faire ajuster quelques automatismes si une personne est en congés (ex volets ouverts plus tard dans la chambre).

Bref, ça marche bien si on respect le nommage par exemple « Congés Bob » ou « Bob en Congé », mais ça ne marchera pas pour « Bob en congé » à cause de la majuscule.

Pour simplifier, pour le Jour J et pour une personne j’ai fait ça :

alias: Calendrier Famille - Récup congés du jour et demain
description: ""
triggers:
  - hours: /1
    minutes: "5"
    trigger: time_pattern
conditions: []
actions:
  - target:
      entity_id:
        - calendar.famille
    data:
      start_date_time: "{{ today_at() }}"
      duration:
        hours: 24
    response_variable: agenda_today
    alias: Evenements du jour sur calendrier famille
    action: calendar.get_events
  - alias: Bob en congé ce jour
    if:
      - condition: template
        value_template: |
          {{
            agenda_today['calendar.famille'].events
              | rejectattr('end', '==', (now().timestamp() + 0*86400) | int | timestamp_custom("%Y-%m-%d") )
              | map(attribute='summary')
              | select('search', 'Congé')
              | select('search', 'Bob')
              | list
              | count >= 1
          }}
    then:
      - target:
          entity_id: input_boolean.bob_en_conges_aujourd_hui
        data: {}
        action: input_boolean.turn_on
    else:
      - metadata: {}
        data: {}
        target:
          entity_id: input_boolean.bob_en_conges_aujourd_hui
        action: input_boolean.turn_off

J’ai essayé avec des |lower, mais sans succès. A savoir que la variable créé au début est de cette forme

agenda_today:
  calendar.famille:
    events:
      - start: '2024-11-04'
        end: '2024-11-05'
        summary: Bob congé

Si quelqu’un a une petite idée, je suis preneur !

Bonsoir,

Je dirai avec un « .lower() », peut-être là map(attribute='summary'.lower()) à voir

ou plus loin …

Mcp

Bonjour

Non malheureusement ça n’a pas d’effet. Même en mettant un | lower à différents endroits, je n’arrive pas à mettre l’attribut summary en minuscules pour faire les recherches.

Ah j’ai trouvé ! C’est possible sur un attribut en rajoutant un second map : | map('lower')

{{
  agenda_today['calendar.famille'].events
    | rejectattr('end', '==', (now().timestamp() + 0*86400) | int | timestamp_custom("%Y-%m-%d") )
    | map(attribute='summary')
    | map('lower')
    | select('search', 'congé')
    | select('search', 'bob')
    | list
    | count >= 1
}}

Vu sur la doc très fournie de jinja

1 « J'aime »