NEWS
Hannah — Open Source Smart-Home-Sprachassistentin
-
Dir fehlt mindestens die Funktion Engine. Die hat dein State zugewiesen. Wähle die also noch aus, drücke auf Speichern und Hannah sollte das Gerät finden.
Sep 23 21:32:40 iob python[1959373]: 21:32:40 [INFO] hannah.grpc_server: [grpc] Channel-Adapter registriert: 'telegram' (version='', verknüpfbar=True) Sep 23 21:33:00 iob python[1959373]: 21:33:00 [INFO] hannah.grpc_server: [grpc] SubmitText von telegram:5160868646 (user=2) — 'Schalte im Wohnzimmer Tablett laden ein' Sep 23 21:33:00 iob python[1959373]: 21:33:00 [INFO] hannah.main: [textcmd] Text: 'Schalte im Wohnzimmer Tablett laden ein' → Intent: Unknown | Raum: Wohnzimmer | Gerät: Tablett laden | Wert: None | SpeakerUser: 2 Sep 23 21:33:00 iob python[1959373]: 21:33:00 [INFO] hannah.tool_agent: [tool_agent] Iteration 1/5 — payload 2 msgs / ~763 chars Sep 23 21:33:00 iob python[1959373]: 21:33:00 [INFO] hannah.tool_agent: [tool_agent] finish_reason=stop tool_calls=0 Sep 23 21:33:00 iob python[1959373]: 21:33:00 [INFO] hannah.main: [2] Antwort (Unknown): 'Das kann ich leider nicht beantworten.' -
Mir ist nicht ganz klar was du meinst? So speziell ist der shellyplus2pm doch nicht. Klappt was nicht? Was soll funktionieren und tut es nicht?
Das Zahnrad ist bei jedem State rechts bei den Aktionen, da wo auch die Mülltonne ist.Übrigens: Ich habe einen kritischen Fehler in Hannah Core entdeckt und behoben.
-
wenn noch jemand mit PCBWay Erfahrung bestellen will, ich würde auch erstmal einen zum testen nehmen. Wenn das fluffig läuft dann später auch mehr (aktuell habe ich 6 Echo dots im Einsatz).
-
Ich habe eine Beschreibung zum Prozess bei PCBWay geschrieben: https://hannah-docs.leonie.network/components/satellite/pcb-order/
Feedback gerne hierher.
Ich empfehle eine Mindestbestellmenge von 5 Stück. Darunter ist es nicht wirtschaftlich.
-
Mir ist nicht ganz klar was du meinst? So speziell ist der shellyplus2pm doch nicht. Klappt was nicht? Was soll funktionieren und tut es nicht?
Das Zahnrad ist bei jedem State rechts bei den Aktionen, da wo auch die Mülltonne ist.Übrigens: Ich habe einen kritischen Fehler in Hannah Core entdeckt und behoben.
-
Grundsätzlich kann Hannah das. Generell steht zu Rollläden auch was dort: https://hannah-docs.leonie.network/manual/smart-home-integration/
Da ich aber nicht weiß welche Rollläden du hast bzw. welche States die haben, müsstest du mindestens einen Screenshot davon teilen
-
OK, läuft. erstmal.
Jetzt habe ich noch einen Keller_water_detector , Zigbee.
Wie kann man Battery Status Low , Remaining battery in %, und Water leak detected
Welcher Kanonischer State-Key
Welche Gerätekategorie
bei den einzelnen Datenpunkte -
Aktuell gar nicht. Die Typen sind aktuell nicht unterstützt. Du könntest bspw. einen Trigger anlegen mit der StateID von battery_remaining und Hannah darauf reagieren lassen:

