node-red-contrib-awtrix-epl-live 0.1.2
awtrix live football
node-red-contrib-awtrix-epl-live
Polls ESPN for a configurable set of Premier League teams, tracks upcoming fixtures, and dispatches paced notifications for goals, penalty goals, own goals, disallowed goals, red cards, and full time from live matches - straight to your AWTRIX display, with an optional Alexa/Google voice announcement alongside it.
Install
Via the Node-RED editor's palette manager: Menu > Manage palette > Install,
then search for node-red-contrib-awtrix-epl-live.
Or from the command line, in your Node-RED user directory:
npm install node-red-contrib-awtrix-epl-live
Restart Node-RED afterwards. The node will appear in the palette under its category, ready to drag onto a flow.
Basic Usage

Dependencies
Before wiring output 2 directly to an AWTRIX mqtt out node, pre-load
the icon IDs this subflow references onto your AWTRIX device(s). Sending
a notification that references an icon ID the device hasn't cached can
potentially freeze the display.
LaMetric Icon Numbers
| Icon ID | Used for |
|---|---|
2965 |
goal / penalty goal / own goal, full time |
43844 |
red card |
76233 |
disallowed goal |
Configuration
Double-click the node and set:
Tracked teams - a JSON array of team names, matching ESPN's
displayNameexactly (case-insensitive).["Liverpool", "Manchester City", "Chelsea"]If a name doesn't match anything ESPN returns for the EPL, a warning is logged to the debug sidebar and that team is skipped - check spelling against ESPN's own team names if a team isn't being tracked as expected.
Outputs
This node has two outputs. Alexa/Google and AWTRIX devices are not hardcoded inside the node - wire your own downstream nodes to these outputs.
Output pin #1 - Alexa/Google event
msg.payload is one of: "goal", "disallowed goal", "red card",
"full time". Penalty goals and own goals are also reported here as
"goal" - the distinction only shows up on the AWTRIX continuation card
(output 2), not on this output.
Wire a switch node off this output to route each event type to your own
alexa-remote-routine node (or however else you want to trigger an
announcement).
Output pin #2 - AWTRIX payload
msg.payload is a ready-to-send AWTRIX notification object. This output
fires twice per event - once with a short interrupt notification,
followed by a continuation card carrying the fuller detail (score,
player, or team names). Wire this pin straight to one or more mqtt out
nodes pointed at your AWTRIX device(s).
How it works internally
Tracked team colours
Primary and alternate team colours are assessed independently. If the primary colour is deemed too dark or not viable for AWTRIX, the alternate is used; if that fails too, the fallback is to default to
#FFFFFF. The home team is always assessed first.Timings
- Every 24 hours, fetches the full Premier League team list from ESPN.
- Every 6 hours, polls ESPN's scoreboard to keep the upcoming-fixtures list current.
- Every 15 minutes, checks whether any tracked team's kickoff is imminent or already underway.
- A 15-second API poll of the live match(es) to detect match events and full-time.
Block event dispatch queue
Paces delivery of payloads, so multiple events don't overwrite each other on the display.
Finished matches are removed from internal state 60+ minutes after full time.
Known limitations
- If Node-RED restarts (or is otherwise offline) and comes back up right as a tracked match ends - specifically, if the very first poll after restart already shows that match as finished, with no earlier poll having caught it live - that match's full-time notification is not sent, since no baseline was ever created to report from. This is a narrow window (only affects a match whose entire live window was missed) and is a known, low-priority limitation.
License
MIT