Neues Modul: 73_DepartureBnT

Begonnen von Sailor, 12 Februar 2026, 16:49:11

Vorheriges Thema - Nächstes Thema

Sailor

Ein herzerfrischendes "Moin" von achtern Diek tosammen

Ich habe jahrelang das Modul 98_departure von uniqueck verwendet und musste aber in der letzten Zeit feststellen, dass dieses mir nur noch die nächsten 2 - 5 Abfahrtszeiten zurück gibt - Je nach Tagesform.

Daraufhin habe ich ein neues Modul geschrieben und entsprechend erweitert.

Es basiert ebenfalls auf die von https://transport.stefan-biermann.de/publictransportapi bereitgestellten Daten und lädt die gewünschte Anzahl an Abfahrtszeiten herunter.

Als kleine Spielerei visualisiert das Modul diese Daten etwas.

Wenn man nach einer Station sucht, dann sollte man nicht nur nach "Rathaus" suchen, denn davon hat jede Milchkanne eines.
Besser man nimmt den entsprechenden Ort mit rein e.g.: "Hamburg Rathaus".
Dann die ID in das entsprechende Attribut "/opt/fhem/contrib/commandref_join.pl" reinkopieren und los geht's!

Ggf. die commandref mit dem linux-Befehl
/opt/fhem/contrib/commandref_join.pl in die eigene aufnehmen.

Über eure Rückmeldung wäre ich Euch dankbar!

Gruß
    Sailor
******************************
Man wird immer besser...

Sailor

Die Datei 73_DepartureBnT.pm ist mittlerweile im fhem Repositroy eingecheckt und sollte mit dem nächsten Update zur Verfügung stehen.

Gruss
    Sailor
******************************
Man wird immer besser...

moskito

Habe es mal zwanglos ausprobiert. Macht einen soliden Eindruck.
Lediglich die aktuelle Anzeige differiert mit dem Attribut NoOfEntries um 1.
Evtl. könntest du die Auswirkungen von WalkTimeToStation in der Hilfe mal beschreiben.

Gruß
Danny
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

Sailor

Hallo Danny

Zitat von: moskito am 13 Februar 2026, 15:18:11Habe es mal zwanglos ausprobiert. Macht einen soliden Eindruck.
Danke

Zitat von: moskito am 13 Februar 2026, 15:18:11Lediglich die aktuelle Anzeige differiert mit dem Attribut NoOfEntries um 1.
Entweder liegt das daran, dass du die "departure_00" nicht mitgezählt hast, oder das Modul hat einen identischen Eintrag gelöscht - Siehe Reading "departure_Double-Entries".


Zitat von: moskito am 13 Februar 2026, 15:18:11Evtl. könntest du die Auswirkungen von WalkTimeToStation in der Hilfe mal beschreiben.

Mache ich. Hat nur Auswirkungen auf die Visualisierung der Blinklichter.
Schaffst du es nicht mehr den Bus mit WalkTimeToStation in Minuten zu erreichen: Rot
Schaffst du es gerade so  den Bus mit WalkTimeToStation in Minuten zu erreichen: Gelb
Schaffst du es gemütlich  den Bus mit WalkTimeToStation in Minuten zu erreichen: Grün
Ist der Bus fern in der Zukunft: Aus

Gruß
    Sailor
******************************
Man wird immer besser...

JWRu

#4
Nachdem heute Morgen mein HTTPMOD Departure-Device https://wiki.fhem.de/wiki/Departure seine Funktion eingestellt hat, habe ich DepartureBnT mal ausprobiert.
Funktioniert sehr gut.
Jetzt möchte ich gerne noch die Ergebnisse in meinem FTUI Widget Departure https://wiki.fhem.de/wiki/FTUI_Widget_Departure auf dem Tablet anzeigen.
Wahrscheinlich muss ich mir ein Userreading basteln, in dem äquivalent zum HTTPMOD Device alle Abfahrten hintereinander aufgereiht sind.
Das sieht so aus: [["Linie","Fahrtziel","Zeit in Min bis zur Abfahrt"],[......],...]

Noch eine Anmerkung: Das bei der Definition automatisch vergebene Icon "bus" gibt's in meinen FHEM-Icons nicht.

Edit - was mir noch aufgefallen ist: Wenn ich in der Detailansicht des DepartureBnT-Device bin, zerschießt es mir bei jedem Update der Abfahrtszeiten alles, was ich gerade bearbeite. Das gilt für die Editierung des Userreadings genauso wie für Eingaben in der perl-Befehlszeile ganz oben.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon- und Bresser-Sensoren; Steuerung Viessmann-Heizung; ESP32 für Strom-, Wasser-, Gaszähler, Arduino für Rauchmelder und FI-Schutzschalter

locodriver

Endlich wieder eine Möglichkeit, Fahrpläne anzuzeigen...

Dankeschön!
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

JWRu

#6
So - ich habe es geschafft, ein Userreading für das FTUI Widget Departure zu erstellen.

Falls es jemand gebrauchen kann:

Das ist die Definition des Userreading: departure_concat:departure_00.* { convertDepartureReadings($name) }
Das ist die dazugehörige Funktion aus 99_myUtils.pm: ###################################################################
#
# convertDepartureReadings
# wandelt die die Readings des DepartureBnT-Moduls in ein einzelnes
# verkettetes Reading im Stil eines HTTPMOD-Departure-Device um.
# Aufruf convertDepartureReadings(<Device>)
#
###################################################################

sub convertDepartureReadings($) {
    my ($Device) = @_;
my $Reading = "[";
my $prefix = "departure_";
my $oldReading;
my $count = AttrNum($Device,"NoOfEntries",0);
     for(my $i = 0;$i < $count;$i++) {
     $prefix .= sprintf("%02d",$i);
     $oldReading = $prefix."_number";
     my $number = ReadingsNum($Device,$oldReading,"");
     $Reading .= qq(["$number",");
     $oldReading = $prefix."_Destination-long";
     $Reading .= ReadingsVal($Device,$oldReading,"").qq(",");
     $oldReading = $prefix."_departureTimeInMinutes";
     $Reading .= ReadingsVal($Device,$oldReading,"").qq("]);
     if ($i < ($count - 1)) { $Reading .= ","; }
             $prefix = "departure_";
      }
$Reading .= "]";
return $Reading
}
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon- und Bresser-Sensoren; Steuerung Viessmann-Heizung; ESP32 für Strom-, Wasser-, Gaszähler, Arduino für Rauchmelder und FI-Schutzschalter