In case anyone’s interested (or should I post this somewhere else?), complete dashboard with all teams, games split per time.
Custom components needed: ha-nfl sensor, ha-nfl-card, auto-entities card.
- icon: mdi:football
title: NFL
path: nfl
badges: []
cards:
- type: custom:auto-entities
card:
type: vertical-stack
title: Thursday Night Football
card_param: cards
filter:
template: >-
{%- set object_ids = [ 'nfl_ari', 'nfl_atl', 'nfl_bal', 'nfl_buf',
'nfl_car', 'nfl_chi', 'nfl_cin', 'nfl_cle', 'nfl_dal', 'nfl_den',
'nfl_det', 'nfl_gb', 'nfl_hou', 'nfl_ind', 'nfl_jax', 'nfl_kc',
'nfl_lac', 'nfl_lar', 'nfl_lv', 'nfl_mia', 'nfl_min', 'nfl_ne',
'nfl_no', 'nfl_nyg', 'nfl_nyj', 'nfl_phi', 'nfl_pit', 'nfl_sea',
'nfl_sf', 'nfl_tb', 'nfl_ten', 'nfl_wsh', ] %} {%- set ns =
namespace(cards=[]) %} {%- for object_id in object_ids %}
{%- set entity_id = 'sensor.' ~ object_id %}
{%- if ( is_state_attr(entity_id, 'team_homeaway', 'away') and ('T00'in state_attr(entity_id,'date')) and ('PRIME' in state_attr(entity_id, 'tv_network')) ) %}
{%- set ns.cards = ns.cards + [{'type': 'custom:nfl-card', 'entity': entity_id, 'outline': True, 'outline_color': 'deeppink'}] %}
{%- endif %}
{%- endfor %} {{ ns.cards }}
- type: custom:auto-entities
card:
type: vertical-stack
title: International Series
card_param: cards
filter:
template: >-
{%- set object_ids = [ 'nfl_ari', 'nfl_atl', 'nfl_bal', 'nfl_buf',
'nfl_car', 'nfl_chi', 'nfl_cin', 'nfl_cle', 'nfl_dal', 'nfl_den',
'nfl_det', 'nfl_gb', 'nfl_hou', 'nfl_ind', 'nfl_jax', 'nfl_kc',
'nfl_lac', 'nfl_lar', 'nfl_lv', 'nfl_mia', 'nfl_min', 'nfl_ne',
'nfl_no', 'nfl_nyg', 'nfl_nyj', 'nfl_phi', 'nfl_pit', 'nfl_sea',
'nfl_sf', 'nfl_tb', 'nfl_ten', 'nfl_wsh', ] %} {%- set ns =
namespace(cards=[]) %} {%- for object_id in object_ids %}
{%- set entity_id = 'sensor.' ~ object_id %}
{%- if ( is_state_attr(entity_id, 'team_homeaway', 'away') and ('T13'in state_attr(entity_id,'date')) ) %}
{%- set ns.cards = ns.cards + [{'type': 'custom:nfl-card', 'entity': entity_id, 'outline': True, 'outline_color': 'deeppink'}] %}
{%- endif %}
{%- endfor %} {{ ns.cards }}
- type: custom:auto-entities
card:
type: vertical-stack
title: Sunday 1PM
card_param: cards
filter:
template: >-
{%- set object_ids = [ 'nfl_ari', 'nfl_atl', 'nfl_bal', 'nfl_buf',
'nfl_car', 'nfl_chi', 'nfl_cin', 'nfl_cle', 'nfl_dal', 'nfl_den',
'nfl_det', 'nfl_gb', 'nfl_hou', 'nfl_ind', 'nfl_jax', 'nfl_kc',
'nfl_lac', 'nfl_lar', 'nfl_lv', 'nfl_mia', 'nfl_min', 'nfl_ne',
'nfl_no', 'nfl_nyg', 'nfl_nyj', 'nfl_phi', 'nfl_pit', 'nfl_sea',
'nfl_sf', 'nfl_tb', 'nfl_ten', 'nfl_wsh', ] %} {%- set ns =
namespace(cards=[]) %} {%- for object_id in object_ids %}
{%- set entity_id = 'sensor.' ~ object_id %}
{%- if ( is_state_attr(entity_id, 'team_homeaway', 'away') and ('T17'in state_attr(entity_id,'date')) ) %}
{%- set ns.cards = ns.cards + [{'type': 'custom:nfl-card', 'entity': entity_id, 'outline': True, 'outline_color': 'deeppink'}] %}
{%- endif %}
{%- endfor %} {{ ns.cards }}
- type: custom:auto-entities
card:
type: vertical-stack
title: Sunday 4PM
card_param: cards
filter:
template: >-
{%- set object_ids = [ 'nfl_ari', 'nfl_atl', 'nfl_bal', 'nfl_buf',
'nfl_car', 'nfl_chi', 'nfl_cin', 'nfl_cle', 'nfl_dal', 'nfl_den',
'nfl_det', 'nfl_gb', 'nfl_hou', 'nfl_ind', 'nfl_jax', 'nfl_kc',
'nfl_lac', 'nfl_lar', 'nfl_lv', 'nfl_mia', 'nfl_min', 'nfl_ne',
'nfl_no', 'nfl_nyg', 'nfl_nyj', 'nfl_phi', 'nfl_pit', 'nfl_sea',
'nfl_sf', 'nfl_tb', 'nfl_ten', 'nfl_wsh', ] %} {%- set ns =
namespace(cards=[]) %} {%- for object_id in object_ids %}
{%- set entity_id = 'sensor.' ~ object_id %}
{%- if ( is_state_attr(entity_id, 'team_homeaway', 'away') and ('T20'in state_attr(entity_id,'date')) ) %}
{%- set ns.cards = ns.cards + [{'type': 'custom:nfl-card', 'entity': entity_id, 'outline': True, 'outline_color': 'deeppink'}] %}
{%- endif %}
{%- endfor %} {{ ns.cards }}
- type: custom:auto-entities
card:
type: vertical-stack
title: Sunday Night Football
card_param: cards
filter:
template: >-
{%- set object_ids = [ 'nfl_ari', 'nfl_atl', 'nfl_bal', 'nfl_buf',
'nfl_car', 'nfl_chi', 'nfl_cin', 'nfl_cle', 'nfl_dal', 'nfl_den',
'nfl_det', 'nfl_gb', 'nfl_hou', 'nfl_ind', 'nfl_jax', 'nfl_kc',
'nfl_lac', 'nfl_lar', 'nfl_lv', 'nfl_mia', 'nfl_min', 'nfl_ne',
'nfl_no', 'nfl_nyg', 'nfl_nyj', 'nfl_phi', 'nfl_pit', 'nfl_sea',
'nfl_sf', 'nfl_tb', 'nfl_ten', 'nfl_wsh', ] %} {%- set ns =
namespace(cards=[]) %} {%- for object_id in object_ids %}
{%- set entity_id = 'sensor.' ~ object_id %}
{%- if ( is_state_attr(entity_id, 'team_homeaway', 'away') and ('T00'in state_attr(entity_id,'date')) and (is_state_attr(entity_id, 'tv_network', 'NBC')) ) %}
{%- set ns.cards = ns.cards + [{'type': 'custom:nfl-card', 'entity': entity_id, 'outline': True, 'outline_color': 'deeppink'}] %}
{%- endif %}
{%- endfor %} {{ ns.cards }}
- type: custom:auto-entities
card:
type: vertical-stack
title: Monday Night Football
card_param: cards
filter:
template: >-
{%- set object_ids = [ 'nfl_ari', 'nfl_atl', 'nfl_bal', 'nfl_buf',
'nfl_car', 'nfl_chi', 'nfl_cin', 'nfl_cle', 'nfl_dal', 'nfl_den',
'nfl_det', 'nfl_gb', 'nfl_hou', 'nfl_ind', 'nfl_jax', 'nfl_kc',
'nfl_lac', 'nfl_lar', 'nfl_lv', 'nfl_mia', 'nfl_min', 'nfl_ne',
'nfl_no', 'nfl_nyg', 'nfl_nyj', 'nfl_phi', 'nfl_pit', 'nfl_sea',
'nfl_sf', 'nfl_tb', 'nfl_ten', 'nfl_wsh', ] %} {%- set ns =
namespace(cards=[]) %} {%- for object_id in object_ids %}
{%- set entity_id = 'sensor.' ~ object_id %}
{%- if ( is_state_attr(entity_id, 'team_homeaway', 'away') and ('T00'in state_attr(entity_id,'date')) and ('PRIME' not in state_attr(entity_id, 'tv_network')) and ('NBC' not in state_attr(entity_id, 'tv_network')) ) %}
{%- set ns.cards = ns.cards + [{'type': 'custom:nfl-card', 'entity': entity_id, 'outline': True, 'outline_color': 'deeppink'}] %}
{%- endif %}
{%- endfor %} {{ ns.cards }}
- type: custom:auto-entities
card:
type: vertical-stack
title: Bye Week
card_param: cards
filter:
template: >-
{%- set object_ids = [ 'nfl_ari', 'nfl_atl', 'nfl_bal', 'nfl_buf',
'nfl_car', 'nfl_chi', 'nfl_cin', 'nfl_cle', 'nfl_dal', 'nfl_den',
'nfl_det', 'nfl_gb', 'nfl_hou', 'nfl_ind', 'nfl_jax', 'nfl_kc',
'nfl_lac', 'nfl_lar', 'nfl_lv', 'nfl_mia', 'nfl_min', 'nfl_ne',
'nfl_no', 'nfl_nyg', 'nfl_nyj', 'nfl_phi', 'nfl_pit', 'nfl_sea',
'nfl_sf', 'nfl_tb', 'nfl_ten', 'nfl_wsh', ] %} {%- set ns =
namespace(cards=[]) %} {%- for object_id in object_ids %}
{%- set entity_id = 'sensor.' ~ object_id %}
{%- if ( is_state(entity_id, 'BYE') ) %}
{%- set ns.cards = ns.cards + [{'type': 'custom:nfl-card', 'entity': entity_id, 'outline': True, 'outline_color': 'deeppink'}] %}
{%- endif %}
{%- endfor %} {{ ns.cards }}