Neues FTUI Widget - Departure

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

Vorheriges Thema - Nächstes Thema

mrfloppy

Super danke.
Wahnsinn wie flott hier auch wünsche umgesetzt werden.

Danke LG
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

mrfloppy

Da hätte ich noch einen Wunsch wenn möglich.
Wäre es möglich im Widget die einzelnen Einträge farblich zu unterscheiden.
Also jeder zweite Eintrag eine andere Farbe.
Wäre wegen der Übersichtlichkeit.
Es sind einige Einträge zweizeilig bei meinem Bahnhof, und da ist es auf den ersten Blick nicht
gleich zuzuordnen wo die Minuten hingehören.

LG
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

accessburn

Zitat von: sinus61 am 12 Februar 2016, 17:37:45
Übrigens gibt es das von der Bahn auch inklusive der meisten Nahverkehrsunternehmen, sogar inklusive Verspätungen wenn das von dem Unternehmen schon angeboten wird.
http://reiseauskunft.bahn.de/bin/bhftafel.exe/dn

Leider hat die Bahn wohl noch kein API dafür, aber bevor jeder anfängt die Webseiten der lokalen Unternehmen auszuwerten wäre das eine universellere Lösung.


Jetzt mit Rest-API: http://data.deutschebahn.com/apis/fahrplan/
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

sbiermann

