Neues FTUI Widget - Departure

Begonnen von setstate, 27 Januar 2016, 15:51:08

Vorheriges Thema - Nächstes Thema

uniqueck

Zitat von: sbiermann am 03 Oktober 2017, 08:22:57
Sind insgesamt so 5-7 Leute die eine Filterung wollen, wenn ich mich richtig entsinne. Kann man also mal machen. Nach mehreren Endpunkten wird aber wohl nicht möglich sein. Es geht im Prinzip alles das was in der Android App Öffi bzw. Transportr auch möglich ist. Beide Apps nutzen das gleiche Framework wie die REST-Schnittstelle für das Abfragen der Daten von den Providern. Ich schaue mal wann ich die Erweiterung in meinen Zeitplan untergeschoben bekomme, sollte relativ einfach sein.

Die alte Schnittstelle ist planmäßig zum 1.10 abgeschaltet worden. Man sieht es deutlich an den Zugriffsstatistiken. Die sind von 160 Zugriff pro 15 Minuten auf 30-60 abgestürzt. Wundert mich aber das hier noch keiner gefragt hat warum es nicht mehr geht...

würde ich dann auch wieder in das modul integrieren.
Hast du meine Änderungen wieder rausgeschmissen, oder existiert die v2 des enpunkts noch?

gruß constantin

viegener

Zitat von: sbiermann am 03 Oktober 2017, 08:22:57
Die alte Schnittstelle ist planmäßig zum 1.10 abgeschaltet worden. Man sieht es deutlich an den Zugriffsstatistiken. Die sind von 160 Zugriff pro 15 Minuten auf 30-60 abgestürzt. Wundert mich aber das hier noch keiner gefragt hat warum es nicht mehr geht...

Die stehen vermutlich alle noch an der Haltestelle und warten auf die Züge, die von vorgestern da noch stehen
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

sbiermann

Die v2 der Schnittstelle existiert noch, ich habe sie allerdings nicht getestet, daher weiß ich nicht ob sie funktioniert.

Ulm32b

Ich möchte ja hier nicht den Spielverderber abgeben, aber folgendes zu bedenken geben:

Nehmen wir mal an, dass jemand in Köln regelmäßig mit der U-Bahn vom Heumarkt nach Messe Deutz fährt. Dann kann er die Linien 1 (Endpunkt Brück, Refrath oder Bensberg) oder 9 (Endpunkt Deutz oder Königsforst) benutzen. Eine Filterung nach nur einem Endpunkt ist hier nicht sinnvoll. Das ist keineswegs ein Einzelfall: Verkürzte Linien an Abend finden sich in vielen Netzplänen. Hinzu kommen ggf. auch Nachtbuslinien. Eine weitere Komplikation sind (z.B. bei Bauarbeiten) temporäre alternative Endpunkte. Von Zeit zu Zeit wird man deshalb einen Filter anpassen müssen.

Sehen wir es positiv: Großartig ist die bereits gelöste robuste Bereitstellung aktueller Abfahrtszeiten einer Haltestelle. Cool fände ich, wenn man nach mehreren Zielpunkten (positiv und negativ) filtern könnte; und wenn man schon dabei ist, vielleicht auch nach Linien. Damit dürfte die Mehrzahl realer Konstellationen abgedeckt sein. Die Filterung sollte erst am Frontend erfolgen und nutzerfreundlich transparent gestaltet sein. Hier bietet sich das FTUI-Widget Departure an. Wenn ich js könnte ...

Mein Vorschlag lautet, dass zunächst die Anforderungen betrachtet werden, bevor Hand an den Code gelegt wird.

Beste Grüße
Ulm32b

sbiermann

In dem Framework welches genutzt wird gibt es nur die Möglichkeit einen Endpunkt anzugeben bei einer Verbindungsabfrage. Hier liegt aber glaube ich eher ein sprachliches Missverständnis vor. Endpunkt im Sinne von Öffi/Transportr bzw. dieser REST-Schnittstelle bedeutet nicht Endhaltestelle sondern die Zielhaltestelle. Sprich in dem Beispiel vom Heumarkt nach Messe Deutz ist der Endpunkt Messe Deutz und nicht die Endhaltestellen der einzelnen Linien 1 oder 9.

Ulm32b

o.k.
Gut, dass wir darüber geredet haben.  ;D
Es werden also alle Relationen zwischen Anfangs- und Endpunkt geliefert. Damit erledigen sich meine Bedenken.  :)

