NEWS
Hannah — Open Source Smart-Home-Sprachassistentin
-
ja schon. Das Composefile verwendet Profile. Der compose Befehl den die Synology offenbar verwendet, gibt aber keine Profile an. Ohne Angabe von Profilen, wird nur Hannah-Core und Hannah-WebUI deployt. Der Container mysql fehlt dann, was auch deine Meldung erklärt
"no such service: mysql-db"
Du kannst einen anderen mysql-Host/Container nutzen oder du entfernst in der Compose Datei beim MySQL-Service diese Zeile:
profiles: ["full", "with-db"]Dann sollte das klappen.
Du kannst aber auch den mysql-server weglassen. Dann hast du keinen Activity Log, aber sonst sollte Hannah funktionieren. Die Meldung ist meine ich dann egal.
Das kannst du überprüfen wenn du mir bspw. einen Screenshot der laufenden Container zeigst. Würde dir ja einen Befehl dafür geben, aber das scheint bei der Synology nicht zu funktionieren. -
Ich habe die compose mal etwas gekürzt und alles optional verwies gelöscht.
services: hannah-core: image: quay.io/m1kad0/hannah-core:latest container_name: hannah-core restart: unless-stopped pull_policy: always ports: - "50051:50051" networks: - hannah_network volumes: - core_activity_audio:/app/activity_audio - core_audio_dumps:/app/audio_dumps - core_data:/app/data - ./core-config.yaml:/etc/hannah/config.yaml:ro hannah-webui: image: quay.io/m1kad0/hannah-webui:latest container_name: hannah-webui restart: unless-stopped pull_policy: always depends_on: - hannah-core networks: - hannah_network ports: - "5000:5000" volumes: - webui_data:/data environment: HANNAH_WEBUI_SECRET_KEY: "Hannah" HANNAH_WEBUI_GRPC_HOST: "hannah-core" HANNAH_WEBUI_GRPC_PORT: "50051" # Optional: natives TLS fürs Telegram-Login-Widget, siehe # Telegram-Verknüpfung einrichten (WebUI-Komponente) # HANNAH_WEBUI_TLS_ENABLED: "true" volumes: core_data: core_activity_audio: core_audio_dumps: webui_data: timer_data: mysql_data: mosquitto_data: mosquitto_log: hannah_mem: networks: hannah_network: driver: bridgeDamit lies sich der Download starten.
Endet allerdings mit Exit1 und einer Fehlermeldung, welche im Terminal nicht
komplett zu sehen ist.
Meldung lässt sich blöderweise nicht kopieren.


