Technik
Fähigkeiten
Die Verträge zwischen den Modulen – was ein Modul zusagt, wenn es eine Fähigkeit meldet.
Prinzip
Eine Fähigkeit ist ein Vertrag. Ein Modul meldet sie in seiner Beschreibung, die Integration gibt sie in der Partnerliste weiter, und andere Module nutzen sie nur, wenn der Partner sie meldet – nie anhand des Modulnamens.
Übersicht
| Fähigkeit | Wer | Was sie zusagt |
|---|---|---|
navigation | Go | Offline-Navigation; Ziel, Ankunft, Restweg als Entitäten |
radio | Beat | UKW/DAB+-Radio als Mediaplayer |
ansage.einmischen | Beat | Ansagen werden ins laufende Radio gemischt |
mobilfunk | Router | Land, Roaming, Anbieter, Signal als Entitäten |
mobilfunk.sim_wechsel | Router | SIM 1/2 umschalten per Aktion |
kamera | Vision | Kameras als Entitäten, Kanal wählen per Aktion |
sprache.eingabe | Satellite | Mikrofon für den Sprachassistenten |
sprache.ausgabe | Satellite | Lautsprecher als Mediaplayer |
navigation
- Aktionen:
yapaia.go_ziel_setzen(zielals Text oderortmit Koordinaten),yapaia.go_navigation_pausieren,…_fortsetzen,…_beenden,yapaia.go_profil_waehlen(wert),yapaia.go_befehl(text; Antwort alsantwortim Ergebnis). - Zustände:
ankunft,restweg,ziel,zustand,tempo,tempolimit,standort. - Ereignisse:
ziel_erreicht,zu_schnell,gps_verloren,neuberechnung_fehlgeschlagen.
radio
- Aufruf: Home-Assistant-Aktion
yapaia.beat_befehl(text; Antwort im Ergebnis alsantwort) – ein Satz wie „Spiel SWR3“, „Radio aus“ oder „Nächster Sender“. - Daneben die Entitäten und Aktionen von Beat (
media_player.yapaia_beat,yapaia.beat_abspielen…).
ansage.einmischen
- Aufruf: Home-Assistant-Aktion
yapaia.beat_ansage– über Home Assistant, weil dort die Stimme (TTS) erzeugt wird. - Felder:
message(Pflicht),priority(info,hinweis,navigation), optionalengineundlanguage. - Antwort:
{"ok": true, "weg": "gemischt" | "lautsprecher"}oder{"ok": false, "error": "…"}. Beiok: falsespricht der Aufrufer selbst.
mobilfunk.sim_wechsel
- Aufruf:
yapaia.router_sim_waehlenmitsim: 1 | 2. - Ergebnis: über die Ereignisse
sim_gewechseltbzw.sim_wechsel_fehlgeschlagen.
kamera
- Entitäten:
camera.yapaia_vision_kamera_<n>je Kanal (Standbild und MJPEG-Live-Strom), dazuselect.yapaia_vision_kanal, wenn sich Kanäle einen Grabber teilen. - Aufruf:
yapaia.vision_kanal_waehlen(kanal: Name wie „Rückfahrkamera“ oder Nummer). Teilen sich Kanäle einen Grabber, läuft nur der gewählte live; die anderen zeigen ihr letztes Bild.
sprache.ausgabe
- Aufruf:
tts.speakmit demmedia_playeraus der Partnerliste.