Ja die REST-API enthält aber anscheinend (http://www.heise.de/newsticker/meldung/Open-Data-Deutsche-Bahn-gibt-Schnittstelle-fuer-Fahrplandaten-frei-3118919.html) im Moment nur den Fernverkehr. In naher Zukunft sicherlich eine gute Idee den public-transport-enabler und das DB_Plan Modul umzustellen auf die Schnittstelle.

setstate

#49
Zitat von: mrfloppy am 24 Februar 2016, 18:22:36
Da hätte ich noch einen Wunsch wenn möglich.
Wäre es möglich im Widget die einzelnen Einträge farblich zu unterscheiden.
Also jeder zweite Eintrag eine andere Farbe.
Wäre wegen der Übersichtlichkeit.
Es sind einige Einträge zweizeilig bei meinem Bahnhof, und da ist es auf den ersten Blick nicht
gleich zuzuordnen wo die Minuten hingehören.

LG

Update ist da:
Alternierender Hintergrund per class="alternate"
und Umschaltung zu genauen Abfahrtszeit statt der Minuten per class="deptime"

mrfloppy

Super
gleich kurz mal angetestet.
Das alternate funktioniert!

Wenn ich jedoch "deptime" verwende bleibt das Fenster leer !?!?

LG
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

setstate

Da sind bestimmt Werte dabei, die keine Zahl sind bzw. nicht implizit in eine Zahl umgewandelt werden können. Da muss ich etwas mehr Sicherheit einbauen. Gib mal deine cfg Definition und den HTML Teil, dann kann ich am schnellsten die Ursache finden.

roman1528

Moin.

class="deptime" möchte tatsächlich nicht...

FTUI:

<div data-type="departure"
data-device="GVH"
data-get="Bahnhof"
data-width="475"
data-height="400"
data-interval="120"
data-icon="ma-directions_railway"
class="DB large inline alternate deptime">
</div>


CSS: nur zum klären der Klassen

.DB.departure {
    background-color: #FF0100 !important;
}
.DB.departure .icon {
    color: #000000 !important;
    background-color: transparent !important;
}
.DB.departure .listText {
    background-color: #FFFFFF !important;
color: #000000 !important;
}

.departure.large .listText {
    top: 19% !important;
    left: 4% !important;
    height: 72% !important;
}

.departure.large .header{
    font-size: 23px !important;
    margin-top: 24px !important;
}

.departure.large .station{
    font-size: 31px !important;
}

.departure.large .icon {
    top: 16px !important;
    left: 16px !important;
    width: 45px !important;
    height: 45px !important;
    font-size: 32px !important;
}

.departure  .line{
    padding-right: 20px !important;
}


FHEM:

Internals:
   BUSY       0
   DEF        none 0
   GetSeq     0
   HTTPHEADER
   Interval   0
   LASTSEND   1456565226.63686
   MainURL
   NAME       GVH
   NR         148
   STATE      ???
   TRIGGERTIME 0
   TRIGGERTIME_FMT
   TYPE       HTTPMOD
   addr       http://transportrest-sbiermann.rhcloud.com:80
   buf        HTTP/1.1 200 OK

Date: Sat, 27 Feb 2016 09:27:07 GMT

Server: Apache-Coyote/1.1

Content-Type: application/json;charset=UTF-8

Content-Length: 287

Vary: Accept-Encoding

Connection: close



[["S3","Hannover Hbf","29"],["S3","Hildesheim Hbf","31"],["S3","Hannover Hbf","89"],["S3","Hildesheim Hbf","91"],["S3","Hannover Hbf","149"],["S3","Hildesheim Hbf","151"],["S3","Hannover Hbf","209"],["S3","Hildesheim Hbf","211"],["S3","Hannover Hbf","269"],["S3","Hildesheim Hbf","271"]]
   code       200
   conn
   data
   displayurl http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=8005511&provider=Bahn
   header
   host       transportrest-sbiermann.rhcloud.com
   httpheader HTTP/1.1 200 OK

Date: Sat, 27 Feb 2016 09:27:07 GMT

Server: Apache-Coyote/1.1

Content-Type: application/json;charset=UTF-8

Content-Length: 287

Vary: Accept-Encoding

Connection: close
   hu_blocking 0
   hu_filecount 112
   ignoreredirects 0
   loglevel   4
   path       /departureFHEM?from=8005511&provider=Bahn
   protocol   http
   redirects  0
   timeout    30
   url        http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=8005511&provider=Bahn
   QUEUE:
   Readings:
     2016-02-27 10:27:07   Bahnhof         [["S3","Hannover Hbf","29"],["S3","Hildesheim Hbf","31"],["S3","Hannover Hbf","89"],["S3","Hildesheim Hbf","91"],["S3","Hannover Hbf","149"],["S3","Hildesheim Hbf","151"],["S3","Hannover Hbf","209"],["S3","Hildesheim Hbf","211"],["S3","Hannover Hbf","269"],["S3","Hildesheim Hbf","271"]]
     2016-02-27 10:27:06   Zuckerfabriksweg [["370","Hannover An der Engesohde","4"],["370","Mehrum Ortsmitte","13"],["390","Sehnde Schulzentrum","16"],["372","Sehnde Schulzentrum (B 65)","15"],["370","Hannover An der Engesohde","34"],["370","Mehrum Ortsmitte","43"],["370","Hannover An der Engesohde","62"],["370","Mehrum Ortsmitte","73"],["390","Sehnde Schulzentrum","74"],["372","Sehnde Schulzentrum (B 65)","75"]]
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       Get01
     url        http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=8005511&provider=Bahn
   Sslargs:
Attributes:
   event-on-update-reading .*
   get01Name  Bahnhof
   get01Regex (\[\[.*\]\])
   get01URL   http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=8005511&provider=Bahn
   get02Name  Zuckerfabriksweg
   get02Regex (\[\[.*\]\])
   get02URL   http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=25003781&provider=Gvh
   group      Status
   room       Status
   timeout    30
   userattr   event-on-update-reading get01Name get01Regex get01URL get02Name get02Regex get02URL timeout


Mit Fenster leer meinte der Kollege "mrfloppy" wahrscheinlich, dass .listText nicht angezeigt wird. also gar nicht.

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

mrfloppy

Bei mir sieht es eigentlich genauso aus wie bei roman1528.
CSS Classes habe ich noch alles Original belassen.

Internals:
   BUSY       0
   DEF        none 0
   GetSeq     0
   HTTPHEADER
   Interval   0
   LASTSEND   1456567617.17839
   MainURL
   NAME       OEBB
   NR         767
   STATE      ???
   TRIGGERTIME 0
   TRIGGERTIME_FMT
   TYPE       HTTPMOD
   addr       http://transportrest-sbiermann.rhcloud.com:80
   buf        HTTP/1.1 200 OK

Date: Sat, 27 Feb 2016 10:07:10 GMT

Server: Apache-Coyote/1.1

Content-Type: application/json;charset=UTF-8

Content-Length: 2369

Vary: Accept-Encoding

Connection: close



[["S2","Wolkersdorf im Weinviertel Bahnhof","11"],["S7","Flughafen Wien Bahnhof","13"],["S2","Mistelbach/Zaya Bahnhof","41"],["S7","Flughafen Wien Bahnhof","43"],["S2","Wolkersdorf im Weinviertel Bahnhof","71"],["S7","Flughafen Wien Bahnhof","73"],["S2","Mistelbach/Zaya Bahnhof","101"],["S7","Wolfsthal Bahnhof","103"],["S2","Wolkersdorf im Weinviertel Bahnhof","131"],["S7","Flughafen Wien Bahnhof","133"],["S2","Mistelbach/Zaya Bahnhof","161"],["S7","Flughafen Wien Bahnhof","163"],["S2","Wolkersdorf im Weinviertel Bahnhof","191"],["S7","Flughafen Wien Bahnhof","193"],["S2","Mistelbach/Zaya Bahnhof","221"],["S7","Wolfsthal Bahnhof","223"],["S2","Wolkersdorf im Weinviertel Bahnhof","251"],["S7","Flughafen Wien Bahnhof","253"],["S2","Mistelbach/Zaya Bahnhof","281"],["S7","Flughafen Wien Bahnhof","283"],["S2","Wolkersdorf im Weinviertel Bahnhof","311"],["S7","Flughafen Wien Bahnhof","313"],["S2","Mistelbach/Zaya Bahnhof","341"],["S7","Wolfsthal Bahnhof","343"],["S2","Wolkersdorf im Weinviertel Bahnhof","371"],["S7","Flughafen Wien Bahnhof","373"],["S2","Mistelbach/Zaya Bahnhof","401"],["S7","Flughafen Wien Bahnhof","403"],["S2","Wolkersdorf im Weinviertel Bahnhof","431"],["S7","Flughafen Wien Bahnhof","433"],["S2","Mistelbach/Zaya Bahnhof","461"],["S7","Wolfsthal Bahnhof","463"],["S2","Wolkersdorf im Weinviertel Bahnhof","491"],["S7","Flughafen Wien Bahnhof","493"],["S2","Mistelbach/Zaya Bahnhof","521"],["S7","Flughafen Wien Bahnhof","523"],["S2","Wolkersdorf im Weinviertel Bahnhof","551"],["S7","Flughafen Wien Bahnhof","553"],["S2","Mistelbach/Zaya Bahnhof","581"],["S7","Wolfsthal Bahnhof","583"],["S2","Wolkersdorf im Weinviertel Bahnhof","611"],["S7","Flughafen Wien Bahnhof","613"],["S2","Mistelbach/Zaya Bahnhof","641"],["S7","Wolfsthal Bahnhof","643"],["S2","Wolkersdorf im Weinviertel Bahnhof","671"],["S7","Flughafen Wien Bahnhof","673"],["S2","Mistelbach/Zaya Bahnhof","701"],["S2","Meidling Bahnhof","703"],["S2","Wolkersdorf im Weinviertel Bahnhof","731"],["S7","Flughafen Wien Bahnhof","733"],["S2","Laa/Thaya Bahnhof","761"],["S2","Floridsdorf Bahnhof","763"],["S2","Mistelbach/Zaya Bahnhof","935"],["S2","Mödling Bahnhof","1138"],["S7","Wolkersdorf im Weinviertel Bahnhof","1142"],["S2","Mödling Bahnhof","1168"],["S7","Laa/Thaya Bahnhof","1172"],["S2","Mödling Bahnhof","1198"],["S7","Wolkersdorf im Weinviertel Bahnhof","1202"]]
   code       200
   conn
   data
   displayurl http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=1232411&provider=Oebb
   header
   host       transportrest-sbiermann.rhcloud.com
   httpheader HTTP/1.1 200 OK

Date: Sat, 27 Feb 2016 10:07:10 GMT

Server: Apache-Coyote/1.1

Content-Type: application/json;charset=UTF-8

Content-Length: 2369

Vary: Accept-Encoding

Connection: close
   hu_blocking 0
   hu_filecount 6
   ignoreredirects 0
   loglevel   4
   path       /departureFHEM?from=1232411&provider=Oebb
   protocol   http
   redirects  0
   timeout    30
   url        http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=1232411&provider=Oebb
   QUEUE:
   Readings:
     2016-02-27 11:06:57   Kapellerfeld    [["S2","Wolkersdorf im Weinviertel Bahnhof","11"],["S7","Flughafen Wien Bahnhof","13"],["S2","Mistelbach/Zaya Bahnhof","41"],["S7","Flughafen Wien Bahnhof","43"],["S2","Wolkersdorf im Weinviertel Bahnhof","71"],["S7","Flughafen Wien Bahnhof","73"],["S2","Mistelbach/Zaya Bahnhof","101"],["S7","Wolfsthal Bahnhof","103"],["S2","Wolkersdorf im Weinviertel Bahnhof","131"],["S7","Flughafen Wien Bahnhof","133"],["S2","Mistelbach/Zaya Bahnhof","161"],["S7","Flughafen Wien Bahnhof","163"],["S2","Wolkersdorf im Weinviertel Bahnhof","191"],["S7","Flughafen Wien Bahnhof","193"],["S2","Mistelbach/Zaya Bahnhof","221"],["S7","Wolfsthal Bahnhof","223"],["S2","Wolkersdorf im Weinviertel Bahnhof","251"],["S7","Flughafen Wien Bahnhof","253"],["S2","Mistelbach/Zaya Bahnhof","281"],["S7","Flughafen Wien Bahnhof","283"],["S2","Wolkersdorf im Weinviertel Bahnhof","311"],["S7","Flughafen Wien Bahnhof","313"],["S2","Mistelbach/Zaya Bahnhof","341"],["S7","Wolfsthal Bahnhof","343"],["S2","Wolkersdorf im Weinviertel Bahnhof","371"],["S7","Flughafen Wien Bahnhof","373"],["S2","Mistelbach/Zaya Bahnhof","401"],["S7","Flughafen Wien Bahnhof","403"],["S2","Wolkersdorf im Weinviertel Bahnhof","431"],["S7","Flughafen Wien Bahnhof","433"],["S2","Mistelbach/Zaya Bahnhof","461"],["S7","Wolfsthal Bahnhof","463"],["S2","Wolkersdorf im Weinviertel Bahnhof","491"],["S7","Flughafen Wien Bahnhof","493"],["S2","Mistelbach/Zaya Bahnhof","521"],["S7","Flughafen Wien Bahnhof","523"],["S2","Wolkersdorf im Weinviertel Bahnhof","551"],["S7","Flughafen Wien Bahnhof","553"],["S2","Mistelbach/Zaya Bahnhof","581"],["S7","Wolfsthal Bahnhof","583"],["S2","Wolkersdorf im Weinviertel Bahnhof","611"],["S7","Flughafen Wien Bahnhof","613"],["S2","Mistelbach/Zaya Bahnhof","641"],["S7","Wolfsthal Bahnhof","643"],["S2","Wolkersdorf im Weinviertel Bahnhof","671"],["S7","Flughafen Wien Bahnhof","673"],["S2","Mistelbach/Zaya Bahnhof","701"],["S2","Meidling Bahnhof","703"],["S2","Wolkersdorf im Weinviertel Bahnhof","731"],["S7","Flughafen Wien Bahnhof","733"],["S2","Laa/Thaya Bahnhof","761"],["S2","Floridsdorf Bahnhof","763"],["S2","Mistelbach/Zaya Bahnhof","935"],["S2","Mödling Bahnhof","1138"],["S7","Wolkersdorf im Weinviertel Bahnhof","1142"],["S2","Mödling Bahnhof","1168"],["S7","Laa/Thaya Bahnhof","1172"],["S2","Mödling Bahnhof","1198"],["S7","Wolkersdorf im Weinviertel Bahnhof","1202"]]
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       Get02
     url        http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=1232411&provider=Oebb
   Sslargs:
Attributes:
   event-on-update-reading .*
   get02Name  Kapellerfeld
   get02URL   http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=1232411&provider=Oebb
   getRegex   (\[\[.*\]\]).*
   room       OEBB
   timeout    30
   userattr   event-on-update-reading get02Name get02URL getRegex timeout


[/
<li data-row="2" data-col="6" data-sizex="3" data-sizey="4">
  <header>Fahrplan</header>
       <div data-type="departure"
           data-device="OEBB"
           data-get="Kapellerfeld"
           data-icon="fa-train"
           data-interval="120"
   data-width="300"
   data-height="400"
   class="alternate deptime"
      </div>
</li>code]
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

setstate

Sorry, ich habe die geänderte fhem-tablet-ui.js vergessen auszuliefern. Kommt sofort ...

mrfloppy

deptime funktioniert soweit gut, nur stimmt die Uhrzeit um eine Minute nicht, siehe Anhang.

Grüße
Thomas
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

setstate

besser als andersherum :-) So kommt immer pünktlich.

Nein, keine Ahnung. Rundunsfehler?
Ich nehme Abfragezeit+Minuten.

mrfloppy

Zitat von: setstate am 28 Februar 2016, 10:21:45
besser als andersherum :-) So kommt immer pünktlich.

Nein, keine Ahnung. Rundunsfehler?
Ich nehme Abfragezeit+Minuten.
Das heißt ich muss mich damit Abfinden?
Oder schaust du da eventuell noch mal drüber.
Denk das wird ja nicht nur bei mir so sein oder?

LG
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

sbiermann

Das Problem lag im REST-Wrapper, da kamen zum Beispiel solche Werte wie 3,91 Minuten raus und durch die automatische Konvertierung wurde daraus dann 3 Minuten. Korrekter wäre allerdings 4 Minuten gewesen. Ich hab das nun umgestellt so das er immer aufrundet auf die nächste Minute.

setstate