HVV departures card for Home Assistant.
This custom UI card shows the next departures at a certain station based on the HVV Departures integration.
- Visual Configuration Editor - Configure the card through the UI without writing YAML
- Displays upcoming departures with line, direction, and time
- Departures sorted by actual arrival time (scheduled time + delay)
- Delay information displayed in red when trains/buses are running late
- Cancelled departures shown with strikethrough and "Cancelled" badge
- Graceful handling when no departures are available ("No departures" message)
- Time filter to show departures after a specified offset
- Support for multiple stations in a single card
- Visual styling matching HVV line colors (U-Bahn, S-Bahn, Bus, etc.)
Install the HVV Departures integration and setup a departure sensor, e.g. sensor.departures_at_jungfernstieg.
HVV Card is available as a custom HACS repository. This is the recommended way to install the custom cards.
- Open HACS and add this repository to your "Custom repositories".
- "HVV Departure Card" will show up in the "Frontend" section
- Click "Install" and continue to configure a card
- Download the hvv-card.js to
/config/www/. - Add the following to resources in your Lovelace config or use the Lovelace configuration UI.:
resources:
- url: /local/hvv-card.js
type: moduleThe easiest way to configure the card is through the visual editor:
- Add a new card to your dashboard
- Search for "HVV" or "Custom: HVV Card"
- Use the visual editor to configure entities and options
Alternatively, add a card with type custom:hvv-card:
type: 'custom:hvv-card'
entities:
- sensor.departures_at_jungfernstieg
- sensor.departures_at_schlump| Name | Type | Default | Since | Description |
|---|---|---|---|---|
| type | string | required | v0.1.0 | custom:hvv-card |
| entities | array | required | v0.2.0 | Array of entity_ids from the HVV departures integration, that will be shown on the card. |
| title | string | optional (Default: HVV Departures) | v0.2.0 | Title shown on the card. |
| show_title | boolean | optional (Default: true) | v0.2.0 | Shows the title of the card |
| max | int | optional (Default: 5) | v0.1.0 | Set the max. listed departures |
| show_time | boolean | optional (Default: false) | v0.1.7 | Shows the departure time instead of the minutes |
| show_name | boolean | optional (Default: true) | v0.2.0 | Shows the name of the departure sensor |
| show_time_filter | boolean | optional (Default: true) | v0.3.0 | Shows the time filter input that allows filtering departures by a future time offset in minutes |
Here is a more exhaustive example of a configuration:
type: custom:hvv-card
entities:
- sensor.departures_at_jungfernstieg
- sensor.departures_at_schlump
max: 10
show_time: false
show_title: true
show_name: false
show_time_filter: true
title: HVVInstall dependencies and run the tests with:
npm install
npm testContributions are welcome! Please read our Contributing Guide for details on:
- Development setup
- Branch naming conventions
- Commit message format (Conventional Commits)
- Pull request process
This project is licensed under the MIT License - see the LICENSE file for details.

