Skip to main content

Replay Mode

Replay Mode lets you watch historical F1 sessions with full Home Assistant integration. When you play back a recorded race or qualifying from F1 TV or another service, your automations and dashboards can follow the session in a way that is much closer to a live broadcast.

Your lights can react to a red flag. Your dashboard can show live timing. Race Control messages can still drive notifications while you watch the session later. Likely on-track incident detection can also follow replayed sessions, so incident notifications and the On-track Incident binary sensors can behave like they do during live timing. If the replay includes Track Map data, incident events can include the same optional location summary used during live sessions.

Replay Mode is the normal historical playback feature

Use Replay Mode when you want to watch a completed session later. Do not switch the integration to Developer mode or provide a replay dump for this workflow.

Replay seek behavior

Replay Mode includes seek controls for catching up with your broadcast. Rewinding can replay historical events again, so replay-driven automations and notifications may run again by design.

Watching it later? Keep your dashboard spoiler-free

If you cannot watch a session live, turn on No Spoiler Mode before the session starts. Your dashboard stays frozen until you are ready. Then load the session in Replay Mode, press play when your broadcast begins, and experience everything as if it were live — without any spoilers.


What to expect

Replay Mode downloads completed session data from Formula 1's public archive and plays it back through your Home Assistant entities. By starting playback at the same moment the session begins on your TV, your dashboard and automations can follow the broadcast closely.

You do not need a local replay dump, a developer build, or F1TV Auth. Replay Mode provides its own selectors, load controls, media player, pause, and seek support.

Standard entity IDs

This page uses the standard Replay Mode entity IDs for new installations, such as select.f1_replay_year and media_player.f1_replay_player.

If you upgraded from an older release and already have different registry IDs, keep using those existing entities. The integration does not rename installed entities automatically.


Replay Mode vs Developer mode

Replay Mode and Developer mode both send recorded timing data through live entities, but they solve different problems.

ChooseWhen you should use it
Replay ModeYou want to watch a completed F1 session and keep Home Assistant synchronized with the broadcast
Developer modeYou are developing or testing F1 Sensor and need to reproduce a known sequence from a local replay dump
BehaviorReplay ModeDeveloper mode
Data sourceFormula 1's completed session archiveLocal replay dump file
Normal audienceHome Assistant usersMaintainers and contributors
Session selectionYear and session selectorsFile path configured before integration reload
Playback startManual Load and Play controlsStarts automatically when the integration loads
Pause and seekSupportedNot supported for the local dump
Typical goalFollow a TV or streaming replayReproduce bugs and run repeatable tests
AvailabilityNormal releasesOnly builds with the developer interface enabled
Simple decision

Watching a race, sprint, qualifying, or practice session later? Use Replay Mode.

Testing the integration with a dump supplied or captured for development? Use Developer Mode with Replay Dumps.


Replay Mode vs live F1TV Auth

Replay Mode is separate from live F1TV Auth. Public live timing works without a token, optional F1TV Auth can unlock extra live features during a real live session, and Replay Mode can use archived data after the session has completed.

This means Replay Mode can sometimes show data that public live timing did not show during the live session. For example, Pit Stops, Championship Prediction, Track Map, and incident location context can work in replay when the archive contains the needed data.

What Replay Mode can replay

DataReplay behavior
Public live timingSession status, track status, Race Control, weather, driver timing, tyres, and top three can replay when available in the archive
Pit StopsWorks when the replay archive contains pit stop data
Championship PredictionWorks when the replay archive contains prediction data
Formation StartWorks for race and sprint sessions when the replay data supports it
Track MapBest effort when the replay archive contains car position data
Incident DetectionWorks from replayed public timing and can use replay Track Map location context when available

Replay Track Map is best effort. If the loaded session does not contain usable car position data, the Track Map card waits instead of showing misleading car positions.


Entities

Replay Mode adds several control entities to Home Assistant.

Configuration entities

EntityPurpose
select.f1_replay_yearSelect the season year
select.f1_replay_sessionSelect which session to replay
select.f1_replay_start_referenceChoose where playback starts
button.f1_replay_loadDownload and prepare the selected session
button.f1_replay_playStart or resume playback
button.f1_replay_pausePause playback
button.f1_replay_stopStop playback and return to idle
button.f1_replay_back_30Move replay back 30 seconds
button.f1_replay_forward_30Move replay forward 30 seconds
button.f1_replay_refreshRefresh the session list

Media player

EntityPurpose
media_player.f1_replay_playerStandard media player with play, pause, stop, seek, and position tracking

