I started this a year or two ago to implement the v5 version of BVG’s API, and finally updated the component to use the latest v6 API (https://v6.bvg.transport.rest/). This is heavily based on the work of disrupted and fluffykraken, with a few small changes to support my use case - mostly updating to the latest API, and retrieving two times for a given stop/direction. This was very much created for my own use, but I’m sharing here in case anyone else finds it useful.
Github repo: bvg-sensor
Below is an example of a (work-in-progress) dashboard for next to my front door that shows a few convenient departure times. The n/a times in this screenshot are expected, as there are no trains due to construction. I created the cards using Mushroom template cards, a bit of CSS, and referenced the official BVG line colors for fun.