Homepage Dashboard Widget

Surface Teamarr’s key stats on a Homepage dashboard using its Custom API widget. Teamarr exposes a purpose-built KPI endpoint that returns a flat JSON payload with stable field names:

GET /api/v1/stats/homepage

Homepage’s block layout displays up to four fields. This config shows what’s on now, today’s slate, your channel count, and how fresh the last generation is:

- Teamarr:
    icon: /icons/teamarr.svg  # or a URL to the logo
    href: http://your-teamarr-ip:9195
    description: Sports EPG
    widget:
      type: customapi
      url: http://your-teamarr-ip:9195/api/v1/stats/homepage
      refreshInterval: 60000  # ms — keep at 60s+; no need to poll faster
      mappings:
        - label: LIVE
          field: live_now
        - label: TODAY
          field: games_today
        - label: CHANNELS
          field: channels_total
        - label: LAST RUN
          field: last_run_at
          format: relativeDate

LAST RUN renders as a relative time (“2 hours ago”) — a stale value is the quickest tell that scheduled generation has stopped running.

Available fields

Field Type Meaning
live_now number Games in progress right now (unique across team + event EPGs)
games_today number Games starting today (unique across team + event EPGs)
channels_total number Team + event channels combined
channels_team number Team-based channels in the current EPG
channels_event number Active managed event channels
programmes_total number Programmes generated by the last full run
streams_matched number Streams matched in the last full run
streams_unmatched number Streams unmatched in the last full run
match_percent number Match rate of the last full run (null before first run)
last_run_status string completed, failed, partial, or running
last_run_at ISO timestamp When the last full run finished (your EPG timezone)
next_run_at ISO timestamp Next scheduled generation (null if scheduler off)
scheduler_running boolean Whether scheduled generation is enabled
dispatcharr_configured boolean Whether Dispatcharr integration is set up

Useful alternates for the fourth slot:

        - label: MATCH %
          field: match_percent
          suffix: "%"
        - label: NEXT RUN
          field: next_run_at
          format: relativeDate

The payload is computed from stored EPG and run stats — it never triggers a generation or a Dispatcharr connection test, so polling it is cheap. Field names are stable; new fields may be added, existing ones won’t be renamed.


Back to top

Teamarr - Sports EPG Generator for Dispatcharr

This site uses Just the Docs, a documentation theme for Jekyll.