Passing Trigger ID to script issue

I’m having a brain fart trying to gey this to work. I started consolidating my automations for a cleaner look. Any help is appreciated, thanks.

Automation:

alias: Test Outdoor Lights
description: Used for holiday lighting
triggers:
  - trigger: time
    at: "23:00:00"
    id: Holiday Off
  - trigger: template
    value_template: "{{ (3, 15) <= (now().month, now().day) <= (3, 17) }}"
    id: St. Patricks
    alias: St. Patricks Day
  - alias: Easter
    trigger: template
    value_template: |-
      {% from 'easy_time.jinja' import easter %}
      {# set 2 days in advance of easter #}
      {% set b = (easter() | as_datetime).date() - timedelta(days = 2) %}
      {# actual date of easter #}
      {% set h = (easter() | as_datetime).date() %}
      {# todays date #}
      {% set t = as_datetime(now()).date() %}
      {{ (b) <= (t) <= (h) }}
    id: Easter
  - alias: Mother's Day
    trigger: template
    value_template: >-
      {% from 'easy_time.jinja' import month_week_day %}

      {# get date of holiday #}

      {% set h = (month_week_day(5, 2, 7) | as_datetime).date() %}

      {# get 2 days in advance #}

      {% set b = (month_week_day(5, 2, 7) | as_datetime).date() - timedelta(days
      = 2) %}

      {# todays date #}

      {% set t = as_datetime(now()).date() %}

      {{ (b) <= (t) <= (h) }}
    id: Mother
  - alias: Memorial Day
    trigger: template
    value_template: >-
      {% from 'easy_time.jinja' import month_week_day %}

      {# get date of holiday #}

      {% set h = (month_week_day(5, 4, 1) | as_datetime).date() %}

      {# get 2 days in advance #}

      {% set b = (month_week_day(5, 4, 1) | as_datetime).date() - timedelta(days
      = 2) %}

      {# todays date #}

      {% set t = as_datetime(now()).date() %}

      {{ (b) <= (t) <= (h) }}
    id: Memorial
  - alias: Father's Day
    trigger: template
    value_template: >-
      {% from 'easy_time.jinja' import month_week_day %}

      {# get date of holiday #}

      {% set h = (month_week_day(6, 3, 7) | as_datetime).date() %}

      {# get 2 days in advance #}

      {% set b = (month_week_day(6, 3, 7) | as_datetime).date() - timedelta(days
      = 2) %}

      {# todays date #}

      {% set t = as_datetime(now()).date() %}

      {{ (b) <= (t) <= (h) }}
    id: Father
  - alias: Flag Day
    trigger: template
    value_template: "{{ (6,13) <= (now().month, now().day) <= (6,14) }}"
    id: Flag
  - trigger: template
    value_template: "{{ (7,1) <= (now().month, now().day) <= (7,4) }}"
    id: Independence
    alias: Independence Day
  - alias: Halloween
    trigger: template
    value_template: "{{ (10,30) <= (now().month, now().day) <= (10, 31) }}"
    id: Halloween
  - alias: Veterans Day
    trigger: template
    value_template: "{{ (11,1) <= (now().month, now().day) < (11,12) }}"
    id: Veterans
  - trigger: template
    value_template: |-
      {% from 'easy_time.jinja' import month_week_day %}
      {% set t = (month_week_day(11, 4, 3) | as_datetime).date() %} 

      {{ t >= (now().month, now().day) < (12,31) }}
    id: Christmas
    alias: Christmas Day
  - trigger: template
    value_template: |-
      {% set t = (now().month, now().day) %}
      {{ t >= (12, 31) or t <= (1, 1) }}
    id: NYE
    alias: New Years Eve
  - alias: Test
    trigger: template
    value_template: "{{ (1, 11) <= (now().month, now().day) }}"
    id: Normal
conditions:
  - condition: sun
    before: sunset
    enabled: false
actions:
  - action: script.holiday_lights_on
    metadata: {}
    data:
      trigger_id: "{{ trigger.id }}"
mode: single

Script:

sequence:
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'St. Patricks' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: St. Patricks Day
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'Easter' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Easter
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'Mother' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Mothers Day
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'Memorial' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Memorial Day
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'Father' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Fathers Day
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'Flag ' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Flag Day
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'Independence ' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Independence Day
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'Halloween ' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Halloween
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'Veterans ' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
          - action: switch.turn_on
            metadata: {}
            target:
              entity_id: switch.outdoor_plug
            data: {}
        alias: Veterans Day
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'Christmas ' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
          - action: switch.turn_on
            metadata: {}
            target:
              entity_id: switch.outdoor_plug
            data: {}
        alias: Christmas
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'NYE ' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
          - action: switch.turn_on
            metadata: {}
            target:
              entity_id: switch.outdoor_plug
            data: {}
        alias: New Years Eve
      - conditions:
          - condition: template
            value_template: "{{ trigger.id == 'Normal ' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Normal
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Test ' }}"
          - condition: trigger
            id: ""
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Test
alias: Outdoor Lights
description: ""
fields:
  trigger_id:
    selector:
      text: null
    default: trigger_id
    required: true
    name: trigger_id

you are calling the script with the variable trigger_id but in the script itself you are using trigger.id

try:

sequence:
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'St. Patricks' }}"
                                   #   ^ you had a . here

edit: you can also use the shorthand if you want…

      - conditions: "{{ trigger_id == 'St. Patricks' }}"
        sequence:
          ...

1 Like

Your script must use trigger_id and not trigger.id.

EDIT: Touché. Race condition. :wink:

1 Like

I missed that… still not working after change.

script:

sequence:
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'St. Patricks' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: St. Patricks Day
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Easter' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Easter
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Mother' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Mothers Day
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Memorial' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Memorial Day
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Father' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Fathers Day
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Flag' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Flag Day
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Independence' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Independence Day
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Halloween' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Halloween
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Veterans' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
          - action: switch.turn_on
            metadata: {}
            target:
              entity_id: switch.outdoor_plug
            data: {}
        alias: Veterans Day
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Christmas' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
          - action: switch.turn_on
            metadata: {}
            target:
              entity_id: switch.outdoor_plug
            data: {}
        alias: Christmas
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'NYE' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.curtain_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.window_curtain
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
          - action: switch.turn_on
            metadata: {}
            target:
              entity_id: switch.outdoor_plug
            data: {}
        alias: New Years Eve
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Normal' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Normal
      - conditions:
          - condition: template
            value_template: "{{ trigger_id == 'Test' }}"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.permanent_lights_2
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_ground_lights
            data: {}
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.outdoor_spotlights
            data: {}
        alias: Test
alias: Outdoor Lights
description: ""

Traces:

how are you faking the day in question and which one?

edit: go to developer toolsactions and explicitly call that script with the trigger_id == 'Mother and see what happens (the problem may not be in the script).

If you go to the first step of the script in the trace, and then press Changed variables what does it show as value for trigger_id?

1 Like

ok, found the issue… was a caching issue as I had several Dev Tool windows open. Closed them all and restarted HA and all is working now…

1 Like

It was looking at an older script (script.holiday_lights_on) and not the current one (script.outdoor_lights)… only noticed when I went to actions… SMDH that I didn’t see it earlier.

This is the full automation in case anyone else needs it or get ideas from it…

alias: Holiday Lighting
description: Used for holiday lighting
triggers:
  - trigger: time
    at: "23:00:00"
    id: Holiday Off
  - trigger: template
    value_template: "{{ (3, 15) <= (now().month, now().day) <= (3, 17) }}"
    id: St. Patricks
    alias: St. Patricks Day
  - alias: Easter
    trigger: template
    value_template: |-
      {% from 'easy_time.jinja' import easter %}
      {# set 2 days in advance of easter #}
      {% set b = (easter() | as_datetime).date() - timedelta(days = 2) %}
      {# actual date of easter #}
      {% set h = (easter() | as_datetime).date() %}
      {# todays date #}
      {% set t = as_datetime(now()).date() %}
      {{ (b) <= (t) <= (h) }}
    id: Easter
  - alias: Mother's Day
    trigger: template
    value_template: >-
      {% from 'easy_time.jinja' import month_week_day %}

      {# get date of holiday #}

      {% set h = (month_week_day(5, 2, 7) | as_datetime).date() %}

      {# get 2 days in advance #}

      {% set b = (month_week_day(5, 2, 7) | as_datetime).date() - timedelta(days
      = 2) %}

      {# todays date #}

      {% set t = as_datetime(now()).date() %}

      {{ (b) <= (t) <= (h) }}
    id: Mother
  - alias: Memorial Day
    trigger: template
    value_template: >-
      {% from 'easy_time.jinja' import month_week_day %}

      {# get date of holiday #}

      {% set h = (month_week_day(5, 4, 1) | as_datetime).date() %}

      {# get 2 days in advance #}

      {% set b = (month_week_day(5, 4, 1) | as_datetime).date() - timedelta(days
      = 2) %}

      {# todays date #}

      {% set t = as_datetime(now()).date() %}

      {{ (b) <= (t) <= (h) }}
    id: Memorial
  - alias: Father's Day
    trigger: template
    value_template: >-
      {% from 'easy_time.jinja' import month_week_day %}

      {# get date of holiday #}

      {% set h = (month_week_day(6, 3, 7) | as_datetime).date() %}

      {# get 2 days in advance #}

      {% set b = (month_week_day(6, 3, 7) | as_datetime).date() - timedelta(days
      = 2) %}

      {# todays date #}

      {% set t = as_datetime(now()).date() %}

      {{ (b) <= (t) <= (h) }}
    id: Father
  - alias: Flag Day
    trigger: template
    value_template: "{{ (6,13) <= (now().month, now().day) <= (6,14) }}"
    id: Flag
  - trigger: template
    value_template: "{{ (7,1) <= (now().month, now().day) <= (7,4) }}"
    id: Independence
    alias: Independence Day
  - alias: Halloween
    trigger: template
    value_template: "{{ (10,30) <= (now().month, now().day) <= (10, 31) }}"
    id: Halloween
  - alias: Veterans Day
    trigger: template
    value_template: "{{ (11,1) <= (now().month, now().day) < (11,12) }}"
    id: Veterans
  - trigger: template
    value_template: |-
      {% from 'easy_time.jinja' import month_week_day %}
      {% set t = (month_week_day(11, 4, 3) | as_datetime).date() %} 

      {{ t >= (now().month, now().day) < (12,31) }}
    id: Christmas
    alias: Christmas Day
  - trigger: template
    value_template: |-
      {% set t = (now().month, now().day) %}
      {{ t >= (12, 31) or t <= (1, 1) }}
    id: NYE
    alias: New Years Eve
conditions:
  - condition: sun
    before: sunset
    enabled: true
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - St. Patricks
        sequence:
          - action: script.outdoor_lights
            metadata: {}
            data:
              trigger_id: St. Patricks
      - conditions:
          - condition: trigger
            id:
              - Easter
        sequence:
          - action: script.outdoor_lights
            metadata: {}
            data:
              trigger_id: Easter
      - conditions:
          - condition: trigger
            id:
              - Mother
        sequence:
          - action: script.outdoor_lights
            metadata: {}
            data:
              trigger_id: Mother
      - conditions:
          - condition: trigger
            id:
              - Father
        sequence:
          - action: script.outdoor_lights
            metadata: {}
            data:
              trigger_id: Father
      - conditions:
          - condition: trigger
            id:
              - Flag
        sequence:
          - action: script.outdoor_lights
            metadata: {}
            data:
              trigger_id: Flag
      - conditions:
          - condition: trigger
            id:
              - Independence
        sequence:
          - action: script.outdoor_lights
            metadata: {}
            data:
              trigger_id: Independence
      - conditions:
          - condition: trigger
            id:
              - Halloween
        sequence:
          - action: script.outdoor_lights
            metadata: {}
            data:
              trigger_id: Halloween
      - conditions:
          - condition: trigger
            id:
              - Veterans
        sequence:
          - action: script.outdoor_lights
            metadata: {}
            data:
              trigger_id: Veterans
      - conditions:
          - condition: trigger
            id:
              - Christmas
        sequence:
          - action: script.outdoor_lights
            metadata: {}
            data:
              trigger_id: Christmas
      - conditions:
          - condition: trigger
            id:
              - NYE
        sequence:
          - action: script.outdoor_lights
            metadata: {}
            data:
              trigger_id: NYE
    default:
      - action: script.outdoor_lights
        metadata: {}
        data:
          trigger_id: Normal
mode: single

You may wish to review the following description of how often a template is evaluated when it employs the now() function.

It’s evaluated once a minute so that’s 1440 times a day (for each one of the eleven Template Triggers in your automation) or just over a half-million times per year. I think it’s fair to say that one only needs to check once a day, to determine if the current day is a holiday, rather than 1440 times.

A simple way to do that is to use a Trigger-based Template Sensor that (minimally) triggers at 00:00 and computes/reports if the current day is a holiday. The automation triggers at sunset and uses the sensor’s holiday value (if any) to control lighting.

@123
Yep, agreed and will do that or I can just switch the automation around to look if it is sunset first…

Bit of a stupid question, but is there a reason why you need to roll your own code for holidays when the Holiday integration exists?

The Holidays integration and the Google Calendar integration provide more holidays (Cinco de Mayo, Tax Day, etc.) then I need and I know I can filter them. I am doing this for outdoors lighting displays and want them on prior to (approx. 2 days before the holiday) and depending on the holiday, several days after it… run this in developer tools actions to see what I mean…

action: calendar.get_events
target:
  entity_id: calendar.holidays_in_the_us
data:
  duration:
    days: >-
      {{ ( as_datetime(now().year ~ '-12-31') | as_datetime | as_local -
      now()).days + 1 }}
1 Like