2025-02-27

Home Assistant BVG VBB Abfahrten


 

Auf der Suche nach einer Lösung, um mir die nächsten Abfahrtszeiten für meine Haltestelle anzeigen zu lassen, bin ich beinahe verzweifelt.

 ich bin zwar auf vas3k/home-assistant-berlin-transport gestoßen, aber habe die dazugehörige lovelace-berlin-transport-card einfach nicht zum laufen bekommen, wenn der Code überhaupt mal lief, blieb die Kachel im Dashboard einfach leer.

Ich habe mir nun selbst eine Lösung gebastelt, die OHNE HACS funktioniert.

 Ihr braucht dafür erst ein mal die ID von eurer Starthaltestelle und einer Zielhaltestelle, über v6.vbb.transport.rest bekommt man z.B. für S+U Alexanderplatz Bhf (Berlin) die ID 900100003

 

Nun nehmen wir uns die komplette URL für die nächsten 5 Ergebnisse

https://v6.vbb.transport.rest/journeys?from=123456789&to=987654321&results=5 

Eure beiden IDs müssen natürlich hier als from und to eingefügt werden.

Passen wir also nun kurz unsere /homeassistant/configuration.yaml an

 Dort tragen wir ein (https://pastes.io/): 

# VBB Transport Sensor Configuration
sensor:
  # VBB Journeys REST sensor
  - platform: rest
    name: vbb_journeys
    resource: "https://v6.vbb.transport.rest/journeys?from=123456789&to=987654321&results=5"
    scan_interval: 60  # Update every minute
    value_template: "OK"
    json_attributes:
      - journeys

# Template sensor with fixed formatting
template:
  - sensor:
      - name: "VBB Journeys Markdown"
        state: "VBB Journeys Available"
        icon: mdi:train
        attributes:
          markdown: |-
            {% set journeys = state_attr('sensor.vbb_journeys', 'journeys') %}
            {% if journeys %}
            {% for journey in journeys %}
            {% if journey.legs and journey.legs[0] %}
            {% set leg = journey.legs[0] %}
            {% if leg.departure %}
            Abfahrt: um {{ leg.departure[11:16] }} Uhr
            Linie: {{ leg.line.name if leg.line and leg.line.name else 'Unbekannt' }}
            Richtung: {{ leg.direction if leg.direction else 'Unbekannt' }}{% if leg.departureDelay is defined and leg.departureDelay is not none %}{% if leg.departureDelay < 0 %}
            Früher: {{ ((leg.departureDelay * -1) / 60) | round }} Minuten{% else %}
            Später: {{ (leg.departureDelay / 60) | round }} Minuten{% endif %}{% endif %}
            
            {% endif %}
            {% endif %}
            {% endfor %}
            {% else %}
            Keine Daten verfügbar
            {% endif %}

 Hier nun kurz Home Assistant am besten neustarten.

 Geht nun auf euer Dashboard (Lovelace), oben rechts auf das Stiftsymbol zum Bearbeiten und fügt ein neues Markdown Element hinzu.

Bei Code (nicht nur Inhalt) fügt ihr folgenden Code ein (https://pastes.io/): 

type: markdown
content: "{{ state_attr(\"sensor.vbb_journeys_markdown\", \"markdown\") }}"

 

Und das sollte es auch schon gewesen sein, bei mir funktioniert es jedenfalls.


Proxmox Helper Script alle Container Updaten

Auf dem PVE Host erstellt ihr ein Script z.B. mit " nano update.sh " und befüllt es mit diesem Inhalt . Das Originalscript sta...