BVG/VBB ÖPNV Abfahrten und Integrationen

:waving_hand: Hallo zusammen,

ich habe nach einer Möglichkeit gesucht, die BVG‑Abfahrtszeiten direkt auf meinem Home Assistant Dashboard darzustellen.
Dabei bin ich auf die ursprüngliche Integration von vas3k gestoßen und habe diese geforkt sowie erweitert. Das wollte ich mit euch hier teilen, falls auch jemand auf der Suche nach einer Abfahrtsanzeige für Berlin/Brandenburg ist.

Die Integration findet ihr hier: GitHub - manoth-msft/home-assistant-bvg-vbb-departures: Home Assistant integration that fetches live BVG/VBB public transport departures for Berlin and Brandenburg.

:backhand_index_pointing_right: Die Integration ist über HACS installierbar.

:magnifying_glass_tilted_right: Neben meiner und vas3k’s Integration, habe ich nur eine weitere gefunden, die noch gepflegt wird bzw. die aktuelle API verwendet:

zgbee/bvg-sensor: :metro: Berlin transport service as a component for @home-assistant. Monitor your most used stations and get real-time departure times

:light_bulb: Feedback, Ideen oder Pull Requests sind jederzeit willkommen!

3 „Gefällt mir“

Nachdem ich heute 15 Minuten bei klirrender Kälte auf dem S-Bahn-Steig gestanden habe, weil ein Zug ausgefallen ist, bin ich hier fündig geworden. Installation klappte fast ohne Probleme (“github.comv” mache ich gerne einen Pull Request in den nächsten Tagen) Vielen Dank und ich teste weiter.

1 „Gefällt mir“

GitHub - tom71/esphome-cyd-bvg-departure-display: Real-time Berlin public transport departure display for ESP32 CYD 3.5'' using ESPHome Ich habe das ganze auf ein CYD gepackt.

1 „Gefällt mir“

Freut mich, wenn die Integration zukünftiges Frieren auf dem Bahnsteig verhindern kann. Danke für das Highlighten der kaputten Links, ist gefixt.

Seit einigen Tagen scheint die API down zu sein:

Könnt ihr das bestätigen?

Ja die API ist seid ein paar Tagen down, ich habe mir eben schnell ein Ersatz gebaut der die API von www bvg de benutzt GitHub - select/home-assistant-bvg: Home Assistant custom integration for BVG (Berlin) connection search, using the www.bvg.de connection-search API · GitHub kann direkt mit der Lovelace Card von vas3k benutzt werden.

Ja, ich schaue mir das dieses Wochenende mal an, ob man da kurzfristig etwas mit caching verbessern kann, oder ob ich das auf eine andere API umbauen muss.

Funktioniert wieder, danke.

Ich habe gerade eine neue Version der Integration veröffentlicht:

v0.1.4 (Release v0.1.4 - Being a good API citizen).

Das Update sollte über HACS automatisch ankommen. Der gesamte Netzwerkstack wurde umgebaut, um die Last auf der genutzten API zu reduzieren, mit Fehlern und TimeOuts besser umzugehen und wenn möglich auch im Fehlerfalle Daten anzuzeigen.

Ich hoffe, es verbessert die Situation. Und feedback wird immer gerne genommen.

Bugfix-Release v0.1.4.1 ist draußen (Releases · manoth-msft/home-assistant-bvg-vbb-departures). HACS wird euch irgendwann das Update anbieten, oder ihr geht auf HACS > vbb > Erneut herunterladen und wählt direkt v0.1.4.1 aus.

Es behebt vorrangig ein Problem bei der Entitätenerstellung und Zeitberechnung. Außerdem habe ich das Fallback auf die BVG-API vorbereitet.

Und heute kommt schon Release v0.1.4.2 >> Release v0.1.4.2 - Being a good API citizen + more fixes · manoth-msft/home-assistant-bvg-vbb-departures

Es enthält weitere Fixes, besseres Logging und einige interne Umbauten, um die nächsten Schritte vorzubereiten. Die Integration leidet weiterhin unter der schlechten Verfügbarkeit der API, aber deren Stabilität ist außerhalb meiner Kontrolle. Ich versuche mit Caching, ETag-ing, und einem Back-off-Mechanismus die Last auf die API möglichst gering zu halten.

Außerdem wurde ein Fallback vorbereitet, so das wir auf eine andere API wechseln können, wenn die aktuell genutzte nicht verfügbar ist. Das werde ich in den nächsten Tagen releasen.

Hier kommt das große Update >> Release Redundancy & Reliability Update · manoth-msft/home-assistant-bvg-vbb-departures

Ich hab ein mehrstufiges Fallback-System eingebaut: Wenn die primäre API ausfällt, versucht es erst eine von mir gehostete Version davon zu erreichen. Schlägt auch das fehl, geht es an die BVG-API ran (die schlechtere Filter anbietet, daher ist es erst die dritte Ebene). Aber wir sollten damit eigentlich immer Daten bekommen.

Und Version 0.1.6 kommt gleich hinterher > Better direction filtering and auto-fixing broken ones

Im Betrieb meines eigenen transport.rest-Endpunktes ist mir aufgefallen, dass einige Abfragen reinkamen, die als Richtungs-Parameter den Klartext und nicht die notwendige ID des Zwischenstops/Endhalts mitgeben. Und diese schlagen dann immer fehl.

Daher habe ich in dieser Version zwei Dinge angepackt:

Das Konfigurieren von Zwischenstops/Endhalten geht jetzt auch über die Eingabe des Namens der gewünschten Haltestelle, die Integration ermittelt dann die passende ID.

Für bestehende Konfigurationen, die bereits einen Filter mit einem Namen (z.B. Zwickauer Damm) statt einer stop-id haben, wird automatisch die am besten passende Stop-ID ermitteln und gespeichert. Keine manuelle Re-Konfiguration nötig.

Also, geht auf HACS > die drei Punkte neben der BVG/VBB-Integration und klickt auf ‘Informationen aktualisieren’, dann wird euch das Update angeboten.