feat(P2): Notruf verschickt E-Mail an Kontaktperson (Testphase)

Beim Notruf-Knopf wird – sofern SMTP konfiguriert ist – eine E-Mail an die
Kontaktperson(en) des Nutzers geschickt (Default: dieter.schlueter@linix.de).
Der Nutzer-Hinweis spiegelt ehrlich wider, ob wirklich etwas rausging:
"Kontaktperson per E-Mail benachrichtigt" vs. "noch keine Benachrichtigung".

- config.py: EMERGENCY_CONTACT_EMAIL + SMTP_* (ohne SMTP_HOST kein Versand);
  veralteten LLM-Klassifikator-Kommentar entfernt.
- emergency.py: SMTP-Versand (best effort, im Thread), lokalisierte Hinweise
  für "gesendet"/"nicht gesendet" (10 Sprachen). Pro-Nutzer-Kontakte via
  prefs.emergency_contacts vorbereitet, Fallback auf Config-Default.
- Test mit gemocktem smtplib. env.example + DEPLOYMENT.md 2.5 dokumentiert.

SMS/Anruf-Eskalation folgt später (eigene Planung). 210 passed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-25 03:37:18 +02:00
commit c35fe6e187
6 changed files with 141 additions and 20 deletions

View file

@ -845,6 +845,16 @@ ADMIN_USERS=dschlueter
DB_PATH=/var/lib/voice-assistant/voice-assistant.db
HF_HOME=/var/lib/voice-assistant/hf-cache
SSO_LOGOUT_URL=https://auth.jamulix.de/?action=logout
# Notruf-Benachrichtigung per E-Mail (Testphase). OHNE SMTP_HOST kein Versand;
# der Nutzer sieht dann "noch keine Benachrichtigung eingebaut". SMS/Anruf folgen.
EMERGENCY_CONTACT_EMAIL=dieter.schlueter@linix.de
SMTP_HOST= # z. B. smtp.linix.de — leer = kein Versand
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM= # leer -> SMTP_USER
SMTP_STARTTLS=true
```
```bash