-
Ja das war mir auch aufgefallen.
Jetzt startet zwar der Core und wird nach 3 sec. beendet.
Hier das Log:2026/09/20 15:17:38 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:17:38 stderr ^^^^^^^ 2026/09/20 15:17:38 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:17:38 stderr File "/app/main.py", line 148, in main 2026/09/20 15:17:38 stderr ~~~~^^ 2026/09/20 15:17:38 stderr main() 2026/09/20 15:17:38 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:17:38 stderr Traceback (most recent call last): 2026/09/20 15:17:38 stderr 13:17:38 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:16:33 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:16:33 stderr ^^^^^^^ 2026/09/20 15:16:33 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:16:33 stderr File "/app/main.py", line 148, in main 2026/09/20 15:16:33 stderr ~~~~^^ 2026/09/20 15:16:33 stderr main() 2026/09/20 15:16:33 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:16:33 stderr Traceback (most recent call last): 2026/09/20 15:16:33 stderr 13:16:33 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:15:29 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:15:29 stderr ^^^^^^^ 2026/09/20 15:15:29 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:15:29 stderr File "/app/main.py", line 148, in main 2026/09/20 15:15:29 stderr ~~~~^^ 2026/09/20 15:15:29 stderr main() 2026/09/20 15:15:29 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:15:29 stderr Traceback (most recent call last): 2026/09/20 15:15:29 stderr 13:15:29 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:14:24 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:14:24 stderr ^^^^^^^ 2026/09/20 15:14:24 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:14:24 stderr File "/app/main.py", line 148, in main 2026/09/20 15:14:24 stderr ~~~~^^ 2026/09/20 15:14:24 stderr main() 2026/09/20 15:14:24 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:14:24 stderr Traceback (most recent call last): 2026/09/20 15:14:24 stderr 13:14:24 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:13:20 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:13:20 stderr ^^^^^^^ 2026/09/20 15:13:20 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:13:20 stderr File "/app/main.py", line 148, in main 2026/09/20 15:13:20 stderr ~~~~^^ 2026/09/20 15:13:20 stderr main() 2026/09/20 15:13:20 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:13:20 stderr Traceback (most recent call last): 2026/09/20 15:13:20 stderr 13:13:20 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:12:16 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:12:16 stderr ^^^^^^^ 2026/09/20 15:12:16 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:12:16 stderr File "/app/main.py", line 148, in main 2026/09/20 15:12:16 stderr ~~~~^^ 2026/09/20 15:12:16 stderr main() 2026/09/20 15:12:16 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:12:16 stderr Traceback (most recent call last): 2026/09/20 15:12:16 stderr 13:12:16 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:11:12 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:11:12 stderr ^^^^^^^ 2026/09/20 15:11:12 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:11:12 stderr File "/app/main.py", line 148, in main 2026/09/20 15:11:12 stderr ~~~~^^ 2026/09/20 15:11:12 stderr main() 2026/09/20 15:11:12 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:11:12 stderr Traceback (most recent call last): 2026/09/20 15:11:12 stderr 13:11:12 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:10:07 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:10:07 stderr ^^^^^^^ 2026/09/20 15:10:07 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:10:07 stderr File "/app/main.py", line 148, in main 2026/09/20 15:10:07 stderr ~~~~^^ 2026/09/20 15:10:07 stderr main() 2026/09/20 15:10:07 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:10:07 stderr Traceback (most recent call last): 2026/09/20 15:10:07 stderr 13:10:07 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:09:03 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:09:03 stderr ^^^^^^^ 2026/09/20 15:09:03 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:09:03 stderr File "/app/main.py", line 148, in main 2026/09/20 15:09:03 stderr ~~~~^^ 2026/09/20 15:09:03 stderr main() 2026/09/20 15:09:03 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:09:03 stderr Traceback (most recent call last): 2026/09/20 15:09:03 stderr 13:09:03 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:07:59 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:07:59 stderr ^^^^^^^ 2026/09/20 15:07:59 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:07:59 stderr File "/app/main.py", line 148, in main 2026/09/20 15:07:59 stderr ~~~~^^ 2026/09/20 15:07:59 stderr main() 2026/09/20 15:07:59 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:07:59 stderr Traceback (most recent call last): 2026/09/20 15:07:59 stderr 13:07:59 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:07:03 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:07:03 stderr ^^^^^^^ 2026/09/20 15:07:03 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:07:03 stderr File "/app/main.py", line 148, in main 2026/09/20 15:07:03 stderr ~~~~^^ 2026/09/20 15:07:03 stderr main() 2026/09/20 15:07:03 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:07:03 stderr Traceback (most recent call last): 2026/09/20 15:07:03 stderr 13:07:03 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:06:33 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:06:33 stderr ^^^^^^^ 2026/09/20 15:06:33 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:06:33 stderr File "/app/main.py", line 148, in main 2026/09/20 15:06:33 stderr ~~~~^^ 2026/09/20 15:06:33 stderr main() 2026/09/20 15:06:33 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:06:33 stderr Traceback (most recent call last): 2026/09/20 15:06:33 stderr 13:06:33 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:06:16 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:06:16 stderr ^^^^^^^ 2026/09/20 15:06:16 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:06:16 stderr File "/app/main.py", line 148, in main 2026/09/20 15:06:16 stderr ~~~~^^ 2026/09/20 15:06:16 stderr main() 2026/09/20 15:06:16 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:06:16 stderr Traceback (most recent call last): 2026/09/20 15:06:16 stderr 13:06:16 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:06:06 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:06:06 stderr ^^^^^^^ 2026/09/20 15:06:06 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:06:06 stderr File "/app/main.py", line 148, in main 2026/09/20 15:06:06 stderr ~~~~^^ 2026/09/20 15:06:06 stderr main() 2026/09/20 15:06:06 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:06:06 stderr Traceback (most recent call last): 2026/09/20 15:06:06 stderr 13:06:06 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:05:58 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:05:58 stderr ^^^^^^^ 2026/09/20 15:05:58 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:05:58 stderr File "/app/main.py", line 148, in main 2026/09/20 15:05:58 stderr ~~~~^^ 2026/09/20 15:05:58 stderr main() 2026/09/20 15:05:58 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:05:58 stderr Traceback (most recent call last): 2026/09/20 15:05:58 stderr 13:05:58 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:05:52 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:05:52 stderr ^^^^^^^ 2026/09/20 15:05:52 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:05:52 stderr File "/app/main.py", line 148, in main 2026/09/20 15:05:52 stderr ~~~~^^ 2026/09/20 15:05:52 stderr main() 2026/09/20 15:05:52 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:05:52 stderr Traceback (most recent call last): 2026/09/20 15:05:52 stderr 13:05:52 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:05:47 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:05:47 stderr ^^^^^^^ 2026/09/20 15:05:47 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:05:47 stderr File "/app/main.py", line 148, in main 2026/09/20 15:05:47 stderr ~~~~^^ 2026/09/20 15:05:47 stderr main() 2026/09/20 15:05:47 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:05:47 stderr Traceback (most recent call last): 2026/09/20 15:05:47 stderr 13:05:47 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:05:42 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:05:42 stderr ^^^^^^^ 2026/09/20 15:05:42 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:05:42 stderr File "/app/main.py", line 148, in main 2026/09/20 15:05:42 stderr ~~~~^^ 2026/09/20 15:05:42 stderr main() 2026/09/20 15:05:42 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:05:42 stderr Traceback (most recent call last): 2026/09/20 15:05:42 stderr 13:05:42 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:05:38 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:05:38 stderr ^^^^^^^ 2026/09/20 15:05:38 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:05:38 stderr File "/app/main.py", line 148, in main 2026/09/20 15:05:38 stderr ~~~~^^ 2026/09/20 15:05:38 stderr main() 2026/09/20 15:05:38 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:05:38 stderr Traceback (most recent call last): 2026/09/20 15:05:38 stderr 13:05:38 [INFO] hannah.main: Hannah Core dev 2026/09/20 15:05:34 stderr AttributeError: 'str' object has no attribute 'get' 2026/09/20 15:05:34 stderr ^^^^^^^ 2026/09/20 15:05:34 stderr activity_log_cfg = cfg.get("activity_log", {}) 2026/09/20 15:05:34 stderr File "/app/main.py", line 148, in main 2026/09/20 15:05:34 stderr ~~~~^^ 2026/09/20 15:05:34 stderr main() 2026/09/20 15:05:34 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 15:05:34 stderr Traceback (most recent call last): -
Ja sicher, aber ich denke es liegt an den Ordnern, es wurden keine Ordner erstellt.

