Zum Hauptinhalt springen

Amtrak Smart-Home-Integration, kostenlos und Open Source

Amtrak-Integration für Gladys Assistant

Züge von Amtrak, VIA Rail und Brightline live: Verspätung, nächster Halt, Ankunft an deinem Bahnhof.

Amtrak-Züge live in Gladys, dazu die Züge von VIA Rail (Kanada) und Brightline (Florida): Verspätung, Status, nächster Halt, erwartete Ankunft an deinem Bahnhof und die nächsten Züge eines Bahnhofs.

Daten: Amtraker, eine freie Community-API von piemadd, die die öffentliche „Track Your Train“-Karte von Amtrak weitergibt, unter der Lizenz ODC-By 1.0. Inoffiziell: Diese Integration ist nicht mit Amtrak, VIA Rail, Brightline oder Amtraker verbunden. Kein Konto, kein Schlüssel.

Was du bekommst​

  • Ein Gerät pro verfolgtem Zug (eine Zugnummer und optional dein Bahnhof): Verspätung (Minuten), Status (geplant, unterwegs, im Bahnhof, angekommen, nicht unterwegs), nächster Halt mit Zeit und, mit Bahnhof, die erwartete Ankunft dort (Text) und die verbleibenden Minuten (Countdown).
  • Ein Gerät pro verfolgtem Bahnhof: der nächste Zug dort, in wie vielen Minuten, und seine Verspätung.
  • Ein Dashboard-Widget: ein Zug mit Verspätung, Ankunft an deinem Bahnhof und nächsten Halten, oder die Tafel eines Bahnhofs.
  • Drei Szenen-Auslöser: Zug verspätet, Zug nähert sich meinem Bahnhof, Zug angekommen.
  • Eine Szenen-Aktion, die einen Zug abfragt, mit einem fertigen Satz für Nachricht oder Lautsprecher.

Voraussetzungen​

  • Gladys Assistant 5.3.0 oder neuer.
  • Internetzugang vom Gladys-Rechner (die Integration ruft api.amtraker.com auf).
  • Eine Zugnummer, wie auf Fahrplänen und Tickets: 5 für den California Zephyr, v15 für den Ocean von VIA Rail (Präfix v), b5150 für einen Brightline-Zug (Präfix b).

Installation​

  1. Öffne in Gladys Integrationen → Von GitHub installieren.
  2. Füge https://github.com/guim31/gladys-amtrak ein und installiere.
  3. Öffne den Tab Konfiguration der Integration.

Konfiguration​

Einstellungen​

  • Sprache der Texte: Sprache der Funktionsnamen, der Zustände (Texte) und der Sätze für deine Szenen. Die Namen werden beim Anlegen des Geräts festgelegt.
  • Aktualisierungsintervall: 1 oder 2 Minuten (Standard 2). Eine Anfrage pro verfolgter Zugnummer, oder eine Anfrage für alle Züge, sobald ein Bahnhof verfolgt wird.

Einen Zug oder Bahnhof verfolgen​

  1. Optional: Bahnhof suchen mit einem Namen, einer Stadt oder einem Code listet die passenden Bahnhöfe mit ihrem Code auf (Chicago → Chicago Union [CHI]).
  2. Zug verfolgen: die Zugnummer und optional der Code deines Bahnhofs. Mit Bahnhof bekommt das Gerät auch die erwartete Ankunft dort und einen Countdown, und der Auslöser „Zug nähert sich meinem Bahnhof“ funktioniert. Der Bahnhof muss auf der Strecke des Zugs liegen.
  3. Bahnhof verfolgen: der Code eines Bahnhofs, für seine nächsten Züge.
  4. Öffne den Tab Entdecken und lege das Gerät an.

Ein Zug, der gerade nicht fährt, kann hinzugefügt werden: Amtraker listet einen Zug kurz vor der Abfahrt, und das Gerät füllt sich bei seiner nächsten Fahrt. Derselbe Zug mit einem anderen Bahnhof ergibt ein weiteres Gerät.

Nicht mehr verfolgen, Status prüfen​

