98 lines
2.9 KiB
Markdown
98 lines
2.9 KiB
Markdown
# RMV-Abfahrtstafel-tool
|
||
|
||
Python-tool zur Live-Anzeige der nächsten Abfahrten an der Haltestelle einer Wahl in Frankfurt am Main (RMV). Die Anzeige erfolgt aktuell im Terminal als digitales Abfahrtsdisplay – farbcodiert nach Linie, nach Richtung sortiert und mit Live-Update.
|
||
|
||
|
||
<p align="left">
|
||
<img src="live-terminal-display.png" alt="Description" width="800">
|
||
</p>
|
||
|
||
---
|
||
|
||
## Features
|
||
|
||
- Live‑Daten von der offiziellen **RMV‑HAFAS‑API**
|
||
- **Richtungstrennung** (Westen ↔ Osten) mit konfigurierbaren Schlüsselwörtern
|
||
- **Linienfarben**: Tram-, U-Bahn-, S-Bahn- und Buslinien farbig im Terminal dargestellt (z. B. Linie 15 gelb, Linie 16 orange)
|
||
- **Maximale Abfahrten pro Richtung** einstellbar via `MAX_PER_DIRECTION` (Standard: 12)
|
||
- **Maskierungs-Filter für Buslinien** (z. B. „81“, „M36“)
|
||
- **Terminal‑optimiertes Layout** mit `rich.Table` und Live‑Updates
|
||
- **Debug‑Modus**: Anzeige der kompletten API‑Antwort (falls andere Ebenen des JSON exports erreicht werden sollen)
|
||
|
||
---
|
||
|
||
## Projektstruktur
|
||
|
||
```
|
||
RMV_DigiAnzeige_Buchrainplatz/
|
||
├── RMV_Digital_Board_light.py # Hauptskript
|
||
├── requirements.txt # Abhängigkeiten
|
||
└── README.md # Diese Datei
|
||
```
|
||
|
||
Inhalt von `requirements.txt`:
|
||
```
|
||
requests
|
||
rich
|
||
```
|
||
|
||
---
|
||
|
||
## Schnellstart
|
||
|
||
### 1. Repository klonen
|
||
```bash
|
||
git clone https://gitea.weseng.de/mwio/rmv-terminal-abfahrtstafel.git
|
||
cd rmv-terminal-abfahrtstafel
|
||
```
|
||
|
||
### 2. Abhängigkeiten installieren
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### 3. API-Key eintragen
|
||
Editiere `RMV_Digital_Board_light.py` und setze:
|
||
```python
|
||
API_KEY = "DEIN_API_KEY_HIER"
|
||
```
|
||
|
||
### 4. Starten
|
||
```bash
|
||
python RMV_Digital_Board_light.py
|
||
```
|
||
|
||
### 5. Optionaler Debug-Modus
|
||
```bash
|
||
python RMV_Digital_Board_light.py --debug
|
||
```
|
||
|
||
---
|
||
|
||
## Konfiguration
|
||
|
||
| Einstellung | Zweck | Standardwert |
|
||
|--------------------------|--------------------------------------------------|---------------------|
|
||
| `START_ID` | Haltestellen-ID (z. B. „3001605“ für Buchrainplatz) | `3001605` |
|
||
| `MAX_PER_DIRECTION` | Max. Anzahl Abfahrten pro Richtung | `12` |
|
||
| `excluded_lines` | Zu ignorierende Linien (z. B. Busse) | `{"81", "M36"}` |
|
||
| `west_keywords` / `east_keywords` | Schlüsselwörter für Richtungserkennung | ["Frankfurt", …] / ["Offenbach", …] |
|
||
| `line_colors` | Farbzuweisung für Linien im Terminal | Angepasst im Script |
|
||
|
||
---
|
||
|
||
## Lizenz
|
||
|
||
Open Source unter der **MIT‑Lizenz**. Details findest du in der `LICENSE`‑Datei.
|
||
|
||
---
|
||
|
||
## Feedback & Mitwirkung
|
||
|
||
Beiträge sind willkommen!
|
||
Eröffne gerne Issues oder Pull Requests im Repository. Für Verbesserungen, Farben, neue Haltestellen oder Features.
|
||
|
||
---
|
||
|
||
**Viel Spaß mit deiner Live‑Anzeigetafel!** 🚋
|