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.
