Zum Hauptinhalt springen

Entur Smart-Home-Integration, kostenlos und Open Source

Entur-Integration für Gladys Assistant

Nächste Abfahrten in Norwegen (Zug, U-Bahn, Tram, Bus, Fähre), Verspätungen, Ausfälle, Störungen.

Die nächsten Abfahrten deiner Haltestellen in Norwegen in Gladys: Züge, U-Bahn, Trams, Busse, Fernbusse und Fähren, mit Verspätungen, Ausfällen und Verkehrsmeldungen, in Echtzeit.

Die Daten stammen von Entur, dem nationalen Register aller norwegischen Verkehrsunternehmen (Vy, Ruter, Skyss, AtB, Kolumbus…), über seine offenen APIs: kein Konto, kein Schlüssel. Diese Integration ist nicht mit Entur verbunden.

Was du bekommst​

  • Ein Gerät pro verfolgter Haltestelle (auf Wunsch nach Linien, Richtung oder Verkehrsmittel gefiltert): nächste und übernächste Abfahrt (Minuten), Verspätung der nächsten Abfahrt (Minuten), ihre Linie und ihr Ziel (Text) und ob eine Verkehrsmeldung ihre Abfahrten betrifft (ja/nein).
  • Ein Dashboard-Widget mit den nächsten Abfahrten einer Haltestelle: Uhrzeit, Minuten, Verspätung, Ausfälle in Rot, Verkehrsmeldungen oben.
  • Vier Szenen-Auslöser: Zeit zu gehen, Abfahrt verspätet, Abfahrt fällt aus, neue Störung.
  • Eine Szenen-Aktion, die die nächsten Abfahrten einer Haltestelle liest, mit einem fertigen Satz für eine Nachricht oder einen Lautsprecher.

Voraussetzungen​

  • Gladys Assistant 5.1.0 oder neuer.
  • Internetzugang vom Gladys-Rechner (die Integration ruft api.entur.io auf).
  • Eine Haltestelle in Norwegen. Entur deckt das ganze Land ab, nicht die anderen nordischen Länder.

Installation​

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

Konfiguration​

Einstellungen​

  • Sprache der Texte: Sprache der Funktionsnamen (beim Anlegen des Geräts festgelegt), der Szenen-Sätze und der Verkehrsmeldungen, wenn Entur sie in dieser Sprache veröffentlicht. Entur schreibt seine Meldungen auf Norwegisch und oft auf Englisch: Eine Meldung ohne die gewählte Sprache erscheint auf Englisch, sonst auf Norwegisch. Norwegisch wird nicht als Oberflächensprache angeboten.
  • Aktualisierungsintervall: 30 Sekunden, 1 Minute (Standard) oder 2 Minuten. Alle angelegten Geräte werden in einer einzigen Anfrage gelesen.

Eine Haltestelle hinzufügen​

  1. Haltestelle suchen: Gib einen Namen ein (Jernbanetorget, Bergen busstasjon…). Die Antwort listet die gefundenen Haltestellen mit ihrer Kennung auf, z. B. NSR:StopPlace:58366.
  2. Haltestelle hinzufügen: Füge die Kennung ein (oder nur die Nummer, oder den genauen Namen, wenn er eindeutig ist). Optionale Filter:
    • Linien: L1, R13 behält nur diese Linien (wie auf dem Fahrzeug geschrieben).
    • Richtung: Ski behält nur Abfahrten, deren Ziel diesen Text enthält (Akzente und Groß- und Kleinschreibung egal, lillestrom findet Lillestrøm).
    • Verkehrsmittel: Zug, U-Bahn, Tram, Bus, Fernbus oder Fähre, für große Knoten.
  3. Öffne den Tab Entdecken und füge das Gerät zu Gladys hinzu.

Dieselbe Haltestelle mit anderen Filtern ergibt ein weiteres Gerät: Füge Oslo S Richtung Ski und Oslo S Richtung Drammen hinzu, um beide Richtungen zu verfolgen. Bis zu 20 Haltestellen sind möglich.

Eine Haltestelle entfernen, den Zustand prüfen​

  • Haltestelle entfernen: Gib ihren Namen wie im Zustand angezeigt (Oslo S (L1)) oder ihre Kennung ein. Das Gerät bleibt in Gladys, bis du es löschst.
  • Verfolgte anzeigen: die Haltestellen, ob ihr Gerät existiert, der letzte Abruf bei Entur und der letzte Fehler.

Geräte​

FunktionTypInhalt
Nächste AbfahrtDauer (Min.)Minuten bis zur nächsten stattfindenden Abfahrt (0 = fährt ab)
Übernächste AbfahrtDauer (Min.)Minuten bis zur darauf folgenden
VerspätungDauer (Min.)Verspätung der nächsten Abfahrt (0, wenn pünktlich oder früher)
Linie und ZielTextL1 → Spikkestad
Störungbinär (ja/nein)eine Verkehrsmeldung betrifft die Abfahrten des Geräts

Ausfallende Abfahrten werden von den Countdowns übersprungen. Ohne Abfahrt in den nächsten 24 Stunden zeigen die Countdowns 1440 Minuten. Nur die von den Filtern behaltenen Abfahrten zählen.

Dashboard-Widget​

Nächste Abfahrten: Wähle eine Haltestelle. Das Widget zeigt ihre nächsten acht Abfahrten (Linie, Ziel, erwartete Zeit, Minuten, Verspätung): grün, wenn das Fahrzeug in Echtzeit verfolgt wird, orange ab zwei Minuten Verspätung, rot bei Ausfall, grau für eine reine Fahrplanzeit. Die Beschriftung zeigt die Verkehrsmeldungen der Haltestelle.

