Skip to content

New Share your ideas with the AWTRIX community. Keep your creations together in your account.

Sign in

Which AWTRIX do you have? Choose it once and the Hub shows what runs on it.

ScriptAWTRIX NG

SleeperMatchup

On an AWTRIX display
SleeperMatchup shown on an AWTRIX display
SleeperMatchup · by cniehaus

On your display

Display your weekly Sleeper NFL fantasy matchup directly on your TC002

Which AWTRIX do you have? See below where it runs, or choose your device.
Topic
News
Includes
Script

Runs on

  • Does not run on 32×8 (TC001 & DIY) Made for 52×16 (TC002).
  • Runs on 52×16 (TC002)
  • Does not run on 32×8 with AWTRIX 3 (TC001 & DIY) Made for AWTRIX NG.

Choose your display in the next step.

Send to AWTRIX

Choose your AWTRIX

SleeperMatchupAWTRIX NG script

Install this script on your AWTRIX NG. Its icons and sounds are installed with it.

Your AWTRIX’s local address, for example 192.168.178.39 or awtrix.local.

The name shown in your AWTRIX script list. Use letters, digits, hyphens or underscores.

Connection & device login

Connect your phone or computer to the same network as your AWTRIX. Allow local network access if your browser asks.

Use the device’s IP address, without a page path such as /#/apps.

If your AWTRIX requires a login, the username and password fields will appear when you connect.

Sign in to the Hub to install scripts. Attached files are installed separately.

Script description

Display your weekly Sleeper NFL fantasy matchup directly on your TC002:
current scores with two decimal places, your opponent, and your lead or deficit.
The top row alternates every four seconds between usernames and the scoring
week with the point difference. Green means you are ahead, red means you are
behind, and white means a tie. Your team and opponent are identified
automatically from your league. Commissioner score overrides are respected.

The bottom bar represents the point difference, not the probability of winning.
Sleeper's original win probabilities and projected final scores are not included
because the documented matchup API does not provide them.

Setup

  1. Import sleeper.ax as a separate script app.
  2. In the app settings, enter League ID: only the digits from your Sleeper
    link, https://sleeper.com/leagues/LEAGUE_ID/.
  3. Under Sleeper username, enter your username or the display name shown
    in your league, without @. Do not enter your custom team name.
  4. Leave Roster ID override at 0. For co-owners, duplicate display names,
    or teams without a matching name, enter the numeric roster ID instead.
    In that case, the username can be left blank.
  5. Leave Week override at 0 to use the league's current scoring week
    (settings.leg). Enter a number to select a specific week, including after
    the season has ended.

The league ID is stored as text to preserve the precision of long Sleeper IDs.
Update it when your league moves to a new season; the script does not follow
successor leagues automatically. Name matching is case-insensitive.
Do not include leading or trailing spaces.

Settings and behavior

Setting Default Purpose
Refresh interval 60 s Fetch league, users, rosters, and matchups again; minimum 30 s
Display time 12 s Time spent in the normal app rotation
Hide without matchup off Hide the app when no matchup is available or cached scores have expired
  • Your score is always on the left; your opponent's score is on the right.
  • Names are shortened to fit. Unsupported characters appear as ?.
    Unusually large scores are displayed one at a time.
  • The bottom bar is split in the middle when scores are tied. Its boundary
    moves by one pixel for every two points of difference and stops at the edges.
  • The script does not pause rotation, play sounds, or jump to its own page.
    Another app that pauses rotation may prevent this app from appearing.
  • If a network request fails, the last valid scores remain visible until they
    are five minutes old. After that, a warning appears or the app is hidden.
  • Refresh intervals longer than five minutes intentionally cause temporary
    warnings or hiding. Choose 240 seconds or less for continuous score display.
  • Byes, missing opponents, and matchups involving more than two rosters are
    not displayed as regular matchups. Median or additional games are not
    displayed separately.
  • Outside an active season, select an explicit week to display previous matchups.
  • Pressing Select requests a refresh on the next loop iteration.
  • Updates may lag behind the Sleeper app.

Diagnostics and validation

/api/v1/apps/APPNAME/data exposes status and matchup.
matchup records the last successful fetch and may be outdated. The internal
five-minute age limit determines whether those scores are displayed.

Validated on a TC002 on October 18, 2026:

  • Compilation and startup without a reported script error.
  • Live HTTPS requests with automatic identification of both participants.
  • Isolated device tests covering roster and opponent lookup, a commissioner
    override of zero points, decimal and negative scores, drawing and overflow
    handling, stale data, byes, duplicate names, roster overrides, week changes,
    empty responses, the offseason, and name width limits.

Run python3 tests/build_sleeper_test.py to generate a local test script at
/tmp/SleeperTest.ax. This does not upload anything automatically.
Acceptance by the awtrix.de upload process has not been tested, and the script
has not been published.

API documentation: https://docs.sleeper.com/
According to Sleeper, its API is free for non-commercial use.

More scripts in News

Something wrong with this script? Report it.