Neues FTUI Widget - Departure

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

Vorheriges Thema - Nächstes Thema

sinus61

Scheinbar nicht. Wenn der eigene Anbieter nicht dabei ist oder nicht funktioniert hilft es aber oft einfach Bahn als Provider einzutragen.

Ulm32b

Nach meinen Feststellungen erfolgt die selbständige Aktualisierung (data-interval=x) des Departure-Widgets nur, wenn das Widget sichtbar ist. Wenn ich es auf einer Pagebutton-Seite plaziere und diese Seite nicht angezeigt wird, unterbleibt diese Aktualisierung. Nach dem Aufruf der Seite wird dann, je nach eingestelltem data-interval, die Anzeige aktualisiert.

Das ist etwas unpraktisch, denn ein typisches Anwendungsszenario ist doch, dass man bei Bedarf auf der Unterseite nachschaut. Im Ist-Zustand müsste man dann etwas abwarten oder manuell die Aktualisierung auslösen. Das könnte Falschinterpretationen nach sich ziehen, insbesondere wenn die Restzeit bis zur Abfahrt und nicht die absolute Abfahrtszeit ausgegeben wird. Es wird zwar unten die Uhrzeit der letzten Aktualisierung angezeigt, aber narrensicher ist das nicht.

Eigentlich wundert mich, dass die Pagebuttonseite nicht im Hintergrund aktualisiert wird, denn bei anderen Widgets (z.B. Labels) funktioniert das.

setstate

Das habe ich extra so eingebaut, damit nicht 99,9% der Zeit die Server des Providers angefragt werden, obwohl niemand die Info braucht.

Wenn du Refresh im Hintergrund wieder aktivieren willst, musst du class="hiddenrefresh" angeben.

Ulm32b

Guter Punkt, den wahrscheinlich noch viel zu Wenige im Blick haben.

Besser als hiddenrefresh wäre vielleicht, beim Aufruf/Einblenden der Seite einmalig den Refresh auszulösen. Siehst Du eine Möglichkeit, das einzubauen?

unimatrix

Zitat von: beni.s am 14 November 2016, 23:00:42
Vielleicht möchte es ja jemand nutzen. Danke auch an setstate und sbiermann - tolle Arbeit.

Das hat mir sehr geholfen, u.a. dabei, HTTPMOD und das Widget zu verstehen.
Warum sind bei der FHEM Version der Abfrage eig. keine Verspätungsangaben mehr drin? Habe schon überlegt, mir einfach eine Funktion in myUtils zu schreiben um die aus der "normalen" Abfrage per "/departuer?..." herauszuholen und dann in das Reading einzubauen.

Sehe ich das richtig, dass das Framework von sbiermann nicht die Abfrage nach einer Verbindung unterstützt, die keine Direktverbindung ist? Mein Arbeitsweg kann je nach Uhrzeit über verschiedene Stationen gehen also hätte ich im Optimalfall gerne eine Anzeige wie "wann ist die nächste Chance, zum Bahnhof loszulaufen und wie lange ist die Gesamtfahrzeit dann bzw. über welchen Weg"

Noch einen Schritt weiter könnte ich von meinem Handy die Position abrufen, wenn ich auf dem Rückweg bin, um dann zu ermitteln, welche Bahn ich genommen habe und somit in FHEM meine erwartete Ankunftszeit zu Hause einzuspeisen. Das geht jetzt allerdings über FTUI hinaus, führt aber dazu, dass ggf. das Essen dann schon fertig ist...

mfeske

#110
Hallo setstate,

erst einmal Danke das Du Dir diese Arbeit gemacht hast. Mein Sohn als Nutzer der öffentlichen Verkehrsmittel wird es Dir danken :-)
Ich bin der Wiki Anleitung gefolgt und habe nun folgende Zeilen in der fhem.cfg


