Apologies if this has been answered before, but I’m not seeing relevant results when I search for previous topics.
I have a number of dashboard buttons which light up depending on the existence of various Google calendar entries. In general, it works perfectly, but I’m having an issue with one calendar which I’m not in control of.
My son’s Cub Scout group has a public-facing calendar feed, which lists the evening meeting each Tuesday. Alas, it also has an entry for the Tuesday over school half term which reads “NO MEETING”. Or sometimes “No Meeting”. ![]()
condition: and
conditions:
- condition: template
value_template: |-
{{
agenda['calendar.cubs_programme'].events
| map(attribute='summary')
| list
| count > 0
}}
- condition: template
value_template: |-
{{
agenda['calendar.cubs_programme'].events
| map(attribute='summary')
| select('search', 'NO MEETING')
| list
| count == 0
}}
This condition serves to screen out the “NO MEETING” occurrence, and I can see how I could add another condition to cope with “No Meeting”.
But I’ve been trying to pipe to lower at some stage so I can have just one condition which will handle any other combinations of capitalisation, and I can’t figure out where to put it, if indeed it’s doable.
Experimenting in the template editor would suggest that I can “lower” the whole events result, but then the map returns an array of Undefined which can’t be processed further.
{% set agenda = {"calendar.cubs_programme":{"events":[{"start":"2025-10-28T18:30:00+00:00","end":"2025-10-28T20:00:00+00:00","summary":"NO MEETING - HALF TERM"}]}} %}
{{
agenda['calendar.cubs_programme'].events
| lower
| map(attribute='summary')
| list
}}
Any help would be appreciated.
