Skip to main content

Replay controls

Use these entities to select, load, and control a completed F1 session. For the normal watching workflow, follow Replay Mode.

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 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
  • Can be controlled through standard Home Assistant media player actions and compatible cards or automations

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)

Playback position and seeking

Playback positions and duration are relative to the chosen playback start reference. session_start_offset_s is the session-start offset in the archive; it is not the current playback position.

The media player reports buffering while loading or seeking. Its detailed replay_state distinguishes loading from seeking, and selected or ready from idle. During loading or seeking, the standard media position and duration can be zero; use the replay state to decide what to display.

Seek is supported when replay is ready, playing, or paused. For example, seek to 90 seconds after the chosen start reference:

action: media_player.media_seek
target:
entity_id: media_player.f1_replay_player
data:
seek_position: 90
Rewinding can repeat events

Historical state changes and events can be emitted again when you rewind. Replay-driven automations, lights, and notifications may run again.

Next steps