Skip to content

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