Autor Thema: Modul 98_Departure: Bereitstellung von Abfahrtszeiten an einem Bahnhof  (Gelesen 7465 mal)

Offline hartenthaler

  • Full Member
  • ***
  • Beiträge: 256
Antw:Modul 98_Departure: Bereitstellung von Abfahrtszeiten an einem Bahnhof
« Antwort #15 am: 02 Dezember 2016, 17:37:33 »
Hier mal ein erster Ansatz für eine ReadingsGroup (mein Device heißt Fahrplan.Frohnau)
defmod rg_Fahrplan.Frohnau readingsGroup <>,<Nr.>,<Richtung>,<Abfahrtszeit>,<Verspätung>,<Losgehen> Fahrplan.Frohnau:@2,<#1>,departure_(.*)_text,departure_#1_time,departure_#1_delay,departure_#1_time2Go
attr rg_Fahrplan.Frohnau group Fahrplan
attr rg_Fahrplan.Frohnau room Verkehr
attr rg_Fahrplan.Frohnau style style=text-align:center
attr rg_Fahrplan.Frohnau valueSuffix {"" => '{ return " min" if ($READING =~ "delay|time2Go") }'}
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Offline mkriegl

  • Jr. Member
  • **
  • Beiträge: 52
Antw:Modul 98_Departure: Bereitstellung von Abfahrtszeiten an einem Bahnhof
« Antwort #16 am: 04 Dezember 2016, 16:06:48 »
Servus

Ich habe jetzt schon vieles Ausprobiert um mir die Fahrzeiten anzeigen zu lassen, da ich aber die Werte einzeln in ein FTUI schreiben will scheint mir dieses noch am sinnvollsten. Aktuell habe ich nur die Probleme:
  • Busnummer wird nicht angezeigt: Mvv (wüsste ich aber auch durch die Fahrtrichtung)
  • Ich habe keinen Filter für die Fahrtrichtung: in meinem Fall gibt es zwei Busse die ich nutzen kann, ich will aber nur jeweils ein Endziel beider Busse anzeigen lassen. Ich hatte für das direkte HTTPMOD mal dieses Regex gefunden, welches mir nur meine benötigten Ziele anzeigt:    
    (\["\b(?>194|195)\b","\b(?>Trudering.*?|Michaelibad|Riem.*?)\b.*?"\])
  • Woher kommt die Information "delay", da diese bei meiner direkten Abfrage nicht angezeigt wurde und momentan immer auf "0" steht

Ist es möglich dies noch mit einzubauen? oder anderweitig zu filtern?

Max

Offline Frosch

  • New Member
  • *
  • Beiträge: 27
Antw:Modul 98_Departure: Bereitstellung von Abfahrtszeiten an einem Bahnhof
« Antwort #17 am: 04 Dezember 2016, 17:21:54 »
Hallo alle zusammen,

igami hat mir bei der Auswertung der für mich relevanten Abfahrzeiten sehr weitergeholfen. Er hat dieses "userReadings" geschrieben mit dem es möglich ist bei einer Haltestelle, die Abfahrten in zwei Richtungen hat, eine bestimmte Richtung auszuwählen. Dieses userReading sucht die erste positive Zahl in den "departure_._time2Go" readings und zeigt diese für die gewünschte Richtung an.
Ich fände es sinnvoll wenn dies in das Modul übernommen werden könnte.

time2Go {
  for(my $i = 0; $i<= 9; $i++){
    my $time2Go = ReadingsVal($name, "departure_$i\_time2Go", 0);
    if(ReadingsVal($name, "departure_$i\_text", "NA") eq "gewünschte_Fahrtrichtung" and  $time2Go > 0){
      return $time2Go;
      last;
    }
  }
}

Gruß Mathias

Offline uniqueck

  • Developer
  • Full Member
  • ****
  • Beiträge: 391
Antw:Modul 98_Departure: Bereitstellung von Abfahrtszeiten an einem Bahnhof
« Antwort #18 am: 04 Dezember 2016, 18:18:16 »
Ich bin dran Leute. Ich werde demnächst wieder einen Stand hier bereitstellen. Allerdings das readings für die Nummer des Busses oder der Bahn sollte schon existieren.

Diverse Filter werden noch eingebaut, sowohl für die Nummer als auch für das Ziel. Das Delay wird auch durch den Service bereitgestellt und das stammt von den Providern direkt.

Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


Offline MichaelT

  • Full Member
  • ***
  • Beiträge: 138
Antw:Modul 98_Departure: Bereitstellung von Abfahrtszeiten an einem Bahnhof
« Antwort #19 am: 10 Dezember 2016, 15:53:08 »
Hallo uniqueck,

