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

XBOX Game Status

On an AWTRIX display
XBOX Game Status shown on an AWTRIX display
XBOX Game Status · by strusic

On your display

XBOX Game Status

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

Runs on

  • Runs on 32×8 (TC001 & DIY)
  • 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

XBOX Game StatusAWTRIX 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

🎮 Xbox Live Presence Monitor (Standalone)
A native Berry script for AWTRIX NG that dynamically displays your currently played Xbox game along with the live session duration (e.g., Gears of War - 1h 23m).

✨ Features
Smart Visibility: The app only appears in your AWTRIX loop when you are actively playing a game. It automatically hides (skips) when the console is off, you are on the Dashboard, or watching media apps.

Precision Filtering: Reads the raw JSON from the API and strictly looks for "placement": "Full" to ensure it only tracks active, full-screen games.

Native Time Tracking: Calculates your play session duration directly on the ESP32. It uses Julian date math, meaning it perfectly handles sessions that roll over past midnight or into a new month.

Smooth Transitions: Utilizes the "loop" scroll mode and an is_finished flag to ensure the text smoothly exits the screen before transitioning to the next app, preventing any visual glitches or flickering.

🛠️ Prerequisites (xbl.io API Key)
Since the official Xbox API requires a complex OAuth 2.0 flow, this script uses xbl.io, a trusted proxy service that makes fetching Xbox Live data incredibly easy.

Go to xbl.io and log in with your Microsoft/Xbox account.

Navigate to Profile -> API Keys.

Generate a new API Key and copy it.

⚙️ Configuration
Once installed, go to Apps -> Settings (next to the script name) in your AWTRIX WebUI to configure:

apikey (text): Paste your xbl.io API key here. (Required)

every (number): Polling interval in minutes. Default is 2.

⚠️ Important: The free tier of xbl.io allows up to 150 requests per hour. An interval of 2 minutes uses 30 requests/hour, keeping you perfectly safe from rate limits.

speed (number): Text scrolling speed. Default is 200.

repeat (number): How many times the text scrolls before switching to the next app. Default is 2.

UPDATE 29/08/26

  • Rich Presence Fix: Replaced the rigid bracket-based JSON parser with a direct regex lookup. This stops the app from hiding itself when the Xbox API returns nested objects (Rich Presence) during active gameplay.

  • API Error Protection: Added HTTP status validation (status != 200) to prevent the script from clearing your active game session if the API temporarily fails or drops the connection.

  • Increased Payload Buffer: Expanded the HTTP memory buffer limit from 2048 bytes to 8192 bytes to safely process larger data responses without truncation.

UPDATE 29/08/26(v1.1 → v1.6)

  • Added: ignored configuration field (# @config ignored) to specify a comma-separated list of apps or games to hide from the display (e.g., Kodi, Netflix, Microsoft Store).
  • Changed: Overhauled the ignore matching logic. The script now splits your ignored entries into individual words and verifies if all words are present in the API response, making the filter resilient to exact-match failures.
  • Fixed: Implemented a string sanitizer to automatically strip hidden formatting characters (like Zero Width Joiners and non-breaking spaces) and trademark symbols (®, ™, ©) sent by the Xbox API. This prevents ? artifacts from rendering on the matrix and ensures the ignore list works flawlessly.
  • Fixed: Improved list parsing (re.matchall) to safely handle and strip accidental blank spaces around app names in the configuration field.

More scripts in Social

Something wrong with this script? Report it.