define myDeparture HTTPMOD none 0
attr myDeparture get01Name Freie-Scholle
attr myDeparture get01URL http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=9089458&provider=Bvg
attr myDeparture get01Regex (\[\[.*\]\]).*
attr VAG timeout 30
attr myDeparture room Kalender


Was ich jetzt noch nicht gefunden habe ist, wie ich das ganze zum Beispiel auf dem Dashboard anzeigen kann, habe ich da etwas übersehen ?

Gruß
Micha

P.S. Muss im wiki attr VAG timeout 30 nicht attr myDeparture timeout 30 lauten ?
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

sbiermann

#111
Zitat von: unimatrix am 27 Januar 2017, 15:45:36
Sehe ich das richtig, dass das Framework von sbiermann nicht die Abfrage nach einer Verbindung unterstützt, die keine Direktverbindung ist? Mein Arbeitsweg kann je nach Uhrzeit über verschiedene Stationen gehen also hätte ich im Optimalfall gerne eine Anzeige wie "wann ist die nächste Chance, zum Bahnhof loszulaufen und wie lange ist die Gesamtfahrzeit dann bzw. über welchen Weg"

Die REST-API bietet eine solche Funktionalität. Das heißt man kann die entsprechend selber umsetzen und einbauen in FHEM. Die Doku ist im github Projekt von meinen Kollegen enthalten: https://github.com/fewi/public-transport-web-api

Irgendwie funktioniert meine Benachrichtigung nicht mehr. Wenn etwas ist mit dem Service oder Fragen, dann am besten private Mitteilung hier im Forum die bekomme ich mit...

mkihr

Hallo!

Bis vor kurzem hat es bei mir einwandfrei funktioniert. Leider hat es jetzt einfach aufgehört.

Die Anfrage sieht so aus:
http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=9089458&provider=Bvg
und als Antwort erhalte ich:
Provider Bvg not found or can not instantiated...

sbiermann

Ja, der BvgProvider hat sich geändert. Im Hintergrund wird ja das Framework verwendet welches auch bei Öffi genutzt wird. Diese Framework wurde aktualisiert und der BvgProvider wurde vom alten HAFAS auf das neue HAFAS (JSON API) umgestellt und für den Zugriff braucht man einen API Key um Zugriff zu erhalten. Diesen habe ich derzeit leider nicht. Ich müsste mal schauen wo man einen her bekommt. Alternativ kannst du aber den VbbProvider nutzen. Der läuft noch über die alte Schnittstelle und sollte die selben Daten liefern wie der BvgProvider.

sbiermann

So Problem ist gelöst, der BVG Provider sollte auch wieder normal funktionieren.

Markus.

#115
Hallo Zusammen,

