Dutch Trains
On your display
A spot beside a Dutch railway. Thirteen real fleets pass in both directions at full panel height - VIRM, Koploper, ICNG, SLT, SNG, ICE, Eurostar, Arriva, R-net, freight.
- Topic
- Smarthome
- 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.
Script description
A spot beside a Dutch railway. Thirteen real fleets pass at full panel height, the line runs through five different places, and with a free NS key the trains become the ones actually due.
Panel: 52x16
A place, not a strip of track
The camera never moves, and that is what lets everything else exist. The
sleepers stay put. The mill stands in one field and turns. The signal behind
each train drops to red and works its way back up through yellow. The level
crossing hears one coming, the lights start, the boom comes down — and only
two and a half seconds later does anything appear at the edge of the panel.
Depth is done by who stands in front of whom: sky, then the polder hazed into
the distance, then the catenary masts, then the train, and then the
crossing boom and the signal post, because those are on this side of the line.
A barrier cutting across a passing ICNG does more for the picture than any
amount of shading.
The fleet
VIRM · DDZ — double-deckers, nine rows tall, two decks of windows, and
a driving cab that sits two rows lower so the upper saloon steps up behind it
Koploper (ICM) — yellow, with the walk-through face
ICNG — black sidewalls, yellow front and doors
SLT · SNG — the Sprinters
ICE 3M · Eurostar — the international pair
Arriva GTW · WINK — no pantograph, and a puff of exhaust instead
R-net · Blauwnet FLIRTs
Goederen — a loco and a rake of flats, containers in whatever colours the
yard had that day
The number of bakken is right. NS builds the VIRM as a four and a six and
nothing in between; the ICNG is a five or an eight; an ICE 3M is eight and a
Eurostar is ten. Picking anywhere in a range put five-car SLTs on the panel,
which is the sort of thing exactly one person in a thousand notices and then
cannot stop noticing.
Lights are correct for the direction, pantographs arc off the wire now and
then, dust lifts off the ballast behind a train and outlives it by a second,
and after dark the windows come on — which is the one thing that makes a train
at night look occupied rather than switched off.
The line goes somewhere
The backdrop moves on every fourth train, always between them so the cut lands
on an empty panel:
- The polder — a church tower, a mill turning once every twelve seconds
- The coast — a dune ridge, marram, a lighthouse that lights after dark
- The town — canal-house gables with their windows lit at night
- The yard — a gantry crane over stacked containers, on the Betuweroute
- A station — where passenger trains actually stop
The season comes off the real date: snow from December to February,
tulip fields in April and May.
Calling at
At a station the train brakes, stops, opens its doors and goes. Freight
runs straight through. People walk on from the ends of the platform, wait,
and when the doors open they walk to the nearest one and step in.
Three kinds, and a given station is always the same size — a halt with a bench
and a hedge, a suburban one with lamp posts and a station house, or a city
platform in brick with a canopy opposite and a clock showing the real time.
Fifteen real names on the board.
With an NS key it stops being a simulation
A key is free from apiportal.ns.nl — sign in and subscribe to the
Ns-App product. Add it with a station and the app polls that station's
departure board and runs the trains that are actually due.
It goes further than the category. For each departure it asks the
virtual-train endpoint what stock is rostered for that ride, so the length
is the real one and a six-bak ICM is drawn as two three-bak units coupled
nose to nose — with driving cabs in the middle of the train, which is what
one actually looks like and something no amount of guessing gets right.
Replacement buses and cancellations stay on the board but never become a train
on the panel: drawing a VIRM for a coach would be a lie. A line that is
entirely bussed quietly runs its own service while the board goes on telling
the truth.
Leave the key empty and none of that code ever runs — no request, no backoff,
no failure screen, and nothing about the scene is missing.
Controls
SELECT names what is on the rails: VIRM 6 BAK - 1994 - 160 KM/H.
SELECT twice opens the whole departure board, full panel, in NS blue with
white letters, scrolling up the way the real ones do:
VERTREK
UTRECHT
09:42 5
NIJMEGEN
09:48 +5 11
DEN HAAG CEN
Delays in red, the platform in yellow, BUS for a replacement and X in red
for a cancellation. It runs through once and stops, because a board you cannot
get away from is an app you turn off.
Left and right stay the carousel's throughout, so you can always walk away.
Settings
- Traffic (3) — how busy the line is before the hour is applied
- Follow the clock (on) — sky, lit windows and traffic from the real hour
- NS API key — free, Ns-App product. Empty keeps it a pure animation
- Station — twenty boards worth having
- Other station — any NS code, and it wins over the list
Sign in to view and copy the code of this script.
Discussion 0
Ask a question, suggest a change or share how you use it.
No comments yet. Start the conversation.
Have an idea?
Sign in to ask questions and join the conversation.