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.