FTUI Widget Departure: Unterschied zwischen den Versionen
Ulm32b (Diskussion | Beiträge) (Erste Version) |
Ulm32b (Diskussion | Beiträge) (Link auf FHEM comand ref entfernt, da offenbar nicht mehr gültig. Typo.) |
||
Zeile 26: | Zeile 26: | ||
Relevant ist die Bezeichnung hinter „name“, z.B. „Ding“. „Ding“ steht für „Donau-Iller-Nahverkehrsverbund“. Weil auch ländliche Gebiete meist in Verkehrsverbünde eingegliedert sind, besteht eine realistische Chance, einen Provider für den eigenen Standort zu finden. In größeren Städten kann oft auch der Provider „Bahn“ genutzt werden. Der Wert „aClass“ ist hier nicht von Belang. | Relevant ist die Bezeichnung hinter „name“, z.B. „Ding“. „Ding“ steht für „Donau-Iller-Nahverkehrsverbund“. Weil auch ländliche Gebiete meist in Verkehrsverbünde eingegliedert sind, besteht eine realistische Chance, einen Provider für den eigenen Standort zu finden. In größeren Städten kann oft auch der Provider „Bahn“ genutzt werden. Der Wert „aClass“ ist hier nicht von Belang. | ||
Anschließend ist die StationId für die gewünschte Haltestelle zu ermitteln | Anschließend ist die StationId für die gewünschte Haltestelle zu ermitteln, in diesem Beispiel die Haltestelle ''Sonnenfeld''. Hierzu dient folgende Abfrage: | ||
<source lang="html"> | <source lang="html"> | ||
http://transportrest-sbiermann.rhcloud.com/station/suggest?q=Sonnenfeld&provider=Ding | http://transportrest-sbiermann.rhcloud.com/station/suggest?q=Sonnenfeld&provider=Ding | ||
Zeile 109: | Zeile 109: | ||
==Links== | ==Links== | ||
FHEM Wiki [[Departure]] | FHEM Wiki [[Departure]] | ||
[[Kategorie:FHEM Tablet UI]] | [[Kategorie:FHEM Tablet UI]] |
Version vom 18. Februar 2017, 16:35 Uhr
Das Widget Departure ist ein Widget für FHEM Tablet UI zur Anzeige der Abfahrtszeiten von Bahn, Bus, Zug und Fähre. Der Entwickler orientierte sich beim Design an den Dresdner Verkehrsbetrieben bzw. am Verkehrsverbund Oberelbe.
Datenquelle
Die Daten stammen in FHEM aus einer HTTPMOD-Abfrage, hier dargestellt an einem Beispiel aus Dresden:
define VVO HTTPMOD none 0
attr VVO get02Name Postplatz
attr VVO get02URL http://widgets.vvo-online.de/abfahrtsmonitor/Abfahrten.do?ort=Dresden&hst=Postplatz&vz=0&lim=10
attr VVO getRegex (\[\[.*\]\]).*
attr VVO timeout 30
Auch die Daten anderer Verkehrsträger können genutzt werden. Entweder greift man hierzu direkt auf die Schnittstelle des Verkehrsträgers zu, was idR eine spezifische RegEx (Regulärer_Ausdruck) bedingt. Oder man wählt folgenden allgemeineren Weg, welcher auf den Daten der App Öffi basiert: Zunächst ist der Provider für die Daten zu ermitteln. Die Liste der verfügbaren Provider erhält man mittels
http://transportrest-sbiermann.rhcloud.com/provider
Die Antwort lautet:
[{"name":"Bahn","aClass":"BahnProvider"},{"name":"Gvh","aClass":"GvhProvider"},{"name":"Vgn","aClass":"VgnProvider"},{"name":"Kvv","aClass":"KvvProvider"},{"name":"Vbl","aClass":"VblProvider"},{"name":"Dub","aClass":"DubProvider"},{"name":"Vms","aClass":"VmsProvider"},{"name":"Bsvag","aClass":"BsvagProvider"}, [...]
Relevant ist die Bezeichnung hinter „name“, z.B. „Ding“. „Ding“ steht für „Donau-Iller-Nahverkehrsverbund“. Weil auch ländliche Gebiete meist in Verkehrsverbünde eingegliedert sind, besteht eine realistische Chance, einen Provider für den eigenen Standort zu finden. In größeren Städten kann oft auch der Provider „Bahn“ genutzt werden. Der Wert „aClass“ ist hier nicht von Belang.
Anschließend ist die StationId für die gewünschte Haltestelle zu ermitteln, in diesem Beispiel die Haltestelle Sonnenfeld. Hierzu dient folgende Abfrage:
http://transportrest-sbiermann.rhcloud.com/station/suggest?q=Sonnenfeld&provider=Ding
Als Antwort erhält man folgende „Treffer“: Sonnenfeld, Sonnengasse, Sonnengrube, Sonnenhalde mit ihren jeweiligen StationIDs. Die StationId für Sonnenfeld lautet "9001258".
Testweise können damit die aktuellen Abfahrten abgerufen werden:
http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=9001258&provider=Ding
Die Einbindung in FHEM erfolgt wie nachfolgend beschrieben:
define Departure_Sonnenfeld HTTPMOD none 0
attr Departure_Sonnenfeld get01Name Sonnenfeld
attr Departure_Sonnenfeld get01URL http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=9001258&provider=Ding
attr Departure_Sonnenfeld get01Regex (\[\[.*\]\]).*
attr Departure_Sonnenfeld timeout 30
Es können mehrere Haltestellen in einem Device hinterlegt werden; hierzu einfach die drei Attribute get01Name, get01URL und get01Regex duplizieren und durchnummerieren. Dabei müssen natürlich Name und URL angepasst werden.
HTML
<div data-type="departure"
data-device="Departure_Sonnenfeld"
data-get="Sonnenfeld"
data-icon="fa-bus"
data-interval="60">
</div>
Attribute
Attribut | Beschreibung | Standard-Wert | Beispiel |
---|---|---|---|
data-device | Name des FHEM-Devices | ||
data-get | Name des Readings, welches die Daten bereitstellt | ||
data-cmd | Befehl, der an FHEM gesendet wird | 'get' | |
data-background-color | Hintergrundfarbe | '#C0C0C0' | |
data-icon | Icon für die Kopfzeile | (Symbol Haltestelle) | data-icon="fa-train", data-icon="fa-bus" |
data-icon-color | Farbe des Icons in der Kopfzeile | '#aa6900' | |
data-width | Feste Breite (in % or px) | '200px' | |
data-height | Feste Höhe (in % or px) | '250px' | |
data-interval | Zeitintervall für den refresh in s, bei '0' kein auto refresh; zusätzlich wird beim Laden der Seite und in Pagebutton beim Wechsel auf die Seite ein refresh ausgelöst | '120' | |
data-refresh | wie data-interval |
CSS-Klassen
Klasse | Beschreibung |
---|---|
DB | Design Bahn AG |
DVB | Design Dresdner Verkehrsbetriebe; data-icon sollte leer sein |
VVO | VVO Design Verkehrsverbund Oberelbe; data-icon sollte leer sein |
alternate | abwechselnd schattierte Zeilen |
deptime | angezeigt wird die Abfahrtszeit anstelle der verbleibenden Zeit bis zur Abfahrt |
Hinweise
Provider ändern bisweilen ihre Schnittstellendefinitionen. In diesem Fall sind Anpassungen im Informationsfluss vorzunehmen. Das Forum ist eine geeignete Plattform zur Klärung des Sachverhaltes.
Links
FHEM Wiki Departure