DB Infoscreen for Home Assistant π
π Project Status
| Component | Status | Latest | Release Date |
|---|---|---|---|
| Integration | |||
| Backend API |
π― Purpose & Motivation
This integration is designed for:
-
Wall-mounted Dashboards --- Perfect for hallway tablets or kitchen kiosks.
-
Magic Mirrors --- At-a-glance information while getting ready.
-
Commuter Checks --- Quickly check if your S-Bahn is delayed before leaving the house.
π The Evolution: Legacy vs. Modernity
This project did not appear in a vacuum. It is the result of years of iteration and a fundamental shift in how we handle train data in Home Assistant.
πͺ¦ The Legacy: ha-deutschebahn & ha-bahnvorhersage
If you have been a Home Assistant user in Germany for a while, you might remember ha-deutschebahn or ha-bahnvorhersage.
Why do these projects no longer exist/receive updates?
-
Parsing/Scraping Nightmares: These older integrations relied on "web scraping"βmeaning they downloaded the HTML of public websites and tried to find the departure times in the code. Every time Deutsche Bahn changed a single line of CSS or HTML, the integration would break for everyone.
-
Unreliability: Scraping is inherently fragile. It led to frequent "Unknown" states, broken sensors, and high maintenance overhead.
-
Complexity of Routing: They tried to solve routing (finding connections between two points). This requires complex session management and handling of many edge cases that the public-facing websites weren't designed to provide via simple GET requests.
-
IP Bans: Automated scraping is often detected and blocked by providers, leading to users getting temporarily banned from accessing train data.
π The Solution: ha-db_infoscreen
ha-db_infoscreen was born from the realization that we needed an API-first approach. By leveraging the incredible db-fakedisplay project as a backend, we moved away from fragile scraping and towards structured data.
- Backend Stability: We use the IRIS-TTS APIβthe same data source that powers actual platform displays at German stations.
- No Scraping: We receive clean JSON data. No more broken sensors because of a website redesign.
- Focus on Departures: By specializing in "Station Departure Boards", we provide the most reliable and information-dense experience for your dashboard.
β€οΈ Credits & Acknowledgments
This project is a bridge between the Home Assistant ecosystem and the wider open-source world.
Project Hero: derf
A massive amount of credit goes to derf for his tireless work on db-fakedisplay.
His backend project does the "heavy lifting": aggregating data from dozens of European transport associations (DB, ΓBB, SBB, and many more) and providing a unified, stable API. Without his work, this integration would not be possible. Please consider starring his repository!
β¨ Key Features
| Feature | Description |
|---|---|
| Real-time Data | Live delays, platform changes, and quality notes (e.g., "Train reversed"). |
| Global Coverage | Supports DB (Germany), ΓBB (Austria), SBB (Switzerland), and many local associations. |
| Smart Filtering | Exclude cancelled trains, filter by direction, or show only specific platforms. |
| Via Search Logic | Choose between AND/OR logic for multiple via stations. |
| Deep Attributes | Access route info, warnings, messages, train composition (wagon_order), and unique trip_id. |
| Multiple Entities | Main sensor, delay/cancellation binary sensors, and calendar entity for visual dashboards. |
| Occupancy | See how full the train is (1-4 scale) before it arrives. |
| Station Search | Intelligent autocomplete prevents typos by letting you pick from official station names with fuzzy matching. |
| Self-Healing Repairs | Automatic issue detection with repair flows for stale data, API errors, and connection problems. |
| Example Automations | Cookbook with alerts for platform changes, cancellations, and more. |
| ePaper Ready | Built-in "Text View" mode for ESPHome/ePaper displays. |
π Getting Started
Install with HACS Station Search Guide Entities Reference Data Sources View Settings Example Automations