The TimingData stream — already subscribed in signalr.py (PUBLIC_LIVE_STREAMS) — carries per-driver mini-sector data that is currently discarded during parsing. There is no reference to Segments anywhere in the codebase, so the information never reaches an entity.
Captured payload from a live race session (2026 Spanish GP, lap 57), obtained by adding a temporary log line in _process_payload:
{"Lines": {"63": {"Sectors": {"0": {"Segments": {"4": {"Status": 2048}}}}}}}
The structure is Lines.<racing_number>.Sectors.<sector_index>.Segments.<segment_index>.Status, which is the data behind the segmented colour strip shown on the official F1 live timing page (roughly 20-25 segments per lap, updated as each car crosses them).
Use case: rendering the mini-sector strip per driver in a Lovelace card. This is currently impossible: sensor.*_driver_positions only exposes the three macro sectors (sector_1..3 with personal_fastest / overall_fastest), which is a much coarser view than the official timing screen.
Possible approach: carry the segment statuses into the driver positions payload, for example as sectors[].segments[] alongside the existing sector fields, or expose them through a dedicated websocket command like the existing f1_sensor/lap_position/session.
Environment: f1_sensor 5.5.1, Home Assistant 2026.9.x, container install.
If useful, I can capture a fuller sample at the next track session — e.g. the distinct Status values observed across a full session, or a complete Sectors payload for one driver over a lap — just say what would help.
The
TimingDatastream — already subscribed insignalr.py(PUBLIC_LIVE_STREAMS) — carries per-driver mini-sector data that is currently discarded during parsing. There is no reference toSegmentsanywhere in the codebase, so the information never reaches an entity.Captured payload from a live race session (2026 Spanish GP, lap 57), obtained by adding a temporary log line in
_process_payload:{"Lines": {"63": {"Sectors": {"0": {"Segments": {"4": {"Status": 2048}}}}}}}The structure is
Lines.<racing_number>.Sectors.<sector_index>.Segments.<segment_index>.Status, which is the data behind the segmented colour strip shown on the official F1 live timing page (roughly 20-25 segments per lap, updated as each car crosses them).Use case: rendering the mini-sector strip per driver in a Lovelace card. This is currently impossible:
sensor.*_driver_positionsonly exposes the three macro sectors (sector_1..3withpersonal_fastest/overall_fastest), which is a much coarser view than the official timing screen.Possible approach: carry the segment statuses into the driver positions payload, for example as
sectors[].segments[]alongside the existing sector fields, or expose them through a dedicated websocket command like the existingf1_sensor/lap_position/session.Environment: f1_sensor 5.5.1, Home Assistant 2026.9.x, container install.
If useful, I can capture a fuller sample at the next track session — e.g. the distinct
Statusvalues observed across a full session, or a completeSectorspayload for one driver over a lap — just say what would help.