The MMM-NexusMetroRTI
module is compatible with the MagicMirror² (Github Repository) project and can display live estimates of train arrival times at stations along the Nexus Tyne and Wear Metro, located in the North-East of the UK. It utilises their own undocumented API.
This module utilises a public API which requires no API key. Should this change in the future please report the issue within the Github repository.
You will need to configure the station and platform by using the station codes which listed ./public/cache/stations.json
and platform numbers in ./public/cache/platforms.json
.
NOTE: These files are used by the module to reduce API calls since the station information is rarely changed. You can update the cached information by setting the config property updateCacheOnStart: true
.
As displayed in the example above, the module can use the Calvert font as is used in branding on the Tyne and Wear Metro. Because of licencing, the font is not included in the repository. This font is available to be licensed by Monotype here, or otherwise available online from sources like here. If you would like to use the font, obtain a copy and save it in ./public/fonts/
with the filename Calvert-MT
and extension either ttf
, woff
, or woff2
.
To use this module, add it to the modules array in the config/config.js
file: As can be seen, to show multiple station platforms simply place another module and hide the station title. The margin between modules will automatically collapse.
modules: [
{
module: 'MMM-NexusMetroRTI',
position: 'top_right',
config: {
station: 'MTW',
platform: 3,
}
}
{
module: 'MMM-NexusMetroRTI',
position: 'top_right',
config: {
showStation: false,
station: 'MTW',
platform: 4,
}
}
]
The following properties can be configured:
Option | Description |
---|---|
updateCacheOnStart |
Updates cached station and platform data on module load.
(Values: true , false )
(Default: false )
|
colorize |
Whether or not to color train list items by their line,
Green or
Yellow,
and the metro logo.
(Values: true , false )
(Default: true )
|
showStation |
Whether or not to show the station title and metro logo above
the list of trains.
(Values: true , false )
(Default: true )
|
showPlatform |
Whether or not to show the platform title above the list of
trains.
(Values: true , false )
(Default: true )
|
showDestination |
Whether or not to show the terminus of each train.
(Values: true , false )
(Default: true )
|
showLocation |
Whether or not to show the last known location of the train
reported by the API.
(Values: true , false )
(Default: true )
|
showDueIn |
Whether or not to show the estimated arival time of the train.
(Values: true , false )
(Default: true )
|
platformFormat |
Format of the platform title. Accepts a nunjucks template
string. Available variables are
{{platformNumber}} and
{{helperText}} , which shows the direction of the
platform as it would be anounced or displayed in a station.
You could also just manually set this to some string you liked.
(Example: "Platform {{platformNumber}}" displays
"Platform 1" )
(Default: "{{helperText}}" )
|
locationFormat |
Format of the location string. Accepts a nunjucks template
string. Available variables are:
"{{eventTypeString}} {{eventStation}} at {{eventTime}}" displays
"Departed from Sunderland at 12:01"
Default Value: "{{eventTypeString}} {{eventStation}}"
|
locationTimeFormat |
moment.JS time format.
(Values: Any moment.js format string)
(Default: "HH:mm" )
|
minETA |
Minumum value of ETA for a train to show. Set to -1
to show all trains. Corresponding values are:
-1 = Arrived and
0 = Due,
(Values: [-1 to ...] )
(Default: -1 )
|
maxETA |
Maximum value of ETA for a train to show. Set to -2
to show all trains.
(Values: [-2 to ...] )
(Default: -2 )
|
maxTrains |
Limit on the number of trains to display. Note that the API only
returns a maximum of 4 trains currently.
(Values: [1 to 4] )
(Default: 4 )
|