Nicht mehr verfolgen nimmt den Namen aus Verfolgte Einträge anzeigen, die Zugnummer oder den Bahnhofscode. Das Gerät bleibt in Gladys, bis du es löschst. Verfolgte Einträge anzeigen listet Züge und Bahnhöfe, ihre Geräte, die letzte Abfrage bei Amtraker und den letzten Fehler.

Geräte​

Eine Zugnummer fährt an mehreren Tagen gleichzeitig: Ein Fernzug wie der California Zephyr (zweieinhalb Tage) ist mit drei Fahrten zugleich auf der Strecke. Das Gerät folgt der Fahrt, die deinen Bahnhof zuerst erreicht; ohne Bahnhof der jüngsten auf der Strecke, sonst der nächsten, die abfährt, sonst der zuletzt angekommenen.

FunktionTypBedeutung
VerspätungDauer, MinutenAm nächsten Halt (bei der Abfahrt, wenn der Zug dort steht)
StatusTextGeplant, unterwegs, im Bahnhof, angekommen, nicht unterwegs
Nächster HaltText„Galesburg · 16:14“, in der Zeitzone des Bahnhofs
Ankunft an meinem BahnhofText (mit Bahnhof)„Emeryville · 17:29 (+32)“ oder die tatsächliche Ankunft
Minuten bis zu meinem BahnhofDauer (mit Bahnhof)Countdown, 0 sobald der Zug da oder vorbei ist
Nächster Zug in (Bahnhof)Dauer, Minuten1440, wenn kein Zug angekündigt ist
Nächster Zug (Bahnhof)Text„5 California Zephyr → Emeryville · 14:00 (+5)“
Verspätung des nächsten Zugs (Bhf.)Dauer, MinutenAbfahrtsverspätung, am Endbahnhof Ankunftsverspätung

Ein verfrühter Zug zeigt eine Verspätung von 0. Die Zeiten sind die des Bahnhofs, wie im Fahrplan.

Dashboard-Widget​

Amtrak-Zug: Wähle einen verfolgten Zug oder Bahnhof. Ein Zug zeigt Status und Verspätung, seine Ankunft an deinem Bahnhof, dann seine nächsten Halte mit Zeiten (ausblendbar mit Nächste Halte anzeigen); grün pünktlich, orange ab 5 Minuten Verspätung, rot ab 30. Ein Bahnhof zeigt seine nächsten zehn Züge (→ Abfahrt, ← Ankunft am Endbahnhof). Die Bildunterschrift nennt die Datenquelle oder eine Amtrak-Meldung zum Zug; der Button Daten: Amtraker öffnet amtraker.com.

Szenen-Auslöser​

  • Zug verspätet: Ein verfolgter Zug hat mindestens die gewählte Verspätung (5 bis 120 Minuten); einmal pro Fahrt und Schwelle. Variablen: Zugnummer, Strecke, Verspätung, nächster Halt und seine Zeit.
  • Zug nähert sich meinem Bahnhof: Ein mit Bahnhof verfolgter Zug ist die gewählte Zahl an Minuten entfernt (5 bis 60); einmal pro Fahrt und Schwelle. Variablen: Zugnummer, Strecke, Bahnhof, Minuten, erwartete Ankunft, Verspätung.
  • Zug angekommen: Ein verfolgter Zug hat deinen Bahnhof erreicht (ohne Bahnhof seinen Endbahnhof). Variablen: Zugnummer, Strecke, Bahnhof, Ankunftszeit, Verspätung.

Bei der ersten Abfrage nach einem Start wird nichts ausgelöst: Was schon da ist, ist keine Neuigkeit. Eine Schwelle, die lange vor einer Abfrage überschritten wurde (Amtraker ausgefallen), wird nicht verspätet gemeldet.

Szenen-Aktionen​

Amtrak-Zug abfragen liefert für einen verfolgten Zug einen Satz („Zug 5 California Zephyr: 38 Min. Verspätung, nächster Halt Galesburg um 16:14. Ankunft in Emeryville um 17:29.“) und seine Werte: Nummer, Strecke, Status, Verspätung, nächster Halt und Zeit, Bahnhof, Minuten bis zum Bahnhof, Ankunftszeit. Bei einem verfolgten Bahnhof nennt der Satz die nächsten drei Züge, und die Werte beschreiben den nächsten.

