Vollstaendige Uebersicht aller Events im Trixy-System. Plugins koennen sich auf beliebige Events registrieren:
@TrixyEvent(["event_name"])
async def on_event(self, event_name, event_data):
pass
Events fuer den Start, Betrieb und Shutdown des Systems.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
application_starting |
System startet, Services werden geladen | mode, version |
server/client/standalone |
application_ready |
Alle Services gestartet, System betriebsbereit | mode, version, services_count |
server/client/standalone |
application_stopping |
Shutdown eingeleitet | reason |
server/client/standalone |
system_shutdown |
System wird heruntergefahren (EventData) | reason, source |
server/client/standalone |
service_started |
Ein Service wurde gestartet | service_name, priority, group |
ServiceContainer |
service_stopped |
Ein Service wurde gestoppt | service_name, reason |
ServiceContainer |
service_error |
Ein Service hat einen Fehler | service_name, error, traceback |
ServiceContainer |
Ueberwachung der Internet-Verbindung.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
online_status_changed |
Online-Status hat sich geaendert | online, since, previous |
OnlineService |
connection_online |
Verbindung wiederhergestellt (war offline) | online, since, offline_duration_seconds |
OnlineService |
connection_offline |
Verbindung verloren (war online) | online, since, online_duration_seconds |
OnlineService |
Events rund um Satellite-Verbindungen und -Verwaltung.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
satellite_connected |
Satellite hat sich verbunden (EventData) | satellite_id, mac_address, room, alias |
NetworkService |
satellite_disconnected |
Satellite hat sich getrennt (EventData) | satellite_id, room, reason |
NetworkService |
satellite_registered |
Neuer Satellite wurde registriert | satellite_id, mac_address, alias |
SatelliteManager |
satellite_unregistered |
Satellite wurde entfernt | satellite_id, alias |
SatelliteManager |
satellite_heartbeat_lost |
Heartbeat eines Satellites ausgefallen | satellite_id, alias, last_seen |
SatelliteManager |
satellite_recording_started |
Server-gesteuerte Aufnahme gestartet (EventData) | satellite_id, recording_id |
Satellite |
satellite_recording_stopped |
Server-gesteuerte Aufnahme beendet (EventData) | satellite_id, recording_id, duration |
Satellite |
satellite_stream_started |
Audio-Stream gestartet (EventData) | satellite_id, target_id |
Satellite |
satellite_stream_stopped |
Audio-Stream beendet (EventData) | satellite_id, target_id |
Satellite |
client_connected |
Client hat sich zum Server verbunden | host, port |
ClientApplication |
client_disconnected |
Client hat Verbindung verloren | reason |
ClientApplication |
Events rund um Wakeword-Detection und Aufnahme.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
wakeword_detected |
Wakeword erkannt | satellite_id, model_name, confidence, audio_level, forced |
WakewordService |
wakeword_manual_trigger |
Manueller Trigger (HID Hook-Taste) | device, forced |
HIDService |
wakeword_listening |
Wakeword-Erkennung ist aktiv | satellite_id |
WakewordService |
wakeword_paused |
Wakeword-Erkennung pausiert | satellite_id, reason |
WakewordService |
recording_started |
Audio-Aufnahme gestartet | session_id, satellite_id |
WakewordService |
recording_stopped |
Audio-Aufnahme beendet | session_id, satellite_id, duration_seconds, ended_by |
WakewordService |
raw_audio_received |
Roh-Audio empfangen (nach Aufnahme) | session_id, audio_data, wakeword_type, duration_seconds |
WakewordService/AudioAccumulator |
recording_config_override |
Temporaere Aufnahme-Konfiguration | silence_timeout, max_duration |
Plugin |
Events fuer Conversation-Sessions zwischen Satellite und Server.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
conversation_started |
Neue Conversation-Session begonnen | satellite_id, conversation_id, arbitration_id |
Arbitrator |
conversation_ended |
Conversation-Session beendet | conversation_id, satellite_id, duration_seconds, reason |
ConversationManager |
conversation_timeout |
Keine Antwort, Timeout | conversation_id, satellite_id, timeout_seconds |
ConversationManager |
conversation_followup |
Rueckfrage gestartet | conversation_id, satellite_id, followup_count |
WakewordService |
followup_expected |
System erwartet eine Rueckfrage-Antwort | conversation_id |
IntentDispatcher |
Events fuer die Spracherkennung.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
speech_recognized |
Sprache erkannt und transkribiert (EventData) | text, confidence, language, satellite_id |
STT-Plugin |
stt_completed |
STT-Verarbeitung abgeschlossen | text, confidence, provider, duration_ms |
STT-Plugin |
stt_error |
STT-Fehler | error, provider |
STT-Plugin |
Events fuer die Verarbeitung natuerlicher Sprache.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
intent_received |
Intent erkannt (EventData) | intent_name, confidence, text, slots |
NLP-Plugin |
intent_handled |
Intent wurde von Handler verarbeitet | intent_name, handler, success, response_text |
IntentDispatcher |
create_output_text |
Antwort-Text soll generiert werden | text, satellite_id |
IntentDispatcher |
output_text_created |
Antwort-Text wurde generiert (EventData) | text, satellite_id |
NLP-Plugin |
Events fuer die Sprachausgabe.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
tts_request |
TTS-Anfrage (EventData) | text, satellite_id, voice |
Satellite/Plugin |
tts_completed |
TTS-Audio generiert | audio_data, sample_rate, duration_seconds, provider |
TTS-Plugin |
tts_error |
TTS-Fehler | error, provider, text |
TTS-Plugin |
tts_stop |
TTS-Wiedergabe stoppen | satellite_id |
MusicService |
Events fuer Audio-Ein-/Ausgabe und Verarbeitung.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
audio_input_received |
Audio-Daten vom Mikrofon empfangen | session_id, audio_data |
NetworkService |
audio_output_received |
Audio-Daten fuer Lautsprecher | audio_data, sample_rate |
Client |
audio_input_started |
Mikrofon-Aufnahme gestartet | satellite_id, source |
AudioService |
audio_input_stopped |
Mikrofon-Aufnahme gestoppt | satellite_id |
AudioService |
audio_level_changed |
Lautstaerke wurde geaendert | volume, previous_volume, source |
AudioService |
audio_muted |
Audio stummgeschaltet | source |
AudioService |
audio_unmuted |
Stummschaltung aufgehoben | source |
AudioService |
Events von USB-HID-Geraeten (Konferenzmikrofone, Headsets).
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
volume_change |
Lautstaerke-Taste gedrueckt | direction (up/down), step, device |
HIDService |
mute_toggle |
Stumm-Taste gedrueckt | device |
HIDService |
playback_toggle |
Play/Pause-Taste gedrueckt | device |
HIDService |
Events fuer den Musik-Player.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
stream_start |
Musik-Stream gestartet (EventData) | satellite_id, source, track |
MusicService |
stream_update |
Stream-Metadaten aktualisiert (EventData) | satellite_id, position_ms |
MusicService |
stream_stop |
Musik-Stream gestoppt (EventData) | satellite_id, reason |
MusicService |
music_play_pause |
Play/Pause umschalten | — | Client |
music_stop |
Musik stoppen | — | Client |
music_stopped |
Musik wurde gestoppt | — | Client |
music_next |
Naechster Track | use_crossfade |
Client |
music_previous |
Vorheriger Track | — | Client |
music_paused |
Musik pausiert | — | Client |
music_resumed |
Musik fortgesetzt | — | Client |
music_volume_change |
Musik-Lautstaerke geaendert | volume |
Client |
music_output_received |
Musik-Audio-Daten empfangen | audio_data, sample_rate |
Client |
media_stop_all |
Alle Medien stoppen | — | Client |
media_stopped |
Alle Medien gestoppt | — | Client |
Events fuer den Plugin-Lifecycle.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
plugin_loaded |
Plugin wurde geladen (EventData) | plugin_name, version |
PluginManager |
plugin_unloaded |
Plugin wurde entladen (EventData) | plugin_name |
PluginManager |
plugin_error |
Plugin-Fehler (Exception) | plugin_name, error, traceback |
PluginManager |
plugin_config_changed |
Plugin-Config geaendert (Hot-Reload) | plugin_name, changes |
ConfigManager |
Events fuer Konfigurations-Aenderungen.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
config_loaded |
Konfigurationsdatei geladen | path, config_type |
ConfigManager |
config_changed |
Konfigurationswert geaendert | path, key, old_value, new_value |
ConfigManager |
config_saved |
Konfiguration gespeichert | path |
ConfigManager |
config_error |
Konfigurationsfehler | path, error |
ConfigManager |
Events fuer geplante Aufgaben.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
scheduler_job_started |
Geplanter Job gestartet | job_id, job_name |
SchedulerService |
scheduler_job_completed |
Geplanter Job abgeschlossen | job_id, job_name, status, duration_ms |
SchedulerService |
Events fuer Datei-Downloads und -Extraktion.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
before_download |
Vor einem Download (abbrechbar) | url, target_path |
DownloadUtils |
download_progress |
Download-Fortschritt | url, downloaded_bytes, total_bytes |
DownloadUtils |
download_completed |
Download abgeschlossen | url, target_path, size_bytes |
DownloadUtils |
download_failed |
Download fehlgeschlagen | url, error |
DownloadUtils |
before_extract |
Vor dem Entpacken (abbrechbar) | archive_path, target_dir |
DownloadUtils |
extract_completed |
Entpacken abgeschlossen | archive_path, target_dir |
DownloadUtils |
Events fuer Daten-Synchronisation.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
sync_completed |
Daten-Sync abgeschlossen | data_type, count |
SyncService |
sync_item_received |
Einzelnes Sync-Item empfangen | data_type, item_id |
SyncService |
sync_push_received |
Push-Sync empfangen | data_type, source |
SyncService |
Events fuer Benutzer-bezogene Aktionen.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
user_login |
Benutzer hat sich angemeldet | username, satellite_id |
AdminPlugin |
user_identified |
Stimme wurde erkannt (Speaker Recognition) | user_name, confidence, satellite_id |
VoiceRecognition |
notification_sent |
Benachrichtigung an Satellite gesendet | satellite_id, text, sound |
NotificationService |
alarm_triggered |
Timer/Reminder ausgeloest | alarm_id, type, satellite_id |
Timer/Reminder Plugin |
Events fuer Netzwerk-Kommunikation.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
network_message_received |
Netzwerk-Nachricht empfangen | class_name, data |
Client/NetworkService |
Events fuer System-Ueberwachung.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
error_occurred |
Allgemeiner Fehler | component, error, severity, traceback |
Beliebig |
health_check_failed |
Service Health-Check fehlgeschlagen | service_name, error |
ServiceContainer |
disk_space_low |
Festplattenspeicher knapp (<500MB) | free_mb, path |
OnlineService |
memory_high |
RAM-Nutzung kritisch (>90%) | used_percent, used_mb, total_mb |
OnlineService |
Events fuer ML-Training.
| Event | Beschreibung | Daten | Quelle |
|---|---|---|---|
training_started |
Training gestartet | trainer_name, model_name |
TrainerService |
training_progress |
Training-Fortschritt | trainer_name, epoch, loss, progress |
TrainerService |
training_completed |
Training abgeschlossen | trainer_name, model_name, accuracy |
TrainerService |
training_failed |
Training fehlgeschlagen | trainer_name, error |
TrainerService |
model_loaded |
ML-Modell geladen | model_name, model_type, path |
ModelService |
model_unloaded |
ML-Modell entladen | model_name, reason |
ModelService |
Trixy verwendet zwei Event-Mechanismen:
await events.emit("event_name", {"key": "value"})
Einfache Events mit freien Daten-Dicts. Koennen nicht abgebrochen werden.
await events.trigger(EventDataObject)
Typisierte Events mit Dataclass-Objekten. Unterstuetzen:
# Via Decorator (in Plugins)
@TrixyEvent(["speech_recognized", "stt_completed"])
async def on_speech(self, event_name, event_data):
text = event_data.get("text", "")
# Via EventManager direkt
events.register("connection_online", self._on_back_online)
| Prioritaet | Wert | Verwendung |
|---|---|---|
| SYSTEM | 0 | Interne System-Handler |
| HIGHEST | 100 | Kritische Handler (z.B. STT-Korrektur) |
| HIGH | 200 | Vor-Verarbeitung |
| NORMAL | 500 | Standard (Plugins) |
| LOW | 800 | Nach-Verarbeitung |
| LOWEST | 900 | Logging, Monitoring |
| MONITOR | 1000 | Nur beobachten (nicht abbrechbar) |