Run an automation once before winter

I want a notification on my phone to inform me the first time when the temperature goes below a certain point. So that I can disconnect the water outside to prevent the tubes from getting frozen.
At my location that’s mostly in october or november.

But when I use to see if it has been triggered this year than I will have this notification in january. But than I already have disconnect the water and I will not receive a new notification september/oktober.
So this condition is not correct:

condition: "{{ state_attr(this.entity_id, 'last_triggered').year < now().year }}

So the automation actually should only run once between september and january.
I hope it’s more clear now for what I’m making an automation.

The goal is to send a notification only once during the desired time period (November through January). If the temperature drops below freezing a second time then it should be ignored (suppress sending a notification).

What makes this challenging is the fact that the time range crosses from one year to the next. Here’s what I mean:

Let’s say the temperature never drops below freezing in 2021. It drops below freezing near the end of the time period in January 2022. Then it drops below freezing again near the beginning of the time period in November 2022. That’s twice in the same calendar year but the second time should not be ignored.

I do have a sensor which counts towards all seasons. So that is already a help.

My automation is currently as follow.
Automation trigger when temperature drops below 3.
Condition is that it’s already autumn and there are 185 days left before next autumn. So it means that actual date have to be between 21/9 and 21/3.

alias: Notificatie kraan toedraaien bij vriezen
description: Stuur een melding naar Yves voor de kraan buiten toe te draaien.
trigger:
  - platform: numeric_state
    entity_id: weather.forecast_thuis
    attribute: temperature
    below: 3
condition:
  - condition: numeric_state
    entity_id: sensor.anniversary_herfst
    above: 185
action:
  - device_id: f1e469f41a3ad819a0b437bcb88b7d9d
    domain: mobile_app
    type: notify
    title: Home Assistant
    message: Water buiten toedraaien, kans op vriezen
mode: single

But now I have to make it so that it runs only once after start of autumn. How can I add that condition?

What about turning the automation off after the message was sent, and another automation that turns it on again.

      - service: homeassistant.turn_off
        entity_id: automation.notificatie_kraan_toedraaien_bij_vriezen

Yes that is great. So I can turn it on again at 1/9

As I quite often miss notifications, I have a set of cards on the dashboard that only (!) pop-up when I need to do things. By physically clicking on them, it indicates ‘done’ and they disappear, a.o. add water to pool, set wastebin outside, check mailbox, etc.).
I do have notifications but there are so many from various sources that I lose track and easily swipe them away … not being remembered.

My take on it is…since you have no clue when the temp really drops … trigger the ‘turn of water’(input helper) when temp below XYZ for ABC hours. Send message and a pop-up card on dashboard. You can of course add your own above-mentioned logic to it.

I want this automations to disable only when I confirm that I have closed the water.
I have setup a confirmable notification but for some reason the automation is not disabled when I confirm that I have closed the water. What am I doing wrong?

alias: Test Kraan
description: Stuur een melding naar Yves voor de kraan tuin toe te draaien.
trigger:
  - platform: numeric_state
    entity_id: weather.forecast_thuis
    attribute: temperature
    below: 3
condition:
  - condition: or
    conditions:
      - condition: numeric_state
        entity_id: sensor.anniversary_herfst
        above: 185
      - condition: numeric_state
        entity_id: sensor.anniversary_herfst
        below: 21
action:
  - service: notify.mobile_app_pixel_5
    data:
      message: Kans op vriezen, heb je de kraan in de tuin dichtgedraaid?
      title: Home Assistant
      data:
        actions:
          - action: Kraan_Dichtdraaien_ja
            title: JA
          - action: Kraan_Dichtdraaien_nee
            title: NEE
  - wait_for_trigger:
      - platform: event
        event_type: mobile_app_notification_action
        event_data:
          action: Kraan_Dichtdraaien_ja
      - platform: event
        event_type: mobile_app_notification_action
        event_data:
          action: Kraan_Dichtdraaien_nee
    continue_on_timeout: false
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ wait.trigger.event.data.action == Kraan_Dichtdraaien_ja }}"
        sequence:
          - service: homeassistant.turn_off
            data: {}
            target:
              entity_id: automation.test_kraan
      - conditions:
          - condition: template
            value_template: "{{ wait.trigger.event.data.action == Kraan_Dichtdraaien_nee }}"
        sequence:
          - stop: Niets uitvoeren
mode: single

I have found the error

        value_template: "{{ wait.trigger.event.data.action == Kraan_Dichtdraaien_ja }}"

should be

        value_template: "{{ wait.trigger.event.data.action == 'Kraan_Dichtdraaien_ja' }}"