Szenen-Auslöser​

Jeder Auslöser lässt sich auf eine Haltestelle und eine Linie beschränken (wie auf dem Fahrzeug, in Großbuchstaben).

  • Zeit zu gehen: Eine Abfahrt fährt in der gewählten Zahl Minuten (1 bis 20). Einmal pro Abfahrt, wenn ihr Countdown die Zahl erreicht. Eine Abfahrt, die zum ersten Mal schon im Fenster auftaucht, löst nicht aus.
  • Abfahrt verspätet: Eine Abfahrt hat mindestens die gewählte Verspätung (1 bis 60 Minuten). Einmal pro Abfahrt und Schwelle.
  • Abfahrt fällt aus: Eine Abfahrt fällt aus. Einmal pro Abfahrt.
  • Neue Störung: Eine neue Verkehrsmeldung betrifft die Abfahrten einer Haltestelle. Einmal pro Meldung.

An die Szene übergebene Variablen: Haltestelle, Linie, Verkehrsmittel, Ziel, Gleis/Steig, geplante und erwartete Zeit, Minuten, Verspätung; bei einer Störung ihre Zusammenfassung und Details. Was beim Start der Integration schon da ist, wird nicht gemeldet; bereits gemeldete Ausfälle und Meldungen werden nach einem Neustart nicht erneut gemeldet.

Szenen-Aktionen​

Nächste Entur-Abfahrten lesen: Wähle eine Haltestelle, optional eine Linie. Ausgaben: ein Satz (Zug L1 nach Spikkestad ab Oslo S: in 3 und 18 Min.), Haltestelle, Linie, Ziel, Wartezeit, Minuten bis zur übernächsten, Verspätung, erwartete Zeit, Gleis/Steig, Echtzeit (1/0), Störung (1/0). Der Satz folgt der Sprache der Konfiguration.

Szenen-Beispiele​

  • Zum Zug aufbrechen: Auslöser „Zeit zu gehen“, Haltestelle Oslo S (L1), 7 Min. → sende „Dein L1 fährt in {{minutes}} Min. von Gleis {{platform}}“ und lass das Flurlicht blinken.
  • Morgen-Info: werktags um 7:00 Aktion „Nächste Entur-Abfahrten lesen“ → ihren Satz auf dem Küchenlautsprecher ausgeben.
  • Vor einem ausfallenden Bus warnen: Auslöser „Abfahrt fällt aus“, Haltestelle Jernbanetorget (31) → eine Nachricht mit Ziel und geplanter Zeit senden.

Daten, Aktualisierung und Kontingente​

Die APIs von Entur sind kostenlos und offen (NLOD-Lizenz). Entur bittet jeden Client, sich auszuweisen: Die Integration sendet den Header ET-Client-Name: guim31-gladys und liest alle deine Haltestellen in einer einzigen Anfrage, höchstens alle 30 Sekunden und nur für die in Gladys angelegten Geräte. Die Daten sind die Echtzeit der Verkehrsunternehmen, wenn sie sie veröffentlichen, sonst ihr Fahrplan.

Fehlerbehebung​

  • Kein Gerät in „Entdecken“: Füge die Haltestelle zuerst mit „Haltestelle hinzufügen“ hinzu.
  • „Entur ist nicht erreichbar“: Der Gladys-Rechner hat keinen Internetzugang, oder Entur ist gestört. Die Integration versucht es bei jeder Aktualisierung erneut und meldet die Rückkehr.
  • Ein Linienfilter wird abgelehnt: Die Antwort listet die Linien der Haltestelle auf; gib die Linie so ein, wie sie dort steht.
  • Ein Auslöser löst nicht aus: Prüfe die Linie (genau, in Großbuchstaben) und ob das Gerät in Gladys existiert: Nur angelegte Geräte werden gelesen.

Grenzen​

  • Entwickelt, ohne in Norwegen zu leben, gegen die echte Entur-API: Rückmeldungen sind willkommen.
  • Die Funktionsnamen werden beim Anlegen des Geräts festgelegt.
  • Verkehrsmeldungen sind auf Norwegisch und oft auf Englisch, nie übersetzt.
  • Abfahrten werden für die nächsten 24 Stunden gelesen: die nächsten 40 der gewählten Linien und Verkehrsmittel (von Entur gefiltert), 100 mit Richtungsfilter. An einem großen Knoten ohne Filter decken 40 Abfahrten oft nur eine halbe Stunde ab.

Danksagung​

Daten: Entur, NLOD-Lizenz. Inspiriert von der Home-Assistant- Integration entur_public_transport (Apache 2.0) und den Integrationen gladys-tisseo und gladys-gtfs.

Konfigurationseinstellungen​

Diese Einstellungen fragt Entur in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
So funktioniert essectionNeinSuche deine Haltestellen mit den Aktionen unten, füge sie hinzu (optional mit Filter nach Linie, Richtung oder Verkehrsmittel) und lege dann ihre Geräte im Tab „Entdecken“ an. Alles stammt aus den Open Data von Entur: kein Konto, kein Schlüssel.
Sprache der TexteselectNeinSprache der Funktionsnamen, der Sätze für deine Szenen und der Verkehrsmeldungen, wenn Entur sie so hat (sonst Englisch, sonst Norwegisch). Die Namen werden beim Anlegen des Geräts festgelegt.
AktualisierungsintervallselectNeinWie oft die Abfahrten deiner angelegten Geräte gelesen werden: eine Anfrage für alle.

So installierst du Entur in Gladys​

  1. Öffne in Gladys Integrationen: Entur 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-entur: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-entur.

Entur benötigt Gladys >=5.1.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​

Entur 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 🙂