~derf / projects / Travel::Status::DE::VRR v1.15

Travel::Status::DE::VRR is an inofficial interface to the VRR departure monitor available at http://efa.vrr.de/vrr/XSLT_DM_REQUEST?language=de&itdLPxx_transpCompany=vrr&.

It shows all upcoming tram/bus/train departures at a given stop.

Output of the example script efa-m shipped with this module:

descent ~ > efa-m Essen 'Berliner Platz'
19:26  Bstg. 2  109  Essen Steele S             
19:27  Bstg. 2  147  Essen Grimbergstr.         
19:29  Bstg. 1  U11  Gelsenkirchen Buerer Str.  
19:29  Bstg. 2  U17  Essen Margarethenhöhe      
19:30  Bstg. 1  147  Essen Erbach               
19:31  Bstg. 2  103  Essen Hauptbahnhof         
19:31  Bstg. 2  U18  Mülheim Hbf                
19:32  Bstg. 1  109  Essen Frohnhausen Breilsort
19:34  Bstg. 1  105  Essen Unterstr.            
19:34  Bstg. 2  101  Essen Rathaus Essen        
19:36  Bstg. 2  U11  Essen Messe W.-Süd/Gruga   
19:36  Bstg. 2  105  Essen Hauptbahnhof         
19:36  Bstg. 1  U17  Essen Karlsplatz           
19:36  Bstg. 4  166  Essen Dellwig Bahnhof      
19:37  Bstg. 1  101  Essen Germaniaplatz        
19:40  Bstg. 1  145  Essen Fängershof Schleife  
19:41  Bstg. 2  109  Essen Steele S             
19:44  Bstg. 1  U11  Gelsenkirchen Buerer Str.  
19:44  Bstg. 2  U17  Essen Margarethenhöhe      
19:46  Bstg. 2  U18  Mülheim Hbf                

Travel-Status-DE-VRR-1.15.tar.gz (signature)

  • Fix encoding issues caused by recent API changes

Travel-Status-DE-VRR-1.14.tar.gz (signature)

  • efa-m: Fix broken encoding in --list output

Travel-Status-DE-VRR-1.13.tar.gz (signature)

  • EFA: Add accessors name_candidates and place_candidates
  • EFA: errstr: in cases of ambiguous input, the name/place candidates list is no longer encoded in the errstr accessor. Use the new name_candidates / place_candidates accessors instead

Travel-Status-DE-VRR-1.12.tar.gz (signature)

  • EFA: Add static method get_efa_urls
  • Line: Add mot and mot_name accessors
  • Result: Add mot and mot_name accessors
  • efa-m: Add -A / --auto-url / --discover-and-print option
  • efa-m: Add -D / --discover option
  • efa-m: Add --list option
  • efa-m: Add -m / --mot option
  • efa-m: Add -s / --service option

Travel-Status-DE-VRR-1.11.tar.gz (signature)

  • efa-m: Remove -V alias for --version
  • efa-m: Add -V / --track-via option
  • efa-m: Add -O / --output option with outputtypes route_after, route_before, fullroute and route
  • efa-m: Always output schedule data when absolute times are requested. As before, delays are indicated by a +xyz mark next to the time

Travel-Status-DE-VRR-1.10.tar.gz (signature)

  • Result->delay: return undef when no data is available. This allows to distinguish between on-time departures (delay 0) and departures without realtime data (delay undef)
  • EFA->new: Add full_routes config option
  • EFA: Add identified_data accessor
  • Result: Add route_pre, route_post and route_interesting accessors
  • Add Travel::Status::DE::EFA::Stop module
  • efa-m: Add -v / --via option

Travel-Status-DE-VRR-1.09.tar.gz (signature)

  • EFA: Fix crash when ->results is called after a network error occured
  • EFA: Add timeout parameter to constructor (default: 10 seconds)
  • efa-m: Add --timeeout option

Travel-Status-DE-VRR-1.08.tar.gz (signature)

  • efa-m: Add -o, --offset option
  • Fix ->platform and ->platform_db accessors (the EFA API was changed)

Travel-Status-DE-VRR-1.07.tar.gz (signature)

  • efa-m: Add previously undocumented -L option to manual
  • efa-m: Handle UTF8 in place/stop input
  • Travel::Status::DE::EFA: Handle decoded input with non-ASCII characters

Travel-Status-DE-VRR-1.06.tar.gz (signature)

  • Add Travel::Status::DE::EFA module, move ::Result and ::Line to Travel::Status::DE::EFA. Travel::Status::DE::VRR now inherits from ::EFA, no API changes were made.
  • Travel::Status::DE::EFA has a mandatory efa_url parameter to set the entry point to an EFA service

Travel-Status-DE-VRR-1.05.tar.gz (signature)

  • Add -r, --relative option to use relative times
  • Support lines without Operator field (e.g. Aachen / ASEAG)

Travel-Status-DE-VRR-1.04.tar.gz (signature)

  • Add ->key accessor to Travel::Status::DE::VRR::Line (meaning is unknown)
  • Add ->is_cancelled accessor to Travel::Status::DE::VRR::Result
  • Travel::Status::DE::VRR::Result->delay will no longer return -9999 for cancelled departures, check ->is_cancelled instead
  • Allow Travel::Status::DE::VRR::Line and TraveL::Status::DE::VRR::Result to be serialized to JSON (via TO_JSON method)

Travel-Status-DE-VRR-1.03.tar.gz (signature)

  • Disable smartmatch warnings on perl ≥ 5.018

Travel-Status-DE-VRR-1.02.tar.gz (signature)

  • Patch by Roland Hieber: respect proxy environment variables

Travel-Status-DE-VRR-1.01.tar.gz (signature)

  • Properly parse "tram canceled" information (EVAG, maybe also VRR)

Travel-Status-DE-VRR-1.00.tar.gz (signature)

  • switch to efa.vrr.de XML interface
  • properly decode UTF-8 strings
  • Switch from WWW::Mechanize to LWP::UserAgent
  • Add ->lines and Travel::Status::DE::VRR::Line describing all lines serving the given stop


  • Add countdown, date, delay, lineref, platform_db, sched_date, sched_time and type accessors


  • Add -L / --linelist option

Travel-Status-DE-VRR-0.02.tar.gz (signature)


  • Add --platform / --line options to filter output
  • Align times properly if departure list contains a daychange
  • Make --date and --time actually work