In einer anderen compose die die anders deklariert:
volumes: - ./persistent:/persistent - ./log:/var/log - ./data:/data - ./srv:/srvals in der von Hannah
volumes: core_data: core_activity_audio: core_audio_dumps: webui_data:Reicht es die Ordner Manuell zu erstellen?
-
mh. ich glaube deine core-config.yaml ist einfach falsch. Schaue dir die Datei dort an https://raw.githubusercontent.com/NurPech/Hannah/refs/heads/master/core/config.example.yaml
Und kopiere den Inhalt in deine Datei
-
Devinitiv der Falsche inhalt für die core-config.yaml
Erhalte beim speichern Fehler über Zeichen die nicht der Codierung entsprechen.
Habe schon die icons entfernt: 🏠 ⏸️
beschwert sich allerdings immer noch.
Wenn dies ignoriere läuf der core dennoch nicht. -
Kurz zur Einordnung: Die Fehlermeldung "Zeichen entsprechen nicht der Codierung" kommt vermutlich nicht von Hannah selbst, sondern von dem Editor/Tool, mit dem du die config.yaml bearbeitest — die Datei muss als UTF-8 gespeichert werden, nicht als ANSI/Windows-1252 oder eine andere Kodierung. Die deutschen Umlaute in den Kommentaren (ü, ä, ö) und sogar die Icons sind normalerweise kein Problem, aber wenn dein Editor/Browser die Datei beim Speichern nicht sauber als UTF-8 schreibt, bricht Hannah beim Start mit einer für dich aktuell noch schwer lesbaren Fehlermeldung ab.
Zwei Dinge würden mir helfen, das genauer einzugrenzen:
Screenshot der genauen Fehlermeldung — am besten inkl. wo/wann sie auftritt (beim Speichern in welchem Programm, oder erst beim Start von Hannah im Container-Log?).
Falls möglich: womit genau bearbeitest du die Datei? (Synology File Station-Editor, ein Editor im Browser, etwas anderes?)
Als schneller Workaround: Falls dein aktueller Editor Probleme macht, versuch die config.yaml z.B. mit VS Code, Notepad++ (dort explizit "UTF-8 ohne BOM" als Encoding wählen) oder direkt auf der NAS per nano/vi zu bearbeiten — die speichern zuverlässig UTF-8.Nebenbei: Ich baue gerade nach, dass eine kaputte config.yaml künftig mit einer klaren Fehlermeldung abbricht statt mit einem kryptischen Python-Traceback — das kommt mit dem nächsten Release, hilft dir jetzt aber noch nicht direkt.
-
Die Fehlermeldung kam vom File Station Editor. Hab eine neue Config direkt auf dem PC erstellt und ersetzt. Dieses mal ohne Meldung.
Container noch einmal neu erstellt, Core startet jetzt für 7-14 sekunden bis er neustartet.
Ist MQTT für den Core zwingend? den hab ich ja eben aus der compose geworfen!?
Hier das aktuelle Log:2026/09/20 16:08:52 stderr ConnectionRefusedError: [Errno 111] Connection refused 2026/09/20 16:08:52 stderr ~~~~~~~~~~~~^^^^ 2026/09/20 16:08:52 stderr sock.connect(sa) 2026/09/20 16:08:52 stderr File "/usr/local/lib/python3.14/socket.py", line 859, in create_connection 2026/09/20 16:08:52 stderr raise exceptions[0] 2026/09/20 16:08:52 stderr File "/usr/local/lib/python3.14/socket.py", line 874, in create_connection 2026/09/20 16:08:52 stderr ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:52 stderr return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source) 2026/09/20 16:08:52 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4640, in _create_socket_connection 2026/09/20 16:08:52 stderr sock = self._create_socket_connection() 2026/09/20 16:08:52 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4609, in _create_socket 2026/09/20 16:08:52 stderr ~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:52 stderr self._sock = self._create_socket() 2026/09/20 16:08:52 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1598, in reconnect 2026/09/20 16:08:52 stderr ~~~~~~~~~~~~~~^^ 2026/09/20 16:08:52 stderr return self.reconnect() 2026/09/20 16:08:52 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1435, in connect 2026/09/20 16:08:52 stderr ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:52 stderr self._client.connect(host, port, keepalive=60) 2026/09/20 16:08:52 stderr File "/app/hannah/mqtt_handler.py", line 249, in connect 2026/09/20 16:08:52 stderr ~~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:52 stderr mqtt_handler.connect() 2026/09/20 16:08:52 stderr File "/app/main.py", line 2531, in main 2026/09/20 16:08:52 stderr ~~~~^^ 2026/09/20 16:08:52 stderr main() 2026/09/20 16:08:52 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 16:08:52 stderr Traceback (most recent call last): 2026/09/20 16:08:52 stderr 14:08:52 [INFO] hannah.mqtt_handler: Verbinde mit MQTT-Broker 192.168.1.1:1883 ... 2026/09/20 16:08:52 stderr 14:08:52 [INFO] hannah.trigger_engine: TriggerEngine gestartet. 2026/09/20 16:08:51 stderr 14:08:51 [INFO] hannah.llm: LLM: DummyLLM aktiv (kein LLM konfiguriert) 2026/09/20 16:08:51 stderr 14:08:51 [INFO] hannah.tts: TTS deaktiviert (kein Backend konfiguriert). 2026/09/20 16:08:51 stderr 14:08:51 [WARNING] hannah.tts: Bestätigungston '/home/pi/confirmation.wav' nicht ladbar: /home/pi/confirmation.wav — nutze synthetisierten Ton. 2026/09/20 16:08:51 stderr 14:08:51 [ERROR] hannah.tts: TTS-Backend 'piper' Initialisierung fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx.json' 2026/09/20 16:08:51 stderr 14:08:51 [INFO] hannah.tts: Lade Piper-Stimme: /home/pi/de_DE-kerstin-low.onnx … 2026/09/20 16:08:51 stderr 14:08:51 [WARNING] hannah.tts: Piper-Autodownload für 'de_DE-kerstin-low' fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx' 2026/09/20 16:08:51 stderr 14:08:51 [INFO] hannah.tts: Piper-Stimme 'de_DE-kerstin-low' unvollständig unter /home/pi — lade von HuggingFace … 2026/09/20 16:08:51 stderr 14:08:51 [INFO] hannah.stt: STT-Kette: local 2026/09/20 16:08:51 stderr 14:08:51 [INFO] hannah.stt: Whisper bereit. 2026/09/20 16:08:50 stderr 14:08:50 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/models/Systran/faster-whisper-base/revision/main "HTTP/1.1 200 OK" 2026/09/20 16:08:48 stderr 14:08:48 [INFO] hannah.stt: Lade Whisper-Modell 'base' (cpu, int8) ... 2026/09/20 16:08:48 stderr 14:08:48 [WARNING] hannah.main: Keine Räume aus ioBroker geladen — NLU arbeitet ohne Raum-Erkennung. 2026/09/20 16:08:48 stderr 14:08:48 [INFO] hannah.utils.activity_db: [activity_db] Kein Host konfiguriert — Activity-Log deaktiviert. 2026/09/20 16:08:48 stderr 14:08:48 [INFO] hannah.main: Hannah Core dev 2026/09/20 16:08:42 stderr ConnectionRefusedError: [Errno 111] Connection refused 2026/09/20 16:08:42 stderr ~~~~~~~~~~~~^^^^ 2026/09/20 16:08:42 stderr sock.connect(sa) 2026/09/20 16:08:42 stderr File "/usr/local/lib/python3.14/socket.py", line 859, in create_connection 2026/09/20 16:08:42 stderr raise exceptions[0] 2026/09/20 16:08:42 stderr File "/usr/local/lib/python3.14/socket.py", line 874, in create_connection 2026/09/20 16:08:42 stderr ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:42 stderr return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source) 2026/09/20 16:08:42 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4640, in _create_socket_connection 2026/09/20 16:08:42 stderr sock = self._create_socket_connection() 2026/09/20 16:08:42 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4609, in _create_socket 2026/09/20 16:08:42 stderr ~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:42 stderr self._sock = self._create_socket() 2026/09/20 16:08:42 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1598, in reconnect 2026/09/20 16:08:42 stderr ~~~~~~~~~~~~~~^^ 2026/09/20 16:08:42 stderr return self.reconnect() 2026/09/20 16:08:42 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1435, in connect 2026/09/20 16:08:42 stderr ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:42 stderr self._client.connect(host, port, keepalive=60) 2026/09/20 16:08:42 stderr File "/app/hannah/mqtt_handler.py", line 249, in connect 2026/09/20 16:08:42 stderr ~~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:42 stderr mqtt_handler.connect() 2026/09/20 16:08:42 stderr File "/app/main.py", line 2531, in main 2026/09/20 16:08:42 stderr ~~~~^^ 2026/09/20 16:08:42 stderr main() 2026/09/20 16:08:42 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 16:08:42 stderr Traceback (most recent call last): 2026/09/20 16:08:42 stderr 14:08:42 [INFO] hannah.mqtt_handler: Verbinde mit MQTT-Broker 192.168.1.1:1883 ... 2026/09/20 16:08:42 stderr 14:08:42 [INFO] hannah.trigger_engine: TriggerEngine gestartet. 2026/09/20 16:08:42 stderr 14:08:42 [INFO] hannah.llm: LLM: DummyLLM aktiv (kein LLM konfiguriert) 2026/09/20 16:08:42 stderr 14:08:42 [INFO] hannah.tts: TTS deaktiviert (kein Backend konfiguriert). 2026/09/20 16:08:42 stderr 14:08:42 [WARNING] hannah.tts: Bestätigungston '/home/pi/confirmation.wav' nicht ladbar: /home/pi/confirmation.wav — nutze synthetisierten Ton. 2026/09/20 16:08:42 stderr 14:08:42 [ERROR] hannah.tts: TTS-Backend 'piper' Initialisierung fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx.json' 2026/09/20 16:08:42 stderr 14:08:42 [INFO] hannah.tts: Lade Piper-Stimme: /home/pi/de_DE-kerstin-low.onnx … 2026/09/20 16:08:42 stderr 14:08:42 [WARNING] hannah.tts: Piper-Autodownload für 'de_DE-kerstin-low' fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx' 2026/09/20 16:08:42 stderr 14:08:42 [INFO] hannah.tts: Piper-Stimme 'de_DE-kerstin-low' unvollständig unter /home/pi — lade von HuggingFace … 2026/09/20 16:08:42 stderr 14:08:42 [INFO] hannah.stt: STT-Kette: local 2026/09/20 16:08:42 stderr 14:08:42 [INFO] hannah.stt: Whisper bereit. 2026/09/20 16:08:40 stderr 14:08:40 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/models/Systran/faster-whisper-base/revision/main "HTTP/1.1 200 OK" 2026/09/20 16:08:39 stderr 14:08:39 [INFO] hannah.stt: Lade Whisper-Modell 'base' (cpu, int8) ... 2026/09/20 16:08:39 stderr 14:08:39 [WARNING] hannah.main: Keine Räume aus ioBroker geladen — NLU arbeitet ohne Raum-Erkennung. 2026/09/20 16:08:39 stderr 14:08:39 [INFO] hannah.utils.activity_db: [activity_db] Kein Host konfiguriert — Activity-Log deaktiviert. 2026/09/20 16:08:39 stderr 14:08:39 [INFO] hannah.main: Hannah Core dev 2026/09/20 16:08:34 stderr ConnectionRefusedError: [Errno 111] Connection refused 2026/09/20 16:08:34 stderr ~~~~~~~~~~~~^^^^ 2026/09/20 16:08:34 stderr sock.connect(sa) 2026/09/20 16:08:34 stderr File "/usr/local/lib/python3.14/socket.py", line 859, in create_connection 2026/09/20 16:08:34 stderr raise exceptions[0] 2026/09/20 16:08:34 stderr File "/usr/local/lib/python3.14/socket.py", line 874, in create_connection 2026/09/20 16:08:34 stderr ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:34 stderr return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source) 2026/09/20 16:08:34 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4640, in _create_socket_connection 2026/09/20 16:08:34 stderr sock = self._create_socket_connection() 2026/09/20 16:08:34 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4609, in _create_socket 2026/09/20 16:08:34 stderr ~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:34 stderr self._sock = self._create_socket() 2026/09/20 16:08:34 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1598, in reconnect 2026/09/20 16:08:34 stderr ~~~~~~~~~~~~~~^^ 2026/09/20 16:08:34 stderr return self.reconnect() 2026/09/20 16:08:34 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1435, in connect 2026/09/20 16:08:34 stderr ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:34 stderr self._client.connect(host, port, keepalive=60) 2026/09/20 16:08:34 stderr File "/app/hannah/mqtt_handler.py", line 249, in connect 2026/09/20 16:08:34 stderr ~~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:34 stderr mqtt_handler.connect() 2026/09/20 16:08:34 stderr File "/app/main.py", line 2531, in main 2026/09/20 16:08:34 stderr ~~~~^^ 2026/09/20 16:08:34 stderr main() 2026/09/20 16:08:34 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 16:08:34 stderr Traceback (most recent call last): 2026/09/20 16:08:34 stderr 14:08:34 [INFO] hannah.mqtt_handler: Verbinde mit MQTT-Broker 192.168.1.1:1883 ... 2026/09/20 16:08:34 stderr 14:08:34 [INFO] hannah.trigger_engine: TriggerEngine gestartet. 2026/09/20 16:08:34 stderr 14:08:34 [INFO] hannah.llm: LLM: DummyLLM aktiv (kein LLM konfiguriert) 2026/09/20 16:08:34 stderr 14:08:34 [INFO] hannah.tts: TTS deaktiviert (kein Backend konfiguriert). 2026/09/20 16:08:34 stderr 14:08:34 [WARNING] hannah.tts: Bestätigungston '/home/pi/confirmation.wav' nicht ladbar: /home/pi/confirmation.wav — nutze synthetisierten Ton. 2026/09/20 16:08:34 stderr 14:08:34 [ERROR] hannah.tts: TTS-Backend 'piper' Initialisierung fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx.json' 2026/09/20 16:08:34 stderr 14:08:34 [INFO] hannah.tts: Lade Piper-Stimme: /home/pi/de_DE-kerstin-low.onnx … 2026/09/20 16:08:34 stderr 14:08:34 [WARNING] hannah.tts: Piper-Autodownload für 'de_DE-kerstin-low' fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx' 2026/09/20 16:08:33 stderr 14:08:33 [INFO] hannah.tts: Piper-Stimme 'de_DE-kerstin-low' unvollständig unter /home/pi — lade von HuggingFace … 2026/09/20 16:08:33 stderr 14:08:33 [INFO] hannah.stt: STT-Kette: local 2026/09/20 16:08:33 stderr 14:08:33 [INFO] hannah.stt: Whisper bereit. 2026/09/20 16:08:32 stderr 14:08:32 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/models/Systran/faster-whisper-base/revision/main "HTTP/1.1 200 OK" 2026/09/20 16:08:30 stderr 14:08:30 [INFO] hannah.stt: Lade Whisper-Modell 'base' (cpu, int8) ... 2026/09/20 16:08:30 stderr 14:08:30 [WARNING] hannah.main: Keine Räume aus ioBroker geladen — NLU arbeitet ohne Raum-Erkennung. 2026/09/20 16:08:30 stderr 14:08:30 [INFO] hannah.utils.activity_db: [activity_db] Kein Host konfiguriert — Activity-Log deaktiviert. 2026/09/20 16:08:30 stderr 14:08:30 [INFO] hannah.main: Hannah Core dev 2026/09/20 16:08:25 stderr ConnectionRefusedError: [Errno 111] Connection refused 2026/09/20 16:08:25 stderr ~~~~~~~~~~~~^^^^ 2026/09/20 16:08:25 stderr sock.connect(sa) 2026/09/20 16:08:25 stderr File "/usr/local/lib/python3.14/socket.py", line 859, in create_connection 2026/09/20 16:08:25 stderr raise exceptions[0] 2026/09/20 16:08:25 stderr File "/usr/local/lib/python3.14/socket.py", line 874, in create_connection 2026/09/20 16:08:25 stderr ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:25 stderr return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source) 2026/09/20 16:08:25 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4640, in _create_socket_connection 2026/09/20 16:08:25 stderr sock = self._create_socket_connection() 2026/09/20 16:08:25 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4609, in _create_socket 2026/09/20 16:08:25 stderr ~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:25 stderr self._sock = self._create_socket() 2026/09/20 16:08:25 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1598, in reconnect 2026/09/20 16:08:25 stderr ~~~~~~~~~~~~~~^^ 2026/09/20 16:08:25 stderr return self.reconnect() 2026/09/20 16:08:25 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1435, in connect 2026/09/20 16:08:25 stderr ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:25 stderr self._client.connect(host, port, keepalive=60) 2026/09/20 16:08:25 stderr File "/app/hannah/mqtt_handler.py", line 249, in connect 2026/09/20 16:08:25 stderr ~~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:25 stderr mqtt_handler.connect() 2026/09/20 16:08:25 stderr File "/app/main.py", line 2531, in main 2026/09/20 16:08:25 stderr ~~~~^^ 2026/09/20 16:08:25 stderr main() 2026/09/20 16:08:25 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 16:08:25 stderr Traceback (most recent call last): 2026/09/20 16:08:25 stderr 14:08:25 [INFO] hannah.mqtt_handler: Verbinde mit MQTT-Broker 192.168.1.1:1883 ... 2026/09/20 16:08:25 stderr 14:08:25 [INFO] hannah.trigger_engine: TriggerEngine gestartet. 2026/09/20 16:08:25 stderr 14:08:25 [INFO] hannah.llm: LLM: DummyLLM aktiv (kein LLM konfiguriert) 2026/09/20 16:08:25 stderr 14:08:25 [INFO] hannah.tts: TTS deaktiviert (kein Backend konfiguriert). 2026/09/20 16:08:25 stderr 14:08:25 [WARNING] hannah.tts: Bestätigungston '/home/pi/confirmation.wav' nicht ladbar: /home/pi/confirmation.wav — nutze synthetisierten Ton. 2026/09/20 16:08:25 stderr 14:08:25 [ERROR] hannah.tts: TTS-Backend 'piper' Initialisierung fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx.json' 2026/09/20 16:08:25 stderr 14:08:25 [INFO] hannah.tts: Lade Piper-Stimme: /home/pi/de_DE-kerstin-low.onnx … 2026/09/20 16:08:25 stderr 14:08:25 [WARNING] hannah.tts: Piper-Autodownload für 'de_DE-kerstin-low' fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx' 2026/09/20 16:08:25 stderr 14:08:25 [INFO] hannah.tts: Piper-Stimme 'de_DE-kerstin-low' unvollständig unter /home/pi — lade von HuggingFace … 2026/09/20 16:08:25 stderr 14:08:25 [INFO] hannah.stt: STT-Kette: local 2026/09/20 16:08:25 stderr 14:08:25 [INFO] hannah.stt: Whisper bereit. 2026/09/20 16:08:23 stderr 14:08:23 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/models/Systran/faster-whisper-base/revision/main "HTTP/1.1 200 OK" 2026/09/20 16:08:22 stderr 14:08:22 [INFO] hannah.stt: Lade Whisper-Modell 'base' (cpu, int8) ... 2026/09/20 16:08:22 stderr 14:08:22 [WARNING] hannah.main: Keine Räume aus ioBroker geladen — NLU arbeitet ohne Raum-Erkennung. 2026/09/20 16:08:22 stderr 14:08:22 [INFO] hannah.utils.activity_db: [activity_db] Kein Host konfiguriert — Activity-Log deaktiviert. 2026/09/20 16:08:22 stderr 14:08:22 [INFO] hannah.main: Hannah Core dev 2026/09/20 16:08:17 stderr ConnectionRefusedError: [Errno 111] Connection refused 2026/09/20 16:08:17 stderr ~~~~~~~~~~~~^^^^ 2026/09/20 16:08:17 stderr sock.connect(sa) 2026/09/20 16:08:17 stderr File "/usr/local/lib/python3.14/socket.py", line 859, in create_connection 2026/09/20 16:08:17 stderr raise exceptions[0] 2026/09/20 16:08:17 stderr File "/usr/local/lib/python3.14/socket.py", line 874, in create_connection 2026/09/20 16:08:17 stderr ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:17 stderr return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source) 2026/09/20 16:08:17 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4640, in _create_socket_connection 2026/09/20 16:08:17 stderr sock = self._create_socket_connection() 2026/09/20 16:08:17 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4609, in _create_socket 2026/09/20 16:08:17 stderr ~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:17 stderr self._sock = self._create_socket() 2026/09/20 16:08:17 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1598, in reconnect 2026/09/20 16:08:17 stderr ~~~~~~~~~~~~~~^^ 2026/09/20 16:08:17 stderr return self.reconnect() 2026/09/20 16:08:17 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1435, in connect 2026/09/20 16:08:17 stderr ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:17 stderr self._client.connect(host, port, keepalive=60) 2026/09/20 16:08:17 stderr File "/app/hannah/mqtt_handler.py", line 249, in connect 2026/09/20 16:08:17 stderr ~~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:17 stderr mqtt_handler.connect() 2026/09/20 16:08:17 stderr File "/app/main.py", line 2531, in main 2026/09/20 16:08:17 stderr ~~~~^^ 2026/09/20 16:08:17 stderr main() 2026/09/20 16:08:17 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 16:08:17 stderr Traceback (most recent call last): 2026/09/20 16:08:17 stderr 14:08:17 [INFO] hannah.mqtt_handler: Verbinde mit MQTT-Broker 192.168.1.1:1883 ... 2026/09/20 16:08:17 stderr 14:08:17 [INFO] hannah.trigger_engine: TriggerEngine gestartet. 2026/09/20 16:08:17 stderr 14:08:17 [INFO] hannah.llm: LLM: DummyLLM aktiv (kein LLM konfiguriert) 2026/09/20 16:08:17 stderr 14:08:17 [INFO] hannah.tts: TTS deaktiviert (kein Backend konfiguriert). 2026/09/20 16:08:17 stderr 14:08:17 [WARNING] hannah.tts: Bestätigungston '/home/pi/confirmation.wav' nicht ladbar: /home/pi/confirmation.wav — nutze synthetisierten Ton. 2026/09/20 16:08:17 stderr 14:08:17 [ERROR] hannah.tts: TTS-Backend 'piper' Initialisierung fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx.json' 2026/09/20 16:08:17 stderr 14:08:17 [INFO] hannah.tts: Lade Piper-Stimme: /home/pi/de_DE-kerstin-low.onnx … 2026/09/20 16:08:17 stderr 14:08:17 [WARNING] hannah.tts: Piper-Autodownload für 'de_DE-kerstin-low' fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx' 2026/09/20 16:08:17 stderr 14:08:17 [INFO] hannah.tts: Piper-Stimme 'de_DE-kerstin-low' unvollständig unter /home/pi — lade von HuggingFace … 2026/09/20 16:08:16 stderr 14:08:16 [INFO] hannah.stt: STT-Kette: local 2026/09/20 16:08:16 stderr 14:08:16 [INFO] hannah.stt: Whisper bereit. 2026/09/20 16:08:15 stderr 14:08:15 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/models/Systran/faster-whisper-base/revision/main "HTTP/1.1 200 OK" 2026/09/20 16:08:14 stderr 14:08:14 [INFO] hannah.stt: Lade Whisper-Modell 'base' (cpu, int8) ... 2026/09/20 16:08:14 stderr 14:08:14 [WARNING] hannah.main: Keine Räume aus ioBroker geladen — NLU arbeitet ohne Raum-Erkennung. 2026/09/20 16:08:14 stderr 14:08:14 [INFO] hannah.utils.activity_db: [activity_db] Kein Host konfiguriert — Activity-Log deaktiviert. 2026/09/20 16:08:14 stderr 14:08:14 [INFO] hannah.main: Hannah Core dev 2026/09/20 16:08:09 stderr ConnectionRefusedError: [Errno 111] Connection refused 2026/09/20 16:08:09 stderr ~~~~~~~~~~~~^^^^ 2026/09/20 16:08:09 stderr sock.connect(sa) 2026/09/20 16:08:09 stderr File "/usr/local/lib/python3.14/socket.py", line 859, in create_connection 2026/09/20 16:08:09 stderr raise exceptions[0] 2026/09/20 16:08:09 stderr File "/usr/local/lib/python3.14/socket.py", line 874, in create_connection 2026/09/20 16:08:09 stderr ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:09 stderr return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source) 2026/09/20 16:08:09 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4640, in _create_socket_connection 2026/09/20 16:08:09 stderr sock = self._create_socket_connection() 2026/09/20 16:08:09 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 4609, in _create_socket 2026/09/20 16:08:09 stderr ~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:09 stderr self._sock = self._create_socket() 2026/09/20 16:08:09 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1598, in reconnect 2026/09/20 16:08:09 stderr ~~~~~~~~~~~~~~^^ 2026/09/20 16:08:09 stderr return self.reconnect() 2026/09/20 16:08:09 stderr File "/usr/local/lib/python3.14/site-packages/paho/mqtt/client.py", line 1435, in connect 2026/09/20 16:08:09 stderr ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026/09/20 16:08:09 stderr self._client.connect(host, port, keepalive=60) 2026/09/20 16:08:09 stderr File "/app/hannah/mqtt_handler.py", line 249, in connect 2026/09/20 16:08:09 stderr ~~~~~~~~~~~~~~~~~~~~^^ 2026/09/20 16:08:09 stderr mqtt_handler.connect() 2026/09/20 16:08:09 stderr File "/app/main.py", line 2531, in main 2026/09/20 16:08:09 stderr ~~~~^^ 2026/09/20 16:08:09 stderr main() 2026/09/20 16:08:09 stderr File "/app/main.py", line 2693, in <module> 2026/09/20 16:08:09 stderr Traceback (most recent call last): 2026/09/20 16:08:09 stderr 14:08:09 [INFO] hannah.mqtt_handler: Verbinde mit MQTT-Broker 192.168.1.1:1883 ... 2026/09/20 16:08:09 stderr 14:08:09 [INFO] hannah.trigger_engine: TriggerEngine gestartet. 2026/09/20 16:08:09 stderr 14:08:09 [INFO] hannah.llm: LLM: DummyLLM aktiv (kein LLM konfiguriert) 2026/09/20 16:08:09 stderr 14:08:09 [INFO] hannah.tts: TTS deaktiviert (kein Backend konfiguriert). 2026/09/20 16:08:09 stderr 14:08:09 [WARNING] hannah.tts: Bestätigungston '/home/pi/confirmation.wav' nicht ladbar: /home/pi/confirmation.wav — nutze synthetisierten Ton. 2026/09/20 16:08:09 stderr 14:08:09 [ERROR] hannah.tts: TTS-Backend 'piper' Initialisierung fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx.json' 2026/09/20 16:08:09 stderr 14:08:09 [INFO] hannah.tts: Lade Piper-Stimme: /home/pi/de_DE-kerstin-low.onnx … 2026/09/20 16:08:09 stderr 14:08:09 [WARNING] hannah.tts: Piper-Autodownload für 'de_DE-kerstin-low' fehlgeschlagen: [Errno 2] No such file or directory: '/home/pi/de_DE-kerstin-low.onnx' 2026/09/20 16:08:08 stderr 14:08:08 [INFO] hannah.tts: Piper-Stimme 'de_DE-kerstin-low' unvollständig unter /home/pi — lade von HuggingFace … 2026/09/20 16:08:08 stderr 14:08:08 [INFO] hannah.stt: STT-Kette: local 2026/09/20 16:08:08 stderr 14:08:08 [INFO] hannah.stt: Whisper bereit. 2026/09/20 16:07:43 stderr 14:07:43 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/models/Systran/faster-whisper-base/xet-read-token/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66 "HTTP/1.1 200 OK" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/resolve-cache/models/Systran/faster-whisper-base/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66/tokenizer.json?%2FSystran%2Ffaster-whisper-base%2Fresolve%2Febe41f70d5b6dfa9166e2c581c45c9c0cfc57b66%2Ftokenizer.json=&etag=%227818adb6de9fa3064d3ff81226fdd675be1f6344%22 "HTTP/1.1 200 OK" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/resolve-cache/models/Systran/faster-whisper-base/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66/config.json?%2FSystran%2Ffaster-whisper-base%2Fresolve%2Febe41f70d5b6dfa9166e2c581c45c9c0cfc57b66%2Fconfig.json=&etag=%22867cf1a0fece1394e01d55e287ba2f09a577c046%22 "HTTP/1.1 200 OK" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: HEAD https://huggingface.co/api/resolve-cache/models/Systran/faster-whisper-base/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66/tokenizer.json?%2FSystran%2Ffaster-whisper-base%2Fresolve%2Febe41f70d5b6dfa9166e2c581c45c9c0cfc57b66%2Ftokenizer.json=&etag=%227818adb6de9fa3064d3ff81226fdd675be1f6344%22 "HTTP/1.1 200 OK" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/resolve-cache/models/Systran/faster-whisper-base/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66/vocabulary.txt?%2FSystran%2Ffaster-whisper-base%2Fresolve%2Febe41f70d5b6dfa9166e2c581c45c9c0cfc57b66%2Fvocabulary.txt=&etag=%22c9074644d9d1205686f16d411564729461324b75%22 "HTTP/1.1 200 OK" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: HEAD https://huggingface.co/api/resolve-cache/models/Systran/faster-whisper-base/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66/config.json?%2FSystran%2Ffaster-whisper-base%2Fresolve%2Febe41f70d5b6dfa9166e2c581c45c9c0cfc57b66%2Fconfig.json=&etag=%22867cf1a0fece1394e01d55e287ba2f09a577c046%22 "HTTP/1.1 200 OK" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: HEAD https://huggingface.co/Systran/faster-whisper-base/resolve/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66/tokenizer.json "HTTP/1.1 307 Temporary Redirect" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: HEAD https://huggingface.co/api/resolve-cache/models/Systran/faster-whisper-base/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66/vocabulary.txt?%2FSystran%2Ffaster-whisper-base%2Fresolve%2Febe41f70d5b6dfa9166e2c581c45c9c0cfc57b66%2Fvocabulary.txt=&etag=%22c9074644d9d1205686f16d411564729461324b75%22 "HTTP/1.1 200 OK" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: HEAD https://huggingface.co/Systran/faster-whisper-base/resolve/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66/config.json "HTTP/1.1 307 Temporary Redirect" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: HEAD https://huggingface.co/Systran/faster-whisper-base/resolve/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66/vocabulary.txt "HTTP/1.1 307 Temporary Redirect" 2026/09/20 16:07:42 stderr 14:07:42 [WARNING] huggingface_hub.utils._http: Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads. 2026/09/20 16:07:42 stderr Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads. 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: HEAD https://huggingface.co/Systran/faster-whisper-base/resolve/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66/model.bin "HTTP/1.1 302 Found" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/models/Systran/faster-whisper-base/tree/ebe41f70d5b6dfa9166e2c581c45c9c0cfc57b66?recursive=true&expand=false "HTTP/1.1 200 OK" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/models/Systran/faster-whisper-base/revision/main "HTTP/1.1 200 OK" 2026/09/20 16:07:42 stderr 14:07:42 [INFO] httpx: HTTP Request: GET https://huggingface.co/api/agent-harnesses "HTTP/1.1 200 OK" 2026/09/20 16:07:40 stderr 14:07:40 [INFO] hannah.stt: Lade Whisper-Modell 'base' (cpu, int8) ... 2026/09/20 16:07:40 stderr 14:07:40 [WARNING] hannah.main: Keine Räume aus ioBroker geladen — NLU arbeitet ohne Raum-Erkennung. 2026/09/20 16:07:40 stderr 14:07:40 [INFO] hannah.utils.activity_db: [activity_db] Kein Host konfiguriert — Activity-Log deaktiviert. 2026/09/20 16:07:40 stderr 14:07:40 [INFO] hannah.main: Hannah Core devIn der Tat sagen mir die ganzen Fehlermeldungen nicht wirklich etwas.
Wenn es hilft vertagen wir das ganze auf das besagte neue Release.
-
Ja, MQTT ist der Steuerkanal zwischen Core und Satelliten. Außerdem bietet Hannah über mqtt eine Schnittstelle an.
Offen gesagt, ergibt Hannah ohne MQTT eigentlich auch deshalb keinen Sinn, weshalb das im Programm zwingend benötigt wird.
Die Angabe in der Doku das der mosquitto-Container optional ist, meint explizit nur den Container.
Im Handbuch steht wörtlich:Hast du schon einen eigenen MQTT-Broker, ignorier diesen Abschnitt — trag einfach seine Adresse in mqtt.host (core-config.yaml) ein.
Ich verstehe aber, das ich das Handbuch nacharbeiten sollte.
Da ich davon ausgehe, das du aktuell gar keine Satelliten hast, würde ich mir mal anschauen, ob ich das Requirement auf optional setzen kann. Dann wird Hannah zwar nicht zu 100% funktionieren, aber den Fall könnte ich sauber abfangen, so das der Core zumindest nicht abstürzt.
@McBeath sagte in Hannah — Open Source Smart-Home-Sprachassistentin:
In der Tat sagen mir die ganzen Fehlermeldungen nicht wirklich etwas.
Müssen sie auch nicht, die sind für mich :D
-
Hey,
ich habe gerade eine neue Version vom Core veröffentlicht – bitte zieht euch einfach die aktuellen Images.
Hannah bricht jetzt nicht mehr direkt in Panik aus (und legt einen Endlos-Neustart-Loop hin), nur weil gerade kein MQTT-Broker erreichbar ist. Sie läuft dann zwar an, wird ohne Broker aber verständlicherweise nicht vollumfänglich funktionieren.
Die Doku und die genauen Auswirkungen habe ich im Handbuch ebenfalls entsprechend nachgeschärft.
Vielen Dank für euer Interesse und die Tests – genau das hilft mir dabei, Hannah Schritt für Schritt robuster zu machen und zu verbessern! (Und keine Sorge: Die kryptischen Tracebacks in den Logs könnt ihr einfach an mich senden, dann sind die mein Problem 😉).
-
Kurzes Update zu einem Thema, das ein paar von euch schon getroffen hat: Wer Hannah über Synology Container Station laufen lassen wollte, ist über die Profile in der docker-compose.yml gestolpert — die GUI kann leider keine --profile-Flags übergeben, damit starten dann ungewollt Container, für die man gar keine Config hat.
Die Lösung, an der ich gerade dran bin: ein interaktiver Compose-Builder direkt in der Doku. Man wählt an, welche Komponenten man braucht, und bekommt am Ende eine fertige docker-compose.yml — ganz ohne Profile, im Idealfall sogar ganz ohne Config-Dateien zum Runterladen, reines Copy & Paste. Die bisherige Compose-Datei und die native Installation bleiben natürlich weiter bestehen, für alle die lieber selbst Hand anlegen.
Ist noch ein Stück Arbeit, weil dafür ein paar Komponenten intern erst etwas umgebaut werden müssen — aber die Richtung steht. Ich melde mich, wenn's was Konkretes zu zeigen gibt! (üblicherweise in ein paar Stunden xD)
Liebe Grüße
-
Kleines Update auch von mir ;)
Mit deinem aktualisieren Image und ändern des Port zurück auf 5000,
läuft der core und die webui jetzt stabil.
Ist die Webui meldet sich jetzt auch.
Nur wo finde ich die korrekten Daten zum anmelde?
Der compose Builder wird für nicht so versierte User wie mich sehr hilfreich sein.

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
