[APP][Pro] Dutch Railways (NS) - Live departures, trip planning, disruptions & crowdedness

Hi everyone!

I’ve just published a new Homey Pro app for NS, the Dutch Railways.

The NS app brings live train information into Homey, so you can add stations and routes as devices and use real-time travel information in your flows.

What does it do?

The app supports two main device types:

  • Station devices
    Track live departures from a Dutch railway station, including departure time, destination, platform, delay, cancellations and disruption state.

  • Trip devices
    Track a fixed route from A to B, for example your regular commute, including the next train, expected departure and arrival, delay, crowdedness and cancellation state.

The app also includes flow cards for common railway automations, such as reacting to delays, cancellations, platform changes, disruptions, crowded trains or finding a suitable train within a time window.

For example, you can create a flow that sends you a notification when your next train home is delayed by more than 10 minutes.

Getting started

To use the app, you need a free NS API key:

  1. Create an account at the NS API Developer Portal.

  2. Subscribe to the NS travel information product.

  3. Install the app on Homey.

  4. Open the app settings, paste your API key and test the connection.

  5. Add either a Station or Trip device.

The documentation contains a step-by-step setup guide:

https://homey-nederlandse-spoorwegen.gitbook.io/docs-en

Notes

This is an unofficial community app and is not affiliated with NS.

Any questions, issues or feature requests are welcome in this topic.

Came across your app and already very useful. I usually forget to check upfront and now I know before going to or leaving from work if I should be prepared for delays.
Awesome work, thx!

Takes some more fiddling with flows to prevent spamming of alerts. Seems NS updates each time a delay increases or decreases by one minute, which is overkill for my use case.

Thanks, great to hear it’s already useful.

I can imagine the minute-by-minute triggers get pretty noisy.

I’m actually curious what your ideal setup/flow looks like. If you share the flow you’re trying to build, I can have a look if there’s anything in the app I can tweak to make it function a bit better in your use-case.

I’m kinda still figuring out what is most useful. But what I had in mind is basically a one time alert if there is a significant delay or event, so I know I should keep an eye on the NS app. So my initial setup pushed a message to my phone when NS updated something on my routes. But turns out that NS does that also with trains that have only 2 minutes delay, and then updates when the delay increases to 3 minutes. And then updates when the delay increases to 4 minutes. And then updates if the delay decreased again. And then… you get the point. :slight_smile:

So I created a minimum delay condition in my flow, but I’m not sure if once that treshold is met, I still get a push messages with every small update. I have only set up a flow a couple of days ago, so yet to see.

Maybe a flow that only alerts me when the delay has increased or decreased with X minutes or more would maybe something I would seek. I guess I can create that in a flow using variables, but have not gotten around to looking into variables. Still very new to Homey. And I decided to switch from SHS to Pro so holding of on creating many new flows until the Pro is set up.

That’s certainly possible! I’ll let you know if there’s an update or if I need any more input for the feature.

The main reason I built this app is that train delays and cancellations are quite common on my route. I’ve set up a few flows to notify me in the morning if there’s an active disruption at my station or if a train between 8:00 and 8:30 is delayed or especially busy. That way, I know whether I need to hurry and take an earlier train or whether I’d be better off taking a later train.

(And to notify me when my last/second to last train is about to leave after the vrijmibo :face_without_mouth:)

Nice, thx for the example. I have something very similar, for now in a simple flow mainly focussed on delays, but was planning to organise later. I added a presence check as well because my office presence can vary a bit. I have a flow for leaving home and one for leaving work (example see below).
But I doubt if for example a Train Cancelation will also automatically provide a delay value. if not, then my flow currently will not push a message since it is looking for a delay > 5. So I’m gonna take inspiration from your example once my Pro has been set up. :slightly_smiling_face: