Aktuelle Test Version | 0.1.12 |
---|---|
Veröffentlichungsdatum | 29.08.2020 |
Github Link | https://github.com/gaudes/ioBroker.fahrplan |
Adapter ioBroker.Fahrplan 0.1.12
Hallo zusammen,
nachdem ich bisher ein Javascript hatte, welches die mobile Webseite der Deutschen Bahn nach meinem täglichen Zug abfrägt, habe ich nun meinen ersten Adapter gebaut.
Hierzu verwende ich den HAFAS-Client. Dieser frägt das unter anderem von der Deutschen Bahn verwendete Programm HAFAS ab.
Der Adapter beherrscht aktuell Deutsche Bahn und ÖBB.
Der Adapter ist aktuell recht einfach. Man definiert in den Einstellungen die gewünschten Routen mit Optionen. Als Optionen kann man z.B. Zwischenhalte, Anzahl Umstiege, Verkehrsmittel (S-Bahn, Regio, etc.) angeben. Start, Ziel und eventuell Zwischenhalte müssen mit Ihrer e-Bahnhofs-ID angegeben werden. Der Adapter bietet hierfür in den Einstellungen eine Suche.
Als Ergebnis werden Objekte angelegt. Pro Route (erste Ebene) gibt es einen Kanal, darunter dann jeweils drei "Reisen" (zweite Ebene), also Fahrten. Darunter gibt es dann die jeweiligen Reiseabschnitte (dritte Ebene). Zusätzlich gibt es Informationen zu den Start- und Zielbahnhöfen sowie zur jeweiligen Linie.
Hier mal ein Beispiel:
Ihr wollt von A nach C. Das ist die Route. Hierfür werden in HAFAS die nächsten drei Fahrten gesucht, z.B. 12:00 Uhr, 13:00 Uhr und 14:00 Uhr. Das sind die Reisen.
Um 12:00 Uhr müsst Ihr von A nach B mit Linie S1 fahren, dann von B nach C mit Linie RB45. Das sind die Reiseabschnitte.
Es werden diverse Objekte zur jeweiligen Fahrt erzeugt:
Neben den Objekten wird optional eine HTML-Tabelle pro Route erzeugt, in dieser Tabelle werden z.B. Verspätungen farblich markiert. Das Inhalt der Tabelle ist konfigurierbar.
Zusätzlich gibt es optional eine HTML-Tabelle pro Reise mit allen Reiseabschnitten.
Außerdem gibt es nun einen Verspätungsalarm. Zu den eingestellten Routen lassen sich nun Verspätungsalarme für eine geplante Abfahrtszeit oder für alle Verbindungen einstellen.
ALPHA-RELEASE
Es ist das erste Release, quasi eine Alpha-Version. Hafas und die Auskünfte der Bahn sind sehr komplex. Ich kann daher nicht 100%ig sagen, dass ich alle Möglichkeiten (Verspätungen, Zugausfall, etc.) korrekt identifiziere. Daher bin ich hier auf Rückmeldungen angewiesen. Vergleicht bitte das Ergebnis des Adapters z.B. mit der Webseite der Deutschen Bahn. Natürlich kann ich auch nur Informationen anzeigen, die HAFAS auch rausgibt. Wenn eine Information also in den Rückgaben von HAFAS, welche in den JSON-Objekten gespeichert werden, nicht enthalten sind kann ich leider auch nicht viel tun.
Was tun bei Fehlern oder Problemen?
Bei Fehlern sollte zuerst das Log in ioBroker geprüft werden. Ich habe versucht, möglichst treffende Fehlermeldungen inklusive Route, Reise oder Reiseabschnitt mitzugeben.
Bitte lasst die Option "JSON-Elemente speichern" aktiviert. Bei einem Fehler bei einer bestimmten Route, Reise oder Reiseabschnitt sendet bitte immer die aktuellen JSON-Objektinhalte mit.
Dies ist notwendig, da der Fehler wirklich nur für eine bestimmte Reise zu einem bestimmten Zeitpunkt auftreten kann. Sonst kann ich Fehler oft nicht nachvollziehen.
Weiteres
Es ist, wie gesagt, die erste Version meines ersten Adapters. Seit also bitte etwas nachsichtig mit mir, wenn nicht alles auf Anhieb klappt.
Konstruktive Verbesserungsvorschläge nehme ich gerne entgegen, z.B. welche Werte eine erweiterte HTML-Tabelle enthalten sollte.
Zuletzt geht mein Dank noch an ein paar Unterstützer hier im Forum und im Teamspeak: @Dutchman , @J-A-R-V-I-S und @Jey-Cee haben mich hier auf die richtige Spur gebracht.
So, und nun viel Spass beim Testen.