Szenen-Beispiele​

  • Wenn Zug nähert sich meinem Bahnhof mit 20 Minuten auslöst, schick „Fahr jetzt los, Oma vom Bahnhof abholen“ an dein Handy.
  • Jeden Morgen um 7 Uhr Amtrak-Zug abfragen für deinen Pendlerzug und den Satz über einen Lautsprecher sagen.
  • Wenn Zug verspätet mit 30 Minuten auslöst, verschieb die Erinnerung ans Abendessen.

Daten, Aktualisierung und Kontingente​

Amtraker ist ein freier Dienst, den eine einzelne Person betreibt, ohne veröffentlichtes Kontingent: Die Integration fragt ihn höchstens einmal pro Minute ab, nur für angelegte Geräte, mit einer kleinen Anfrage pro Zugnummer (oder einer Anfrage von etwa 110 kB für alle Züge, wenn ein Bahnhof verfolgt wird), und gibt sich zu erkennen. Amtrak aktualisiert einen Zug alle paar Minuten: Schneller abzufragen brächte nichts. Die Bahnhofsliste von Bahnhof suchen wird höchstens einmal am Tag gelesen. Nur /data/watch.json wird geschrieben: die verfolgten Züge und Bahnhöfe. Wenn Amtraker nicht antwortet, zeigt der Status der Integration das an, und die Geräte behalten ihre letzten Werte.

Die Daten von Amtraker stehen unter der Lizenz ODC-By 1.0: Widget, Aktionen und diese Seite nennen sie.

Fehlerbehebung​

  • „Nicht unterwegs“: Amtraker listet den Zug gerade nicht (erst kurz vor der Abfahrt). Prüf die Nummer auf amtraker.com.
  • „ist kein Bahnhofscode“: Nutze Bahnhof suchen; Codes haben 2 bis 6 Zeichen (CHI, NYP).
  • „hält nicht in“: Der Bahnhof liegt nicht auf der Strecke dieses Zugs; die Meldung listet seine Halte.
  • Die Integration wird als offline angezeigt: Amtraker ist nicht erreichbar; das erledigt sich von selbst.
  • Protokolle: Die Integration protokolliert nur ihren Lebenszyklus; LOG_LEVEL=debug für jede Abfrage.

Grenzen​

  • Entwickelt, ohne mit diesen Zügen zu fahren: Rückmeldungen willkommen. Getestet gegen die echte Amtraker-API (Nachtzug, kurzer Zug, VIA Rail, Bahnhofstafel).
  • Amtraker veröffentlicht keine Zugausfälle: Ein ausgefallener Zug verschwindet einfach („Nicht unterwegs“).
  • Inoffizielle Daten, weitergegeben von der öffentlichen Karte von Amtrak: Diese Daten können verzögert sein oder eine Weile fehlen.
  • Höchstens 10 Einträge. Die Funktionsnamen werden beim Anlegen des Geräts festgelegt.

Danksagung​

  • Daten: Amtraker von piemadd (piemadd/amtrak), ODC-By 1.0, nach der „Track Your Train“-Karte von Amtrak, VIA Rail und Brightline.
  • Amtrak, VIA Rail und Brightline sind Marken ihrer Inhaber. Diese Integration ist nicht mit ihnen verbunden.

Konfigurationseinstellungen​

Diese Einstellungen fragt Amtrak in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
So funktioniert essectionNeinVerfolge einen Zug über seine Nummer (und deinen Bahnhof) oder einen Bahnhof mit den Aktionen unten und lege dann sein Gerät im Tab „Entdecken“ an. Daten von Amtraker (amtraker.com), einer freien Community-API: inoffiziell, nicht mit Amtrak verbunden.
Sprache der TexteselectNeinSprache der Funktionsnamen, der Zustände und der Sätze für deine Szenen. Die Namen werden beim Anlegen des Geräts festgelegt.
AktualisierungsintervallselectNeinWie oft Amtraker für deine angelegten Geräte gelesen wird. Amtraker ist ein freier Dienst: bleib maßvoll.

So installierst du Amtrak in Gladys​

  1. Öffne in Gladys Integrationen: Amtrak erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-amtrak:1.0.0) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-amtrak.

Amtrak benötigt Gladys >=5.3.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Amtrak ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