ich habe da ein seltsames Darstellungspoblem  mit Safari und Fully Browser...Also die Bahnlinie hat 8 Zeichen bei uns. Dadurch überscheidetsich die Linie mit der Rcihtung. Ich hab dann ganz einfach data-width="240" gesetzt. Was auch zum Erfolg auf IE11 geführt hat.
Nur auf o.g. Browsern unter IOS und Android beleibt das Problem bestehen. Das heisst die Spalte Linie überschneidet sich weiterhin mit der Spalte Richtung..:-(


<div data-type="departure"
     data-device="Bahn"
data-icon="fa-train"
data-width="240"
data-get="Bahnhof"
     class="inline alternate">
</div>

Hat da einer eine Idee?

Gruß

Markus

Kusselin

Hi Zusammen,
und ich habe folgendes Problem...möchte geren das Widget in Ftui haben.

Folgende Infos:
Internals:
   BASE_URL   http://transportrest-sbiermann.rhcloud.com
   CFGFN
   DEF        60
   Interval   60
   NAME       myDeparture
   NR         1707
   STATE      active
   TRIGGERTIME 1488022953.00811
   TRIGGERTIME_FMT 2017-02-25 12:42:33
   TYPE       Departure
   Readings:
     2017-02-25 12:41:33   departure_0_delay 0
     2017-02-25 12:41:33   departure_0_number RNV5
     2017-02-25 12:41:33   departure_0_text Weinheim
     2017-02-25 12:41:33   departure_0_time 2017-02-25T12:44+0100
     2017-02-25 12:41:33   departure_0_time2Go -2
     2017-02-25 12:41:33   departure_0_timeInMinutes 3
     2017-02-25 12:41:33   departure_1_delay 0
     2017-02-25 12:41:33   departure_1_number RNV5
     2017-02-25 12:41:33   departure_1_text Heidelberg
     2017-02-25 12:41:33   departure_1_time 2017-02-25T12:53+0100
     2017-02-25 12:41:33   departure_1_time2Go 7
     2017-02-25 12:41:33   departure_1_timeInMinutes 12
     2017-02-25 12:41:33   departure_2_delay 0
     2017-02-25 12:41:33   departure_2_number RNV5
     2017-02-25 12:41:33   departure_2_text Heidelberg
     2017-02-25 12:41:33   departure_2_time 2017-02-25T12:53+0100
     2017-02-25 12:41:33   departure_2_time2Go 7
     2017-02-25 12:41:33   departure_2_timeInMinutes 12
     2017-02-25 12:41:33   departure_3_delay 0
     2017-02-25 12:41:33   departure_3_number RNV5
     2017-02-25 12:41:33   departure_3_text Heidelberg
     2017-02-25 12:41:33   departure_3_time 2017-02-25T12:53+0100
     2017-02-25 12:41:33   departure_3_time2Go 7
     2017-02-25 12:41:33   departure_3_timeInMinutes 12
     2017-02-25 12:41:33   departure_4_delay 0
     2017-02-25 12:41:33   departure_4_number RNV5
     2017-02-25 12:41:33   departure_4_text Weinheim
     2017-02-25 12:41:33   departure_4_time 2017-02-25T13:04+0100
     2017-02-25 12:41:33   departure_4_time2Go 18
     2017-02-25 12:41:33   departure_4_timeInMinutes 23
     2017-02-25 12:41:33   departure_5_delay 0
     2017-02-25 12:41:33   departure_5_number RNV5
     2017-02-25 12:41:33   departure_5_text Heidelberg
     2017-02-25 12:41:33   departure_5_time 2017-02-25T13:13+0100
     2017-02-25 12:41:33   departure_5_time2Go 27
     2017-02-25 12:41:33   departure_5_timeInMinutes 32
     2017-02-25 12:41:33   departure_6_delay 0
     2017-02-25 12:41:33   departure_6_number RNV5
     2017-02-25 12:41:33   departure_6_text Heidelberg
     2017-02-25 12:41:33   departure_6_time 2017-02-25T13:13+0100
     2017-02-25 12:41:33   departure_6_time2Go 27
     2017-02-25 12:41:33   departure_6_timeInMinutes 32
     2017-02-25 12:41:33   departure_7_delay 0
     2017-02-25 12:41:33   departure_7_number RNV5
     2017-02-25 12:41:33   departure_7_text Heidelberg
     2017-02-25 12:41:33   departure_7_time 2017-02-25T13:13+0100
     2017-02-25 12:41:33   departure_7_time2Go 27
     2017-02-25 12:41:33   departure_7_timeInMinutes 32
     2017-02-25 12:41:33   departure_8_delay 0
     2017-02-25 12:41:33   departure_8_number RNV5
     2017-02-25 12:41:33   departure_8_text Weinheim
     2017-02-25 12:41:33   departure_8_time 2017-02-25T13:24+0100
     2017-02-25 12:41:33   departure_8_time2Go 38
     2017-02-25 12:41:33   departure_8_timeInMinutes 43
     2017-02-25 12:41:33   departure_9_delay 0
     2017-02-25 12:41:33   departure_9_number RNV5
     2017-02-25 12:41:33   departure_9_text Heidelberg
     2017-02-25 12:41:33   departure_9_time 2017-02-25T13:33+0100
     2017-02-25 12:41:33   departure_9_time2Go 47
     2017-02-25 12:41:33   departure_9_timeInMinutes 52
     2017-02-25 12:41:33   departure_next_time2Go 7
Attributes:
   departure_departure 507896
   departure_provider Bahn
   departure_time_to_go_to_station 05


FTUI:
<html>
<head>
    <title>Controll</title>
</head>
<body>
<div class="gridster">
<ul>
<!-- Menü -->
<li data-col="1" data-row="1" data-sizex="1" data-sizey="8" data-template="menu.html"></li>



<li data-row="5" data-col="1" data-sizex="6" data-sizey="3">


<header>DEPARTURE</header>
  <!-- place your widget here -->
  <div class="large top-space">&nbsp;</div>
  <div class="col-1-3">
      <div data-type="departure" data-device="Bahn"
           data-get="Bhf-Hirschberg"
           data-icon="fa-train"
           data-interval="0">
      </div>
 
  </div>

</li>


    </ul>
</div>
</body>
</html>


Bekomme nix angezeigt in FTUI.

Gruss

sinus61

Du versuchst ja hier anscheinend das Modul Departure zusammen mit dem Widget Departure zu nutzen.Das geht so nicht.
Du kannst in Ftui einfach die Readings aus dem Departure Modul mit Label Widgets nutzen.

Kusselin

#118
Zitat von: sinus61 am 25 Februar 2017, 12:54:04
Du kannst in Ftui einfach die Readings aus dem Departure Modul mit Label Widgets nutzen.

Könnest du das bitte kurz so erklären damit es auch ich verstehe ::)