The media player entity lets you control replay using any media player integration or remote control. It supports normal media seek actions, reports current position, duration, and playback state, and makes it easy to integrate replay with other media players in your setup.

Status sensor

EntityPurpose
sensor.f1_replay_statusShows current replay state and progress

Dashboard card

The F1 Replay Control card combines the Replay Mode selectors, load/play/pause/stop controls, drag-to-seek playbar, 30-second seek buttons, refresh button, and progress display in one Lovelace card.


Using Replay Mode

Step 1 - Select a session

  1. Use select.f1_replay_year to choose the season
  2. Use select.f1_replay_session to pick a session from that year

The session list shows all completed sessions from the selected year, with the most recent first.

Data availability

Session data is typically available 15–60 minutes after a session ends. If you just finished watching a live session, wait a bit before the replay data becomes available.

Step 2 - Choose the start reference

Use select.f1_replay_start_reference to choose where playback begins:

  • Formation start (race/sprint) - Playback starts from the formation lap. This is the default and recommended for races and sprints, since you can focus on watching the start rather than pressing a button at lights out.
  • Session live - Playback starts from lights out (races) or pit exit open (practice/qualifying). This is the most precise option but requires you to press play at the exact moment.
info

The formation start option only applies to race and sprint sessions. For practice and qualifying, playback always starts from when the session went live.

Formation lap timing

The formation lap start point is estimated with approximately one second accuracy. Formula 1 does not provide an exact replay marker for when the formation lap begins, so there may be a small offset compared to your broadcast.

Step 3 - Load the session

Press button.f1_replay_load to download the session data.

The sensor.f1_replay_status shows download progress. Session data is cached locally, so loading the same session again is faster.

Step 4 - Sync with your broadcast

Start the session on your TV or streaming service. When you see the session begin, press button.f1_replay_play or use media_player.f1_replay_player at that exact moment.

For races and sprints (with formation start reference): Press play when the formation lap begins.

For practice and qualifying (or session live reference): Press play when the pit exit opens and cars start leaving the garage.

From this point, the replayed live sensors follow what you see on screen.

Step 5 - Control playback

If you pause your TV, pause the replay to stay in sync. When you resume, resume the replay.

  • Pause - Press button.f1_replay_pause or pause media_player.f1_replay_player
  • Resume - Press button.f1_replay_play or play media_player.f1_replay_player
  • Seek with the playbar - Drag the playbar in the F1 Replay Control card and release it at the target position
  • Back 30 seconds - Press button.f1_replay_back_30 to move replay back 30 seconds
  • Forward 30 seconds - Press button.f1_replay_forward_30 to move replay forward 30 seconds
  • Stop - Press button.f1_replay_stop to end playback and return to idle

Replay Seek Controls

Replay events can run again

Seeking backward can replay historical state changes again. Automations, notifications, and incident alerts that react to replayed events may run again when those events are replayed.

The replay seek controls help you line up Home Assistant with the F1 broadcast you are watching. You can use the draggable playbar for larger adjustments, or the 30-second buttons for small catch-up steps.

Dragging the playbar

The F1 Replay Control card shows a draggable playbar when media_player.f1_replay_player supports seek. Drag the handle to preview the target position, then release it to seek.

The card sends the seek command only when you release the handle. It does not send a service call for every drag movement, so the dashboard stays responsive while you choose the target point.

During a seek, the replay status may briefly show seeking. Longer jumps, especially with Track Map data available, can take a little longer while Replay Mode restores the correct session state.

How the 30-second buttons work

The Back 30 seconds and Forward 30 seconds buttons are still useful for small adjustments when your TV or streaming replay is slightly ahead or behind Home Assistant.

When you press Forward 30 seconds, Replay Mode does not simply skip to a new position and ignore what happened in between. It applies the events inside that 30-second window first, then continues from the new position.

That means important state changes still land correctly. If a red flag, Race Control update, session clock change, or other tracked event happens inside those 30 seconds, the related entities still end up in the right state after the jump.

When you press Back 30 seconds, Replay Mode restores replay state for the new position and then continues from there.

What to expect

  • The playbar is available in the F1 Replay Control card when the replay media player supports seek
  • The playbar sends media_player.media_seek only after you release the slider
  • The 30-second buttons remain available for quick manual adjustments
  • The feature is intended to make manual catch-up simpler, not to guarantee perfect sync with every broadcaster
  • Rewinding can replay the same historical event again, which means automations and notifications may trigger again by design

Best way to use it

