Plugin: Abfahrts-Assistent - berechnet anhand der Verkehrslage die Abfahrtszeit

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • LoxMunich
    LoxBus Spammer
    • 29.12.2016
    • 218

    #1

    Plugin: Abfahrts-Assistent - berechnet anhand der Verkehrslage die Abfahrtszeit

    Ich hatte mir zwei PHP-Skripte erstellt mit denen mir anhand der Kalendereinträge und unter Berücksichtigung der Verkehrslage und unter Eingabe von Pufferzeit sowie Ankaufszeit xx Minuten vor dem Termin die Abfahrtszeit ausgegeben wurde:

    Hier das LB4-Plugin. Die Admin-Oberfläche bietet alles Gewünschte: bis zu 10 Kalender (Name + iCal-URL), Kartendienst-Auswahl TomTom / Google Maps / HERE mit eigenem API-Key-Feld, Abfahrtsadresse, Ankunft-X-Minuten-vor-Termin und Pufferzeit.
    Das Plugin rechnet den Abfahrts-Countdown gleich selbst aus (ABFAHRT_IN = MINSTART − FAHRT − Ankunftsreserve − Puffer), sodass in Loxone ein einziges Muster \iABFAHRT_IN=\i\v reicht — und es versteht auch Serientermine (RRULE).

    Bei der Sprachausgabe:
    Loxone Music Server wird direkt über die bewährte TTS-URL (Port 7091, exakt dem Format inkl. Zonen wie 2~25,4~25) angesprochen; Audioserver4Home/MusicServer4Home über eine anpassbare URL-Vorlage mit Platzhaltern {ip} {port} {zones} {vol} {text};
    der originale Loxone Audioserver hat laut Loxforum keine HTTP-TTS-Schnittstelle — in diesem Modus liefert termin_say.php den fertigen Ansagetext, und die Oberfläche erklärt die Verdrahtung über Textgenerator → TTS-Eingang des Audioplayers.

    Ungetestet sind echte API-Aufrufe (TomTom/Google/HERE) und die Ansage am echten Gerät — mit dem individuellen Key und termin.php?debug=1 sieht man nach der Installation sofort das Ergebnis.


    LoxBerry-Plugin: Abfahrts-Assistent

    Sagt an, wann man losfahren muss: Das Plugin liest bis zu 10 iCal-Kalender (z. B. Google Kalender), sucht den nächsten Termin mit Ortsangabe, ermittelt die aktuelle Fahrzeit inkl. Verkehrslage (TomTom, Google Maps oder HERE) und berechnet daraus den Abfahrtszeitpunkt:

    ```
    Abfahrt = Terminbeginn − Fahrzeit − Ankunftsreserve − Pufferzeit
    ```

    Kompatibel mit LoxBerry 3.x und LoxBerry 4.0 (reines PHP 8, keine Zusatzpakete). Serientermine (RRULE, z. B. wöchentlicher Jour fixe) werden berücksichtigt.


    Konfiguration (Plugin-Oberfläche)
    • Bis zu 10 Kalender (Name + private iCal-URL)
    • Kartendienst: TomTom / Google Maps / HERE + eigener API-Key
    • Abfahrtsadresse (Zuhause)
    • Ankunft X Minuten vor Termin und Pufferzeit
    • Sprachausgabe:
      • Loxone Music Server (klassisch): direkte TTS-Ansage über Port 7091
      • Audioserver4Home / MusicServer4Home: URL-Vorlage (anpassbar)
      • Original Loxone Audioserver: hat keine HTTP-TTS-Schnittstelle — das Plugin liefert den Ansagetext, die Ausgabe erfolgt in Loxone Config über Textgenerator → TTS-Eingang des Audioplayer-Bausteins
      • Eigene URL-Vorlage mit Platzhaltern `{ip} {port} {zones} {vol} {lang} {text}`

    Es sind keine persönlichen Daten im Plugin enthalten — Kalender-URLs, API-Key und Adressen werden ausschließlich in der lokalen Konfiguration (`config/plugins/<plugin>/abfahrt.json`) gespeichert.

    Endpunkte (für Loxone)

    | Endpunkt | Zweck |
    |---|---|
    | `/plugins/abfahrtsassistent/termin.php` | Flat-Text: `TERMIN;OK=1;MINSTART=..;FAHRT=..;ABFAHRT_IN=..` |
    | `/plugins/abfahrtsassistent/termin.php?debug=1` | Diagnose |
    | `/plugins/abfahrtsassistent/termin_say.php` | Ansage auslösen (bzw. `TEXT=...` im Audioserver-Modus) |

    Virtueller HTTP-Eingang (alle 5 min): Befehlserkennung `\iABFAHRT_IN=\i\v`.
    Virtueller Ausgang (bei Abfahrt/Vorwarnung): `/plugins/abfahrtsassistent/termin_say.php`.

    Hinweise

    - Termine ohne Ortsangabe (LOCATION) werden ignoriert — nur für Termine mit Ziel lässt sich eine Fahrzeit berechnen.
    - Ganztagestermine werden ignoriert.
    - Abfragelimits: ICS-Cache 10 min, Routen-Cache 5 min, Geocoding dauerhaft.
    Zuletzt geändert von LoxMunich; vor 5 Tagen.
Lädt...