bei mir ist es so, sobald ein Fehler bei der http-Abfrage kommt. bleibt die automatische Wiederholung stehen und man muss erneut "update" triggern.
Laut Code Zeile 200 startest Du den Timer nur wieder, wenn STATE==active oder STATE==initialized ist.  Hast Du das bewusst so gemacht? So wird nach einem Error nur
noch die laufenden Abrage durchgeführt und obwohl diese dann fehlerfrei durchläuft ist dann Ende weil kein Timer mehr aktiv ist.

Ich habe es bei mir nach STATE ne disabled geändert. Scheint zu funktionieren.

Gruß Michael
rpi2, 2xHMLAN, 8xHM-LC-BL1-FM, 11xHM-Sec-RHS, 4+HM-LC-Sw2-FM, 5xHM-CC-RT-DN, 3xHM-CC-VD, 2xHM-CC-TC, HM-PBI-4-FM, HM-RC-12-B, 3xHM-TC-IT-WM-W-EU, 2xHM-LC-DIM1T-FM, HM-PB-4DIS-WM-2
externe I/Os (properitär: Heizung, Aussenbereich)

Offline uniqueck

  • Developer
  • Full Member
  • ****
  • Beiträge: 391
Antw:Modul 98_Departure: Bereitstellung von Abfahrtszeiten an einem Bahnhof
« Antwort #20 am: 11 Dezember 2016, 13:55:40 »
Hallo uniqueck,

bei mir ist es so, sobald ein Fehler bei der http-Abfrage kommt. bleibt die automatische Wiederholung stehen und man muss erneut "update" triggern.
Laut Code Zeile 200 startest Du den Timer nur wieder, wenn STATE==active oder STATE==initialized ist.  Hast Du das bewusst so gemacht? So wird nach einem Error nur
noch die laufenden Abrage durchgeführt und obwohl diese dann fehlerfrei durchläuft ist dann Ende weil kein Timer mehr aktiv ist.

Ich habe es bei mir nach STATE ne disabled geändert. Scheint zu funktionieren.

Gruß Michael
Ja ich hatte mir was dabei gedacht, aber das kann ich korrigieren.

Kannst ja einen PR mittels Github schicken, wenn du dort angemeldet bist. Ansonsten schicke ich heute Abend das Update auf den Weg.

Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


Offline Ulm32b

  • Full Member
  • ***
  • Beiträge: 130
Departure: Invalid Station ?
« Antwort #21 am: 14 Januar 2017, 14:07:24 »
Ob es an der fünften Jahreszeit liegt? Für Köln liefert das FHEM-departure einwandfreie Ergebnisse, HTTPMOD streikt. ???
Im Einzelnen:
define myDeparture Departure 60
attr myDeparture departure_provider Bahn
attr myDeparture departure_departure 8071474
erzeugt – alternativ auch unter dem Provider Vrs – zutreffende Readings:
Internals
BASE_URL http://transportrest-sbiermann.rhcloud.com
CFGFN
DEF 60

Interval 60
NAME AbfahrtSchlebusch
NR 668
STATE active
TRIGGERTIME 1484397596.96234
TRIGGERTIME_FMT 2017-01-14 13:39:56
TYPE Departure

Readings
departure_0_delay 0 2017-01-14 13:38:02
departure_0_number 4 2017-01-14 13:38:02
departure_0_text Bocklemünd 2017-01-14 13:38:02
departure_0_time 2017-01-14T13:45+0100 2017-01-14 13:38:02
departure_0_timeInMinutes 7 2017-01-14 13:38:02
[. . .]

http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=8071474&provider=Bahnwie auch
http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=8071474&provider=Vrsliefert leider nur
EFA error status: INVALID_STATIONobwohl
http://transportrest-sbiermann.rhcloud.com/station/suggest?q=Schlebusch&provider=Bahndie oben verwendete Stations-ID ausgibt.

Any ideas?

Offline uniqueck

  • Developer
  • Full Member
  • ****
  • Beiträge: 391
Ob es an der fünften Jahreszeit liegt? Für Köln liefert das FHEM-departure einwandfreie Ergebnisse, HTTPMOD streikt. ???
Im Einzelnen:
define myDeparture Departure 60
attr myDeparture departure_provider Bahn
attr myDeparture departure_departure 8071474
erzeugt – alternativ auch unter dem Provider Vrs – zutreffende Readings:
Internals
BASE_URL http://transportrest-sbiermann.rhcloud.com
CFGFN
DEF 60

Interval 60
NAME AbfahrtSchlebusch
NR 668
STATE active
TRIGGERTIME 1484397596.96234
TRIGGERTIME_FMT 2017-01-14 13:39:56
TYPE Departure

Readings
departure_0_delay 0 2017-01-14 13:38:02
departure_0_number 4 2017-01-14 13:38:02
departure_0_text Bocklemünd 2017-01-14 13:38:02
departure_0_time 2017-01-14T13:45+0100 2017-01-14 13:38:02
departure_0_timeInMinutes 7 2017-01-14 13:38:02
[. . .]

