Hallo zusammen,
seit meinem letzten Update Ende Juni ist einiges passiert, hier ein kurzer Überblick:
✨ Neue Funktionen
Ein Activity Log: Hannah protokolliert jetzt, was wann über welchen Kanal erkannt und getan wurde, inklusive Sprachaufnahme — abrufbar über eine neue "Verlauf"-Seite in der WebUI.
Eine Nachrichten-Mailbox: Nutzer können sich gegenseitig Nachrichten hinterlassen, die beim nächsten Gespräch abgespielt werden, inklusive Antwortfunktion — auch dafür gibt's jetzt eine eigene Seite in der WebUI.
Wecker und Timer wurden grundlegend überarbeitet (volle Sprachsteuerung: setzen, löschen, abfragen, stoppen).
Die alten "Routinen" sind jetzt komplett in die Trigger-Engine aufgegangen — ein Konzept weniger, dafür flexibler (auch per Sprachphrase auslösbar, direkt im Trigger-Builder der WebUI).
🖥️ WebUI
Hat sich seit der letzten Vorstellung nochmal deutlich weiterentwickelt:
Berechtigungssystem — Zugriff richtet sich jetzt nach Trust-Level, Admin-Bereiche (User-/Gruppenverwaltung) sind wirklich abgeschottet statt nur versteckt.
Self-Service-Seite (/me) — jeder kann ohne Admin-Rechte sein Passwort ändern, Telegram verknüpfen und eigene Wecker verwalten.
BLE-Tags und Fahrzeuge haben jetzt eigene Verwaltungsseiten statt rohem JSON in den Settings.
No-Code-Editor für Trigger/Settings verbessert — Geräte/Zustände per Dropdown statt ioBroker-State-ID von Hand eintippen.
Satelliten-Seite zeigt jetzt Firmware-Version, hat einen Update-Button und einen Toggle fürs automatische Weiterzuhören nach Smalltalk.
Responsive/Mobile — Listenseiten laufen jetzt als Karten-Layout auf dem Handy statt seitlich scrollender Tabellen.
PWA-Support — lässt sich wie eine App installieren (Add to Home Screen/Desktop).
🔧 Hardware
Die Satelliten-Platine ist jetzt in Revision 5 unterwegs: vier Mikrofone statt zwei (für Beamforming), externe Antenne, überarbeitetes Routing. Beim Bringup gab's einiges an Mikrofon-Ärger — falsches Clock-Timing, DMA-Limits, Verstärkungsprobleme — am Ende musste ich Beamforming vorerst wieder zugunsten von sauberem Audio bei 16kHz zurückstellen. Nicht mein schönster Monat, aber die Satelliten laufen jetzt stabil im Alltag.
🎙️ Wake-Word-Qualität
Ein größerer Debugging-Marathon: Falsche Quantisierungs-Skalierung im Modell (Faktor 5 daneben!) und ein durch ein IDF-Update kaputtes Rauschunterdrückungs-Modul haben lange für schlechte Erkennung gesorgt. Beides gefunden und behoben, dazu ordentliches On-Device-Debug-Tooling gebaut, um sowas beim nächsten Mal schneller zu finden.
🛡️ Stabilität
Diverse Speicher-/Absturz-Themen bei den Satelliten behoben (Heap-Erschöpfung durch falsche RAM-Zuordnung, hängende OTA-Updates in bestimmten Zuständen) sowie ein Paket-Reihenfolge-Bug im Proxy, der zu Audio-Artefakten führen konnte.
🗣️ Zuletzt
Die Sprechererkennung (Voice-ID) läuft jetzt direkt in Hannah Core statt nur über den optionalen Proxy — damit funktioniert sie jetzt auch ohne Proxy zuverlässig, und das bisher tote Voice-Enrollment per gRPC ist jetzt tatsächlich nutzbar.
📚 Doku
Sowohl im Hauptrepo (README, jetzt je Komponente ein eigenes) als auch in der WebUI (README + Nutzungsanleitung je Seite) wurde die Dokumentation deutlich überarbeitet und war teils ziemlich veraltet — sollte jetzt wieder verlässlicher sein.
Insgesamt viel unter der Haube, aber auch einiges, das man direkt merkt. Fragen wie immer gerne hier im Thread!
Liebe Grüße
Leonie