MagicMirror² v2.13.0 is available! For more information about this release, check out this topic.

MMM-PublicTransportBerlin - Public transport for Berlin and Brandenburg (departures)

  • Hi,

    I wrote a module that shows departures in Berlin and the surrounding state Brandenburg. The module uses a REST API that fetches data from the “Verkehrsverbund Berlin Brandenburg” (VBB). A guy named Jannis Redmann wrote it. So these credits go to him. It provides live data with departure delays. You can have a look at it here.

    You can give a delay time for like “How long does it take to my next station?”. Delay times of the lines are considered and part of the calculation for the delay. A line is drawn at the time now + delay, so the focus is on the departures you’re able to reach in the given delay time.

    It looks like this:

    example from Alexanderplatz

    You can configure how many reachable and unreachable departures should be shown and turn the fading of both parts on and off. Some more options and multiple use of the module are available.

    It’s working for now, but needs some more tests and UI tweaks.

    Download :

  • @Beh WOW, this is really cool! Unfortunately I don’t live in Berlin 😞 do you know if there’s such an api for other cities or even the DB?

  • Thanks 🙂

    It seems that there exists data by DB, as they are mentioned on the HAFAS website as a costumer here.

    I was able to find a REST API for Deutsche Bahn on and GitHub.

    Unfortunately it doesn’t seem to have a function to get just the departures. I’ll look into it. Maybe I can just switch the Fetcher for my module and make some tweaks to make it work.


    OpenLok looks promising, btw.

  • Project Sponsor Module Developer

  • I added a marquee effect for direction descriptions which would be too long for the table width. Unfortunately it renders quite slow on the Pi. The transition of the text is not very fluid, but I think it’s ok if you need the long directions.

    Here is a video of the marquee effect rendered by my computer connected to the mirror via wifi.

  • Thanks @Beh ! Great module!
    Is there a chance to increase the radius of stations?
    In my case, I can either check the bus or the underground since they have different IDs.
    I would be perfect if I could get all possible departures from within 10 minutes walk.
    Is there a chance to add multiple IDs?


  • Thank you @done 🙂

    currently, you can’t look for multiple IDs, but:

    Usually, the module gets data for all transportation systems and stations around a main station. For example, if you enter Alexanderplatz, it shows data for the s-bahn, underground, bus and tram stations as well, even if the station IDs for the real tram and bus stations are different than the ID for Alexanderplatz.

    And I think, I don’t get your question right… Can you give me an example? Which stations would you like to have in the radius?

  • This post is deleted!

  • (repost - too many spelling mistakes - couldn’t edit - don’t know which mistakes I’ve been missing now 😉 )

    I guess this is a “problem” of the rest api.
    I live in an area where I have different stations to choose.
    There is an underground station about 500 m away. A bus station also about 500 m and two other underground stations within 1 km.
    I tried another module that uses the google api and it offered more than one station but only for a specific route/destination.
    What I want is a module that shows all reachable stations in my area (let’s say within 1 km) with the next departure times without a specific destination.
    If you want to check: I live in the area of Hohenstaufenstraße/Heilbronner Straße. Possible underground stations are Bayerischer Platz, Viktoria-Luise-Platz and Spichernstraße. Additionally there are 2-3 bus lines in that area I which use.
    I think, there is no solution. 🙂

  • Hey @done,

    I’ll look into this tomorrow night. maybe this issue can be solved… I’ve got some ideas… I’ll keep you updated!

Log in to reply