Nederlandse Spoorwegen (NS)


This sensor will provide you with time table information of the Nederlandse Spoorwegen train service in the Netherlands.

To obtain an API key, create an account on the NS API-Portaal and obtain an API key for the Reisinformatie API which is part of the Ns-App product.

The nederlandse_spoorwegen integration can be configured using configuration.yaml as shown below:

# Example configuration.yaml entry
sensor:
- platform: nederlandse_spoorwegen
  api_key: NS_API_KEY
  routes:
    - name: Rotterdam-Amsterdam
      from: Rtd
      to: Asd
    - name: Groningen-Zwolle-Maastricht
      from: Gn
      to: Mt
      via: Zl
    - name: 'AlmereBuiten-Duivendrecht-the-08h06m-train'
      from: Almb
      to: Dvd
      time: '08:06:00'

Configuration Variables

api_keystringRequired

The API key provided by the Nederlandse Spoorwegen.

routeslist(Optional)

List of travel routes.

namestringRequired

Name of the route.

fromstringRequired

The departure station.

tostringRequired

The arrival station.

viastring(Optional)

A station the route needs to pass through.

timetime(Optional)

Optional time to search for a specific train.

Station codes

Station codes must be used and can be looked up here.

Searching a specific train vs. the next train

The default behavior (without configuration variable time) gives you the information about the next train that fits the criteria (from, to, via). When using the configuration variable time, you can search for a specific train. This is convenient when searching for the next train doesn’t give you enough time to base an automation on. E.g., when you normally take the 08h06m train and want to get information about this train, but there is another train that’s departing just minutes before your train, your time window to warn you on a delay might be too small.

Using time only updates the route sensor during a time window around the chosen time. Outside this window, the route sensor’s state is unknown. The window is from half an hour before the chosen time until half an hour after the chosen time. In this way, you can have multiple routes with specific trains before hitting the FUP threshold for using NS API.

The data are coming from Nederlandse Spoorwegen.