bzw. könntest du mir den entsprechenden HTML Code zur Verfügung stellen?

Das wäre nett

Gruss

sinus61

Table soll man ja eigentlich benutzen, aber irgendwie hab ich es damals mit inline usw. nicht so richtig hinbekommen.

Hier mal ein Beispiel, ich hab Deine Namen von oben eingefügt, müsste eigentlich so bei Dir funktionieren und zeigt dann die beiden nächsten Abfahrten an, die Zeit wechselt von Grün nach Rot wenn eine Verspätung vorliegt. Für weitere Abfahrten müsstest Du dann entsprechend die Blöcke runterkopieren und die Zahl anpassen.


<table width="100%">
<tr><td colspan="4">Bhf-Hirschberg</td>
</tr>
<tr>
<td><div data-type="label" data-device="myDeparture" data-get="departure_0_number" class="darker bigger"></div></td>
<td><div data-type="label" data-device="myDeparture" data-get="departure_0_time" data-substitution="s/.*T(\d\d\:\d\d)+.*/$1/g" data-limits-get="myDeparture:departure_0_delay" data-limits='[0,1]' data-colors='["green","red"]' class="darker bigger"></div></td>
<td><div data-type="label" data-device="myDeparture" data-pre-text="in " data-unit=" min%0A" data-get="departure_0_timeInMinutes" class="darker bigger"></div></td>
<td><div data-type="label" data-device="myDeparture" data-get="departure_0_text"  class="darker bigger"></div></td>
</tr>
<tr>
<td><div data-type="label" data-device="myDeparture" data-get="departure_1_number" class="darker bigger"></div></td>
<td><div data-type="label" data-device="myDeparture" data-get="departure_1_time" data-substitution="s/.*T(\d\d\:\d\d)+.*/$1/g" data-limits-get="myDeparture:departure_1_delay" data-limits='[0,1]' data-colors='["green","red"]' class="darker bigger"></div></td>
<td><div data-type="label" data-device="myDeparture" data-pre-text="in " data-unit=" min%0A" data-get="departure_1_timeInMinutes" class="darker bigger"></div></td>
<td><div data-type="label" data-device="myDeparture" data-get="departure_1_text"  class="darker bigger"></div></td>
</tr>
</table>