If your TV or streaming replay is slightly out of sync, pause Replay Mode and use the playbar or 30-second buttons until the on-screen action matches your Home Assistant entities again. A practical reference point is the session clock, track status, or the latest Race Control message.

info

Seek controls are designed to preserve the visible replay state after the jump. If a session has a large amount of Track Map data, you may still see a short seeking period before playback resumes.


Media Player Entity

The media_player.f1_replay_player entity provides standard media player controls for replay.

State (enum)

  • One of: idle, buffering, playing, paused

Features

  • Play, pause, and stop controls
  • Seek to a specific playback position
  • Position and duration tracking
  • Works with any media player card or remote integration

Attributes

AttributeTypeDescription
media_titlestringName of the selected session
media_positionnumberCurrent position in seconds
media_durationnumberTotal duration in seconds
replay_statestringReplay state (idle, selected, loading, ready, playing, paused, seeking)
selected_sessionstringName of the selected session
selected_session_idstringInternal session identifier (best effort)
playback_position_snumberCurrent position in seconds
playback_remaining_snumberRemaining time in seconds
playback_total_snumberTotal playback duration in seconds
session_start_offset_snumberStart offset in seconds from the underlying session archive (best effort)

Replay Status Sensor

The sensor.f1_replay_status entity tracks the current state and provides detailed attributes.

State (enum)

  • One of: idle, selected, loading, ready, playing, paused, seeking

Attributes

AttributeTypeDescription
selected_sessionstringName of the selected session
download_progressnumberDownload progress percentage (0–100)
download_errorstringError message if download failed
playback_position_snumberCurrent playback position in seconds
playback_position_formattedstringCurrent position as HH:MM:SS
playback_total_snumberTotal playback duration in seconds
playback_total_formattedstringTotal duration as HH:MM:SS
session_start_offset_snumberStart offset in seconds from the underlying session archive (best effort)
pausedbooleanTrue when playback is paused
sessions_availablenumberNumber of sessions available for the selected year
selected_yearnumberCurrently selected year
index_yearnumberYear that the session index was loaded from (best effort)
index_statusstringIndex status such as ok, no_data, or error (best effort)
index_errorstringError details when index fetch fails (best effort)

Example: Sync with Apple TV

This automation keeps replay in sync with your Apple TV. When you pause the Apple TV, the replay pauses. When you play, it resumes.

automation:
- alias: "Pause F1 replay when Apple TV pauses"
trigger:
- platform: state
entity_id: media_player.apple_tv
to: "paused"
condition:
- condition: state
entity_id: media_player.f1_replay_player
state: "playing"
action:
- service: media_player.media_pause
target:
entity_id: media_player.f1_replay_player

- alias: "Resume F1 replay when Apple TV plays"
trigger:
- platform: state
entity_id: media_player.apple_tv
to: "playing"
condition:
- condition: state
entity_id: media_player.f1_replay_player
state: "paused"
action:
- service: media_player.media_play
target:
entity_id: media_player.f1_replay_player

Replace media_player.apple_tv with your actual media player entity. This works with any media player that reports play and pause states.


Additional entities in Replay Mode

Replay Mode provides access to all the same entities as a live session, plus entities that depend on data that is not part of public live timing. These entities stay registered in Home Assistant at all times. They can update in Replay Mode when the session archive contains the data, and some can also update during live sessions with optional F1TV Auth.

EntityDescription
sensor.f1_pitstopsPit stop events and timing per car
sensor.f1_championship_prediction_driversPredicted Drivers Championship standings
sensor.f1_championship_prediction_teamsPredicted Constructors Championship standings
binary_sensor.f1_formation_startFormation start detection for race and sprint sessions

These entities remain present even before you start a replay. Outside Replay Mode they are unavailable, and when you start a replay they work like any other entity.

The F1 Track Map card is not a normal entity. It can show replay car positions when the replay archive contains the needed position data.

For full details on each entity, see the Live Data reference.


Limitations

  • While replay is active, the integration does not receive live data. Stop the replay to return to live mode.
  • The live delay calibration feature is disabled during replay.
  • Long seeks can briefly show the replay state as seeking while the integration restores the correct session state.
  • Rewinding can replay historical events again, so replay-driven automations and notifications may run again.
  • Rewinding can also replay historical incident events again, including possible on-track incident notifications.
  • Replayed Track Map location context is best-effort and may be missing for sessions without usable car position data.
  • Replay Mode does not protect you from spoilers on its own. Use No Spoiler Mode to keep your dashboard frozen until you are ready to watch.