From 19160afb36925b04e0fd82f9c2e7ef04cdbc467b Mon Sep 17 00:00:00 2001 From: Tony Stork Date: Wed, 7 Aug 2024 20:09:58 -0400 Subject: [PATCH] Add scheduling automations for sports notifications Signed-off-by: Tony Stork --- automations.yaml | 100 ++++++++++++++++++++++++++++++++++ custom_templates/sports.jinja | 4 +- packages/sports.yaml | 47 ++++++++++++++++ 3 files changed, 150 insertions(+), 1 deletion(-) diff --git a/automations.yaml b/automations.yaml index 2b3b3de..b69b020 100644 --- a/automations.yaml +++ b/automations.yaml @@ -5995,3 +5995,103 @@ tag: kallen-left-meds mode: queued max: 10 +- id: '1722887275366' + alias: Sports Scheduling + description: Handle the start times for various sports events, for the purpose of + notifications and such + trigger: + - platform: time + at: '11:55:00' + condition: [] + action: + - service: input_datetime.set_datetime + metadata: {} + data: + datetime: '{% from ''sports.jinja'' import sports_datetime %} {{ sports_datetime(''sensor.michigan_wolverines'') + }} + + ' + target: + entity_id: input_datetime.michigan_wolverines_start + alias: Michigan Wolverines Start + - service: input_datetime.set_datetime + metadata: {} + data: + datetime: '{% from ''sports.jinja'' import sports_datetime %} {{ sports_datetime(''sensor.ohio_state_buckeyes'') + }} + + ' + target: + entity_id: input_datetime.ohio_state_buckeyes_start + alias: Ohio State Buckeyes Start + - service: input_datetime.set_datetime + metadata: {} + data: + datetime: '{% from ''sports.jinja'' import sports_datetime %} {{ sports_datetime(''sensor.toledo_rockets'') + }} + + ' + target: + entity_id: input_datetime.toledo_rockets_start + alias: Toledo Rockets Start + - service: input_datetime.set_datetime + metadata: {} + data: + datetime: '{% from ''sports.jinja'' import sports_datetime %} {{ sports_datetime(''sensor.minnesota_vikings'') + }} + + ' + target: + entity_id: input_datetime.minnesota_vikings_start + alias: Minnesota Vikings Start + - service: input_datetime.set_datetime + metadata: {} + data: + datetime: '{% from ''sports.jinja'' import sports_datetime %} {{ sports_datetime(''sensor.san_francisco_49ers'') + }} + + ' + target: + entity_id: input_datetime.san_francisco_49ers_start + alias: San Francisco 49ers Start + - service: input_datetime.set_datetime + metadata: {} + data: + datetime: '{% from ''sports.jinja'' import sports_datetime %} {{ sports_datetime(''sensor.minnesota_twins'') + }} + + ' + target: + entity_id: input_datetime.minnesota_twins_start + alias: Minnesota Twins Start + - service: input_datetime.set_datetime + metadata: {} + data: + datetime: '{% from ''sports.jinja'' import sports_datetime %} {{ sports_datetime(''sensor.cleveland_guardians'') + }} + + ' + target: + entity_id: input_datetime.cleveland_guardians_start + alias: Cleveland Guardians Start + - service: input_datetime.set_datetime + metadata: {} + data: + datetime: '{% from ''sports.jinja'' import sports_datetime %} {{ sports_datetime(''sensor.los_angeles_dodgers'') + }} + + ' + target: + entity_id: input_datetime.los_angeles_dodgers_start + alias: Los Angeles Dodgers Start + - service: input_datetime.set_datetime + metadata: {} + data: + datetime: '{% from ''sports.jinja'' import sports_datetime %} {{ sports_datetime(''sensor.minnesota_wild'') + }} + + ' + target: + entity_id: input_datetime.minnesota_wild_start + alias: Minnesota Wild Start + mode: restart diff --git a/custom_templates/sports.jinja b/custom_templates/sports.jinja index 65da746..ce8ca92 100644 --- a/custom_templates/sports.jinja +++ b/custom_templates/sports.jinja @@ -152,4 +152,6 @@ {{ cleanup(data()) }} {% endmacro %} -{{ sports_updates('pregame') }} \ No newline at end of file +{% macro sports_datetime(team) %} +{{ as_timestamp(state_attr(team,'date')) | timestamp_custom('%Y-%m-%d %H:%M:%S') }} +{% endmacro%} diff --git a/packages/sports.yaml b/packages/sports.yaml index 45a705f..2733f7d 100644 --- a/packages/sports.yaml +++ b/packages/sports.yaml @@ -3,6 +3,53 @@ input_boolean: name: Sports Updates icon: mdi:strategy +input_datetime: + michigan_wolverines_start: + name: Michigan Wolverines Start + has_date: true + has_time: true + icon: mdi:football + ohio_state_buckeyes_start: + name: Ohio State Buckeyes Start + has_date: true + has_time: true + icon: mdi:football + toledo_rockets_start: + name: Toledo Rockets Start + has_date: true + has_time: true + icon: mdi:football + minnesota_vikings_start: + name: Minnesota Vikings Start + has_date: true + has_time: true + icon: mdi:football + san_francisco_49ers_start: + name: San Francisco 49ers Start + has_date: true + has_time: true + icon: mdi:football + minnesota_twins_start: + name: Minnesota Twins Start + has_date: true + has_time: true + icon: mdi:baseball + cleveland_guardians_start: + name: Cleveland Guardians Start + has_date: true + has_time: true + icon: mdi:baseball + los_angeles_dodgers_start: + name: Los Angeles Dodgers Start + has_date: true + has_time: true + icon: mdi:baseball + minnesota_wild_start: + name: Minnesota Wild Start + has_date: true + has_time: true + icon: mdi:hockey-puck + template: - binary_sensor: - name: Michigan Wolverines Inhibit