F1
Formula 1 session/race tracking. Shared as-is from my own Home Assistant dashboard for reference/inspiration — entity IDs, sensors, and automations are specific to my setup and won't work unmodified in yours.
- type: sections
max_columns: 4
title: F1
path: f1
icon: phu:f1
subview: true
sections:
- type: grid
cards:
- type: conditional
conditions:
- entity: input_select.f1_selector
state: Next
card:
type: custom:formulaone-card
card_type: countdown
f1_font: true
grid_options:
columns: 48
rows: auto
- type: conditional
conditions:
- entity: input_select.f1_selector
state: Next
card:
type: custom:formulaone-card
f1_font: true
card_type: next_race
show_raceinfo: true
date_locale: nl
image_clickable: false
grid_options:
columns: 12
rows: auto
column_span: 1
- type: grid
cards:
- type: conditional
conditions:
- entity: input_select.f1_selector
state: Results
card:
type: custom:formulaone-card
f1_font: true
card_type: last_result
date_locale: nl
standings:
show_flag: true
show_teamlogo: true
- type: conditional
conditions:
- entity: input_select.f1_selector
state: Results
card:
type: custom:formulaone-card
f1_font: true
card_type: results
date_locale: nl
standings:
show_flag: true
show_teamlogo: true
- type: grid
cards:
- type: conditional
conditions:
- entity: input_select.f1_selector
state: Schedule
card:
type: custom:formulaone-card
card_mod:
style: |
ha-card {
background: transparent;
border-style: none;
}
f1_font: true
card_type: schedule
date_locale: nl
standings:
show_flag: true
show_teamlogo: true
column_span: 1
- type: grid
cards:
- type: conditional
conditions:
- entity: input_select.f1_selector
state: Standings
card:
type: custom:formulaone-card
f1_font: true
card_type: driver_standings
date_locale: nl
standings:
show_flag: true
show_teamlogo: true
- type: conditional
conditions:
- entity: input_select.f1_selector
state: Standings
card:
type: custom:formulaone-card
f1_font: true
card_type: constructor_standings
date_locale: nl
standings:
show_team: true
show_teamlogo: true
- type: grid
cards:
- type: custom:hki-navigation-card
position: bottom-right
offset_x: 12
offset_y: 20
button_size: 50
gap: 12
vertical_gap: 12
z_index: 5
base:
button:
id: 4e8c1d57-1c4c-48cb-83a0-447264197745
icon: mdi:home
tooltip: Home
label: ''
entity: input_boolean.kiosk_mode
button_type: icon
background: ''
background_opacity: ''
icon_color: ''
label_style: {}
pill_width: ''
tap_action:
action: navigate
navigation_path: /lovelace/home
hold_action:
action: none
double_tap_action:
action: toggle
horizontal:
enabled: true
columns: 6
buttons:
- id: e1b058dd-45fb-4395-b48a-75dbfb98c0e8
icon: mdi:floor-plan
tooltip: ''
label: Rooms
entity: ''
button_type: ''
background: ''
background_opacity: ''
icon_color: ''
label_style: {}
pill_width: ''
conditions_mode: all
conditions: []
tap_action:
action: navigate
navigation_path: /lovelace/rooms
hold_action:
action: none
double_tap_action:
action: none
- id: b6cbacab-fcf7-41be-a009-6d9961181441
icon: mdi:chevron-left
tooltip: Overview
label: ''
entity: ''
button_type: icon
background: DarkOrange
background_opacity: ''
icon_color: ''
label_style: {}
pill_width: ''
conditions_mode: all
conditions: []
tap_action:
action: back
navigation_path: /lovelace/rooms
hold_action:
action: none
double_tap_action:
action: none
vertical:
enabled: false
rows: 6
buttons:
- id: e1fd568d-f004-44c3-9207-cf3458f8d84f
icon: mdi:cog
tooltip: Settings
label: Settings
entity: ''
button_type: pill
background: ''
background_opacity: ''
icon_color: ''
label_style: {}
pill_width: ''
conditions_mode: all
conditions: []
tap_action:
action: navigate
navigation_path: /config
hold_action:
action: none
double_tap_action:
action: none
default_background: ''
default_button_opacity: 1
default_icon_color: ''
button_box_shadow: 0 8px 24px rgba(0, 0, 0, 0.35)
button_box_shadow_hover: 0 10px 30px rgba(0, 0, 0, 0.42)
default_button_type: icon
label_style:
font_size: 12
font_weight: 600
letter_spacing: 0
text_transform: none
color: ''
background: ''
background_opacity: 0.72
padding_x: 10
padding_y: 6
border_radius: 999
backdrop_blur: 8
max_width: 220
pill_width: 0
center_spread: false
offset_x_mobile: null
offset_x_tablet: null
offset_x_desktop: null
bottom_bar_enabled: false
bottom_bar_height: 85
bottom_bar_color: rgb(var(--rgb-card-background-color, 0,0,0))
bottom_bar_opacity: 0.85
bottom_bar_full_width: false
bottom_bar_border_radius: 0
bottom_bar_box_shadow: ''
bottom_bar_bottom_offset: 0
bottom_bar_margin_left: 0
bottom_bar_margin_right: 0
bottom_bar_border_width: 0
bottom_bar_border_style: solid
bottom_bar_border_color: ''
header:
card:
type: custom:hki-header-card
title: Formula 1
subtitle: Race Schedule & Standings
background: >-
https://i.pinimg.com/736x/b6/b7/c4/b6b7c4d143a708eb4bbc9f589015fe05.jpg
min_height: 215
max_height: 270
title_offset_y: 65
subtitle_offset_y: 70
badges_gap: 30
badges_fixed: true
top_bar_offset_y: 15
top_bar_padding_x: 0
top_bar_left: custom
top_bar_right: weather
top_bar_left_card:
type: custom:hki-notification-card
use_header_styling: true
show_background: false
show_empty: true
display_mode: ticker
animation: bounce
direction: right
time_format: '24'
entity: sensor.hki_notify_main
info_pill: true
top_bar_left_offset_x: 0
top_bar_right_weather_icon_color_mode: state
top_bar_right_animate_icon: float
top_bar_right_tap_action:
action: more-info
entity: weather.buienradar
top_bar_right_weather_entity: weather.openweathermap
top_bar_right_show_humidity: false
top_bar_right_show_wind: false
top_bar_right_show_pressure: false
badges:
- type: custom:mushroom-template-badge
card_mod:
style: |
:host {
{% if is_state('input_select.f1_selector', 'Next') %}
--ha-card-background: white;
color: var(--accent-color);
--primary-text-color: black;
{% endif %}
}
content: Next
icon: mdi:racing-helmet
tap_action:
action: perform-action
perform_action: input_select.select_option
target:
entity_id: input_select.f1_selector
data:
option: Next
- type: custom:mushroom-template-badge
card_mod:
style: |
:host {
{% if is_state('input_select.f1_selector', 'Results') %}
--ha-card-background: white;
color: var(--accent-color);
--primary-text-color: black;
{% endif %}
}
content: Results
icon: mdi:flag-checkered
tap_action:
action: perform-action
perform_action: input_select.select_option
target:
entity_id: input_select.f1_selector
data:
option: Results
- type: custom:mushroom-template-badge
card_mod:
style: |
:host {
{% if is_state('input_select.f1_selector', 'Schedule') %}
--ha-card-background: white;
color: var(--accent-color);
--primary-text-color: black;
{% endif %}
}
content: Schedule
icon: mdi:calendar-clock
tap_action:
action: perform-action
perform_action: input_select.select_option
target:
entity_id: input_select.f1_selector
data:
option: Schedule
- type: custom:mushroom-template-badge
card_mod:
style: |
:host {
{% if is_state('input_select.f1_selector', 'Standings') %}
--ha-card-background: white;
color: var(--accent-color);
--primary-text-color: black;
{% endif %}
}
content: Standings
icon: mdi:trophy
tap_action:
action: perform-action
perform_action: input_select.select_option
target:
entity_id: input_select.f1_selector
data:
option: Standings