The rvmtransport sensor will give you the departure time of the next bus, tram, subway or train at the next station or stop in the Rhein-Main area public transport network. Additional details such as the line number and destination are present in the attributes.


Visit the RMV OpenData web site to find a list of valid station IDs.


To enable this sensor, add the following lines to your configuration.yaml file:

# Example configuration.yaml entry
  - platform: rmvtransport
     - station: STATION_OR_STOP_ID

Configuration Variables

timeout integer (Optional, default: 10)

Specify the timeout for the API calls.

next_departure list Required

One or multiple departure sensors.

name string (Optional)

Name to use in the frontend.


The default is the station name.

station string Required

ID of the stop or station, e.g., 3000010.

destinations string (Optional)

One or multiple final stop names, e.g., ‘Frankfurt (Main) Hauptbahnhof’ or [‘Frankfurt (Main) Hauptbahnhof’,‘Frankfurt (Main) Stadion’]. This can be used to only consider a particular direction of travel.

direction string (Optional)

Name of a stop or station, e.g., ‘Frankfurt (Main) Hauptbahnhof’. This can be used to only consider a particular direction of travel.

lines string | integer (Optional)

One or more line numbers, e.g., 'S8' or ['S8', 'RB33', '41']

products string (Optional)

One or more modes of transport ['U-Bahn', 'Tram', 'Bus', 'S', 'RB', 'RE', 'EC', 'IC', 'ICE'].


[“U-Bahn”, “Tram”, “Bus”, “S”, “RB”, “RE”, “EC”, “IC”, “ICE”]

time_offset integer (Optional, default: 0)

Do not display departures leaving sooner than this number of minutes. Useful if you are a couple of minutes away from the stop.

max_journeys integer (Optional, default: 5)

Specify the maximal number of journeys.


Full configuration

The example below shows a full configuration with three sensors that showcase the various configuration options.

# Example configuration.yaml entry
  - platform: rmvtransport
    scan_interval: 120
    timeout: 10
      - station: 3000010
        time_offset: 5
          - 'Frankfurt (Main) Flughafen Regionalbahnhof'
          - 'Frankfurt (Main) Stadion'
          - 'RB'
          - 'RE'
          - 'Bus'
          - 'S'
      - station: 3006907
        products: "Bus"
        destinations: ['Wiesbaden Dernsches Gelände', 'Mainz Hauptbahnhof']
        name: Destination
      - station: 3006904
        lines: "S8"
        max_journeys: 5
        products: "S"

The first sensor will return S-Bahn, bus, RB and RE trains departures from Frankfurt Hauptbahnhof to Frankfurt Airport or Stadium that are at least 5 minutes away.

The second sensor returns bus departures from Wiesbaden Hauptbahnhof going to Dernsches Gelände and Mainz Hauptbahnhof. To retrieve the time of the second departure, you would use state_attr('sensor.ENTITY_NAME', 'departures')[1].time.

The third sensor returns all S-Bahn trains from Mainz Hauptbahnhof for line S8.