http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=8071474&provider=Bahnwie auch
http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=http://transportrest-sbiermann.rhcloud.com/departureFHEM?from=8071474&provider=Vrsliefert leider nur
EFA error status: INVALID_STATIONobwohl
http://transportrest-sbiermann.rhcloud.com/station/suggest?q=Schlebusch&provider=Bahndie oben verwendete Stations-ID ausgibt.

Any ideas?
Bist du dir sicher das du hier die korrekten URLs gekostet hast, welche von dir verwendet werden. Sehen mir nicht danach aus.

Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2242
    • Homepage
Hi,

super Modul! Ich nutze es in Berlin für die BVG. Macht bis jetzt was es soll.

Gruß
Daniel
HM, FS20, 1-Wire, PanStamp, AVR-NET-IO, SIS-PM, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2242
    • Homepage
Ich hab da gleich noch 2 Sachen.

1. Hat einer ein Beispiel wie ich die Zeit in ein neues userreading umschreiben kann damit diese schöner lesbar ist?

2. Es wäre (für mich) eine super Funktion wenn ich Linien ausfiltern kann. Warum? Ich habe vor der Tür eine TRAM Halte, die lasse ich mir anzeigen. An der U Bahn, die ich mir auch anzeigen lasse fahren aber genau dieselben TRAM Linien da dies eine Halte weiter ist. Das raubt mir natürlich Platz da mich die TRAM Linien dort gerade nicht interessieren. Aber das ist nur ein persönlicher Wunsch.

UPDATE:
Noch ein kleiner Bug, wenn ein Fehler aufgetreten ist, der URL nicht erreichbar oder was auch immer dann macht er nicht mehr alleine weiter. Dann muss man erst manuell ein set update machen.

/Daniel
« Letzte Änderung: 29 Januar 2017, 08:07:53 von ext23 »
HM, FS20, 1-Wire, PanStamp, AVR-NET-IO, SIS-PM, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Offline MichaelT

  • Full Member
  • ***
  • Beiträge: 138
Ich hab da gleich noch 2 Sachen
...

UPDATE:
Noch ein kleiner Bug, wenn ein Fehler aufgetreten ist, der URL nicht erreichbar oder was auch immer dann macht er nicht mehr alleine weiter. Dann muss man erst manuell ein set update machen.

/Daniel


Siehe Post #19
Gruß Michael
rpi2, 2xHMLAN, 8xHM-LC-BL1-FM, 11xHM-Sec-RHS, 4+HM-LC-Sw2-FM, 5xHM-CC-RT-DN, 3xHM-CC-VD, 2xHM-CC-TC, HM-PBI-4-FM, HM-RC-12-B, 3xHM-TC-IT-WM-W-EU, 2xHM-LC-DIM1T-FM, HM-PB-4DIS-WM-2
externe I/Os (properitär: Heizung, Aussenbereich)

Offline uniqueck

  • Developer
  • Full Member
  • ****
  • Beiträge: 391

Siehe Post #19
Gruß Michael
Ich schaue mal ob ich heute dazu komme. Falls sich jemand dazu in der Lage fühlt den Fehler zu beheben und Github Account hat bei mir melden, dann einfach forken und Fehler beheben und per pullrequest wieder ins Original Repository zurück schicken.

Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


Offline MichaelT

  • Full Member
  • ***
  • Beiträge: 138
Ich versuch mal. Github.??

Gruß
Michael
rpi2, 2xHMLAN, 8xHM-LC-BL1-FM, 11xHM-Sec-RHS, 4+HM-LC-Sw2-FM, 5xHM-CC-RT-DN, 3xHM-CC-VD, 2xHM-CC-TC, HM-PBI-4-FM, HM-RC-12-B, 3xHM-TC-IT-WM-W-EU, 2xHM-LC-DIM1T-FM, HM-PB-4DIS-WM-2
externe I/Os (properitär: Heizung, Aussenbereich)

Offline uniqueck

  • Developer
  • Full Member
  • ****
  • Beiträge: 391
Ich versuch mal. Github.??

Gruß
Michael
Naja das Modul ist bei Github gehostet in einem Repository von mir. Wenn nicht dann schicke mir den Patch hier und ich commite ihn dann.

Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


Offline MichaelT

  • Full Member
  • ***
  • Beiträge: 138
Naja das Modul ist bei Github gehostet ...

Habs mal probiert. Hatte nie mit github zu tun.

Gruß
Michael
rpi2, 2xHMLAN, 8xHM-LC-BL1-FM, 11xHM-Sec-RHS, 4+HM-LC-Sw2-FM, 5xHM-CC-RT-DN, 3xHM-CC-VD, 2xHM-CC-TC, HM-PBI-4-FM, HM-RC-12-B, 3xHM-TC-IT-WM-W-EU, 2xHM-LC-DIM1T-FM, HM-PB-4DIS-WM-2
externe I/Os (properitär: Heizung, Aussenbereich)