Gleichzeitig kommen neue Gedanken auf: Werden dann auch Relationen mit Umstiegen ausgewiesen? Kannst Du bitte mal ein Beispiel für den gelieferten Datensatz aufzeigen? Ggf. wäre dann über ein passendes Frontend in FTUI nachzudenken.

Beste Grüße
Ulm32b

sbiermann

Umgesetzt ist das die direkten Verbindungen zwischen den beiden Haltestellen genommen werden.
Mal ein Bespiel aus Freiburg: Hauptbahnhof zum Friedrich Ebert Platz: https://transport.stefan-biermann.de/publictransportapi/rest/connection?from=6906508&to=6930811&product=T
Als Ergebnis kommt ein JSON welches nicht für das Departure Modul nutzbar ist. Meine Änderung ist nun das ich die Antwort so anpasse das es nur noch die Abfahrtzeiten für diese Verbindung anzeigt im passenden Format für das Departure Modul. Ist wie schon geschrieben eher eine kleine Anpassung.

Standarduser

Ich glaube, Ulm32b ist etwas auf dem Holzweg. Was du willst ist eigentlich Aufgabe einer Automation.
Diese Funktion einen Frontend zu überlassen wird immer unflexibel sein.
Ich denke, dass ein Redesign des Widgets das beste wäre. Holt doch einfach die Daten mit FHEM, berechnet sie, wie ihr sie benötigt und nutzt das Widget nur zur Anzeige

zobi

#173
Hi,
das Modul und Widget funktioniert super. Danke.

Ich wollte gerade das from to ausprobieren...Ich erhalte aber folgende Rückmeldung: EFA error status: UNKNOWN_FROM

Ich benutze den Provider Bahn, funktioniert dieser nicht mit dem from to?
Welche Provider können das denn?

Ist es eigentlich auch möglich die Abfahrtszeit und die Minuten bis zur Abfahrt gleichzeitig anzuzeigen?

Viele Grüße
zobi

sbiermann

Hmm, also in meinen Tests hat es funktioniert, siehe URL weiter oben. Wie sieht denn die URL aus? Möglicherweise ist die StationId falsch.

erotikbaer

hi,
habe soeben festgestellt, dass die statis von devices nicht aktualisiert werden, wenn ich ein departure widget auf der seite habe.
ist auch reproduzierbar:
-departure widget aktiv
-in fhem eine lampe schalten
status in ftui wird nicht aktualisiert. schalten kann ich aus ftui noch.
deaktiviere ich das widget, funktioniert alles wunderbar.

hat jemand eine idee?

gruß christian

Fritz Muster

Habe das gleiche bei mir, aber leider keine Idee. In der Webkonsole steht auch nichts was mich weiterbringt (keineFehler)

Und hier haben die User viegener und ToM_ToM das gleiche Problem.

Grüße Fritz
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

viegener

OK, ich habe das mal eingrenzen können, es liegt wohl daran, dass beim Initialisieren ein Aufruf von requestUpdate erfolgt, der wiederum setFhemStatus aufruft. Dabei wird irgendwie der shortpoll beeinflusst (verzögert).

Wenn man diesen Aufruf durch sendFhemCommand ersetzt geht es bei mir wieder. Also

Zeile 28 in widget_departure.js statt

ftui.setFhemStatus(cmdl);


ändern in:

        ftui.sendFhemCommand(cmdl);


Neuladen geht zumindest bei mir, macht aber wieder klar, dass in FTUI etwas gebraucht wird um sicherzustellen, dass widgets nicht grundlegende Elemente des updates aus dem Tritt bringen können. Ich vermute neben initwidgetsdone wird noch mehr Mechanismus gebraucht um sicherzustellen, dass zumindest am Anfang alle Daten abgerufen werden (denn das scheint heir das Problem zu sein).

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

australien

habe mir  nach einigem Einlesen auch das Widget drauf gemacht, schaut echt super aus! Danke!!!!

allerdings zeigt es bei mir unter den "Tafeln" die "class" an? wie bringe ich dieses weg?
raspberry pi3
signalduino, Shelly1, Shelly2, Sonos, Unifi
Amazon Fire Tablet 7 | Noname Android Tablet 10"

viegener

Zitat von: australien am 06 Oktober 2017, 13:07:24
habe mir  nach einigem Einlesen auch das Widget drauf gemacht, schaut echt super aus! Danke!!!!

allerdings zeigt es bei mir unter den "Tafeln" die "class" an? wie bringe ich dieses weg?


Poste doch mal Deinen Code, ich wüsste nicht, dass bei mir ein text darunter angezeigt wird
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können