Genau so auch bspw. für water leak detected, da könnte Hannah eine Ansage machen, das ein Wassereinbruch erkannt wurde.Eine Abfrage per Sprache oder Text wird von der NLU stand jetzt aber nicht unterstützt.
-
🚀 Update: das hat sich seit dem 24. August getan
Hallo zusammen,
seit meinem letzten Update am 24. August ist wieder einiges passiert – diesmal sogar so viel, dass der Beitrag etwas länger wird. Viel steht hier auch über die letzten Seiten schon verstreut, aber an der Stelle nochmal gebündelt. Holt euch einen Kaffee ☕
Drei große Brocken haben den Monat bestimmt: Container-Images, eine komplett neue Dokumentation und der Log Collector. Dazu kommen jede Menge neue Funktionen und Bugfixes, von Hannah Core 0.75.1 bis 0.87.5.
🐳 Container-Images für alle Komponenten
Das Thema kam hier im Thread immer wieder auf, und ihr hattet recht: Eine native Installation per
install.shist nicht jedermanns Sache. Deshalb gibt es jetzt für alle Komponenten fertige Multi-Arch-Images (amd64 + arm64) auf quay.io – Core, WebUI, Proxy, Telegram, VoiceID, Timer, Log Collector und die Teams-Bridge.Die ersten Tage waren… lehrreich. Das erste Image-Release ist direkt beim Zusammenbauen der Multi-Arch-Manifeste gescheitert, dem Proxy-Image fehlte die C-Bibliothek, die sein Binary brauchte, VoiceID wollte auf arm64 mehrere Gigabyte CUDA-Treiber installieren (für eine Grafikkarte, die es gar nicht gibt 🙃), und der Admin-Zugang beim ersten Start tauchte im Container-Log nicht auf. Das ist inzwischen alles behoben.
Was euch das Leben leichter macht:
- Jede Einstellung per Umgebungsvariable –
config.yamlist für Core, Telegram, Proxy und VoiceID jetzt optional. Alles lässt sich direkt in derdocker-compose.ymlsetzen. - Eine Compose-Datei mit Profilen – Core und WebUI laufen immer, alles andere schaltet ihr per Profil dazu (
with-proxy,with-voiceid,with-timer,with-logcollector, … oder einfachfull). - Compose-Generator in der neuen Doku: Häkchen setzen, was ihr haben wollt, und ihr bekommt eine fertige
docker-compose.ymlinklusive zufällig erzeugter Passwörter. - Core startet jetzt auch sauber, wenn der MQTT-Broker beim Hochfahren noch nicht erreichbar ist (vorher Absturz – bei Docker Compose leider der Normalfall).
📚 Die neue Doku: hannah-docs.leonie.network
👉 https://hannah-docs.leonie.network
Das war ehrlich gesagt der größte Zeitfresser des Monats. Bisher lag das Wissen über Hannah verstreut in READMEs, Changelogs und meinem Kopf. Jetzt gibt es ein richtiges Handbuch – geschrieben für Leute, die Hannah betreiben wollen, nicht nur für Entwickler.
Was schon drin ist:
- Installation per Docker oder nativ, Schritt für Schritt
- Jede Komponente mit Übersicht, Installation und Konfiguration – inklusive einer ehrlichen Einschätzung, ob ihr sie überhaupt braucht (Ja, Empfohlen oder Bei Bedarf)
- Satelliten-Platine bestellen – eine Anleitung für die Rev. 5 bei PCBWay, plus Inbetriebnahme (Antenne, Stromversorgung, Flashen direkt aus dem Browser)
- Anleitungen für WebUI-Themen wie Wecker, Satelliten-Verwaltung, Kontoverknüpfung usw.
Ein netter Nebeneffekt: Beim Schreiben sind mir eine ganze Reihe Bugs aufgefallen. Beispiel-Configs, die Einstellungen beschrieben haben, die gar nichts tun, fehlende Vorlagen im Release, Installer, die sich ohne Fehlermeldung verabschiedet haben. Doku schreiben ist offenbar auch Qualitätssicherung 😅
Die Doku ist noch lange nicht fertig. Sie liegt auf GitHub, wer also etwas findet oder ergänzen möchte: Pull Requests und Issues sind herzlich willkommen!
📋 Neu: der Log Collector
Wer hier schon mal einen Fehler gemeldet hat, kennt das Spiel: „Kannst du mal die Logs von Core schicken? Und vom Adapter? Und vom Proxy? Ungefähr um welche Uhrzeit war das?“ Damit ist jetzt Schluss.
Der Log Collector ist eine neue, optionale Komponente – quasi ein Flugschreiber für Hannah. Alle Komponenten schicken ihm ihre Logs, er hebt sie eine Weile auf (standardmäßig 7 Tage bzw. höchstens 256 MB), und bei Bedarf gibt er sie als ein einziges Archiv heraus.
- Kein Einrichtungsaufwand bei den Komponenten – der Log Collector meldet sich bei Hannah an, und Hannah teilt allen anderen mit, wohin sie ihre Logs schicken sollen.
- Download direkt in der WebUI – als Admin (Trust-Level 10) erscheint oben der Eintrag Logs. Dort wählt ihr Komponenten und Zeitraum aus und bekommt ein
.tar.gz. - Datenschutz eingebaut – was im Haushalt gesagt wurde (Transkripte) und Raum-/Anwesenheitsdaten (Metadaten) sind standardmäßig nicht im Archiv und müssen bewusst dazugewählt werden. Passwörter und Tokens werden schon vor dem Versand herausgefiltert.
- Alles bleibt bei euch – nichts verlässt eure Installation.
- Unterstützt von Core, WebUI, ioBroker-Adapter (ab 1.2.0), Telegram, VoiceID, Proxy, Timer, AutoDeploy und der Teams-Bridge.
Mein Wunsch an euch: Wenn ihr künftig ein Problem meldet, hängt gern so ein Log-Bundle an – ohne Transkripte und Metadaten reicht das fast immer. Das spart uns allen viel Hin und Her 🙏
✨ Neue Funktionen
- Anwesenheit komplett neu – Hannah entscheidet jetzt selbst, wer zu Hause ist. Als Quelle taugt jeder Ja/Nein-Datenpunkt aus ioBroker (WLAN, Fritzbox, Türkontakt, Bewegungsmelder, …) sowie Hannahs eigene BLE-Erkennung. Weil nicht jeder Sensor gleich zuverlässig ist, bekommt jede Quelle pro Person ihre eigene Gewichtung, und Hannah wägt die Signale gegeneinander ab. Eine Karenzzeit fängt kurze Aussetzer ab. Kein Hin- und Herspringen mehr zwischen „da“ und „weg“, nur weil ein einzelner Sensor mal kurz wackelt. Die Quellen stellt ihr pro Person in der WebUI ohne Code ein.
- „Gute Nacht“ und „Guten Morgen“ – Hannah kennt jetzt den Schlafstatus und gleicht ihn in beide Richtungen mit dem Residents-Adapter ab. Trigger können die Anwesenheit auch direkt setzen.
- Trigger antworten dort, wo gesprochen wurde – eine Ansage kann jetzt an den „angesprochenen Satelliten“ gehen, statt immer an einen festen Raum.
- Rollläden verstehen – „öffnen“, „schließen“, „hoch“, „runter“, „rauf“ funktionieren jetzt. Aktoren, die 0 % als offen interpretieren (manche Homematic-/KNX-Geräte), lassen sich im Adapter als „invertiert“ markieren. Und ja: „Rolladen“, „Rollläden“ und „Rolläden“ werden jetzt alle erkannt 😄
- Hannah fragt nach, statt zu raten – gibt es einen Gerätenamen in mehreren Räumen, oder könnte „hoch“ sowohl den Rollladen als auch den Lüfter meinen, fragt sie jetzt nach. Ein verhörter Gerätename („Rolladen seit“) wird unscharf abgeglichen, statt einfach alles im Raum zu schalten.
- „Lerne meine Stimme“ – ein geführter Dialog am Satelliten für die Sprechererkennung. Hannah stellt ein paar Fragen und lernt aus euren Antworten, direkt aus der WebUI gestartet.
- Konten verknüpfen, aber einfach – Telegram verknüpft ihr jetzt per Klick auf einen Link aus der WebUI (kein BotFather-Domain-Gefummel mehr), Microsoft-Konten über eine normale Anmeldung.
- Neue Wege, mit Hannah zu reden:
- Chat im Terminal – Hannah am PC per Tastatur anschreiben
- Lite-Satellit – ein Satellit als PC-Programm, mit Mikrofon und Lautsprecher des Rechners. Eine Alternative zum vollwertigen Satelliten, z. B. am Schreibtisch oder zum Testen, bevor die Platine da ist
- Microsoft Teams – Hannah im Teams-Chat anschreiben. Das ist die einzige Komponente, die aus dem Internet erreichbar sein muss, deshalb bitte vorher den Sicherheitsabschnitt in der Doku lesen
- Adapter-Einstellungen mit Formular – Name, Gerätekategorie und Rolle eines Datenpunkts für Hannah lassen sich jetzt im normalen „Benutzerdefinierte Einstellungen“-Dialog setzen, ohne Expertenmodus.
- Piper lädt Stimmen selbst herunter, und kurze Antworten landen im Cache, sodass sie auf dem Pi schneller kommen.
🔧 Satellit
Ein Satellit, der abstürzt, hat bisher genau null Spuren hinterlassen. Das ist jetzt anders: Seit Core 0.79.6 schreibt die Firmware bei einem Absturz einen Coredump in einen eigenen Flash-Bereich, den ich danach abholen und auswerten kann. Dafür musste einmalig die Partitionstabelle angepasst werden, und das hat erst im dritten Anlauf geklappt: einmal hat sich der Satellit selbst für ein kaputtes Update gehalten und zurückgerollt, einmal hat ESP-IDF das Schreiben der Partitionstabelle schlicht verweigert (eigentlich eine sinnvolle Schutzfunktion). Mit 0.79.8 läuft es.
Und der Coredump hat sich sofort gelohnt: Satelliten mit aktivem BLE-Scan sind gelegentlich mit einem Stack Overflow im Bluetooth-Task neu gestartet. Mit dem Dump war die Ursache schnell gefunden und ist seit 0.80.3 behoben.
Kleine, aber feine Änderung: PTT funktioniert jetzt auch bei stummgeschaltetem Satelliten. Wer direkt am Gerät steht und die Taste drückt, meint es ernst 😉
🛡️ Stabilität
Mein persönlicher Favorit: Hannah hat sich gelegentlich selbst zugehört. Das Echo ihrer eigenen Antwort – oder ihre Stimme im Mikro eines anderen Satelliten – landete als neuer Befehl bei ihr. Jetzt kennt sie ihre eigene Stimme über VoiceID und ignoriert sich selbst (Core 0.75.12).
Außerdem:
- Falscher Raum – „Licht aus“ ohne Raumangabe konnte ein Gerät in einem ganz anderen Raum schalten. Ein nicht gefundener Gerätename hat im schlimmsten Fall den ganzen Raum ausgeschaltet. Beides ist behoben.
- Keine überlappenden Ansagen – spielt ein Satellit gerade etwas ab, werden neue Ansagen nicht mehr einfach darübergelegt.
- Absturz nach längerer Laufzeit – „unable to open database file“ / „File descriptor limit reached“: Datenbankverbindungen wurden nicht sauber geschlossen, besonders unter Python 3.14 (Core 0.86.1).
- Nach einer Rückfrage („Welchen Raum meinst du?“) gehen Statusfragen jetzt nicht mehr verloren, und Hannah antwortet mit dem echten Status statt „Keine Geräte gefunden“.
- Schaltbestätigung ist jetzt ein schlichtes „OK.“ statt einer Geräteanzahl, die oft nicht gestimmt hat.
- Diverse Installer-Fixes: Ubuntu-venvs ohne pip, stilles Abbrechen bei Rate-Limits, fehlende Config-Vorlagen im Release.
📦 Aktuelle Versionen
Komponente Version Hannah Core 0.87.1 WebUI 2.10.0 ioBroker-Adapter 1.2.0 Proxy 0.87.5 Telegram 0.87.3 VoiceID 0.87.4 AutoDeploy 0.87.5 Timer 0.3.0 Log Collector 0.2.2 Teams Bridge 0.1.0 Ein großes Dankeschön an alle, die hier im Thread testen, Fehler melden und Ideen einbringen – ohne euch gäbe es die Container-Images jetzt noch nicht ❤️
Viele Grüße
Leonie - Jede Einstellung per Umgebungsvariable –
-
Hey Leonie, wollt gerade mal Updaten.
Nach Installation von:
curl -fsSL https://raw.githubusercontent.com/NurPech/hannah/master/core/deploy/install.sh | sudo bash
Hannah Core soll sein 0.87.5 , ist bei mir 0.8.7.1
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden



