Weiter zum Inhalt
  • Home
  • Aktuell
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Hannah — Open Source Smart-Home-Sprachassistentin

NEWS

  • Der neue Monatsrückblick für September 2026 ist online!
    BluefoxB
    Bluefox
    7
    1
    192

  • Neu im Blog: Was die neue Website alles kann
    BluefoxB
    Bluefox
    7
    1
    225

  • Node.js 24 ist jetzt offiziell empfohlen!
    apollon77A
    apollon77
    9
    1
    485

Hannah — Open Source Smart-Home-Sprachassistentin

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
311 Beiträge 24 Kommentatoren 30.5k Aufrufe 36 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • OliverIOO OliverIO

    @Walter.O. sagte:

    OliverIO Was meinst du?
    Das ist der Telegram Bot Token

    Du hast zwar die Eingabezeile geschwärzt, aber in der Titelzeile des Fensters kann man ihn noch komplett lesen

    Ich würde es ungern zur Verdeutlichung hier noch mal posten wollen

    Walter.O.W
    Walter.O.W
    Walter.O.
    schrieb am zuletzt editiert von
    #206

    @OliverIO sagte:

    @Walter.O. sagte:

    OliverIO Was meinst du?
    Das ist der Telegram Bot Token

    Du hast zwar die Eingabezeile geschwärzt, aber in der Titelzeile des Fensters kann man ihn noch komplett lesen

    Ich würde es ungern zur Verdeutlichung hier noch mal posten wollen

    Au man.... Danke habs geändert.

    1 Antwort Letzte Antwort
    0
    • L
      L
      Leonie
      schrieb am zuletzt editiert von
      #207

      Hallo Walter,

      vielen Dank fürs Testen und die Screenshots, jetzt ist klar, wo der Fehler herkommt.

      Du rufst die WebUI aktuell über die IP-Adresse deines Servers auf (192.168.178.122). Telegram lässt den "Verbinden"-Login aber nur zu, wenn die Adresse eine richtige Domain ist, die beim Bot (über den @BotFather) hinterlegt wurde — eine reine IP-Adresse funktioniert bei Telegram grundsätzlich nicht.

      Deine DuckDNS-Testdomain (home-wollemen.duckdns.org) ist schon der richtige Ansatz. Bevor wir da weitermachen, brauchen wir noch zwei Infos von dir:

      Rufst du die WebUI per http:// oder https:// auf? (Für den Telegram-Login ist HTTPS zwingend nötig.)
      Von welchem Gerät/System aus rufst du die WebUI im Browser auf (Windows-PC, Linux, etc.)?
      Ich schreibe gerade eine Schritt-für-Schritt-Anleitung fürs neue Hannah-Handbuch (Domain/HTTPS/Telegram-Bot-Einrichtung) — sobald die steht, verlinke ich sie hier.

      Zu deinen anderen Fragen:

      SQLite: darum kümmert sich Hannah komplett selbst, da musst du nichts einrichten oder verwalten.
      MySQL brauchst du nur, wenn du das optionale Activity-Log (Protokoll aller Sprachbefehle) nutzen willst. Ohne Activity-Log kannst du MySQL komplett ignorieren.
      Config-Dateien: bevor ich dir sagen, welche du noch brauchst, wäre es hilfreich, kurz zu sehen, was bei dir überhaupt läuft. Kannst du mir die Ausgabe von diesen drei Befehlen schicken?

      ls /opt/hannah
      systemctl list-units | grep hannah
      ls /etc/hannah*/
      

      Danke dir, dann können wir zielgerichtet weitermachen!

      Liebe Grüße

      1 Antwort Letzte Antwort
      0
      • L
        L
        Leonie
        schrieb am zuletzt editiert von
        #208

        Hey, nochmal ich

        @walter.o. aber eigentlich auch alle anderen, die die WebUI per systemd laufen haben, diese bitte einmal neu installieren:

        curl -fsSL https://github.com/NurPech/hannah-webui/raw/refs/heads/main/deploy/install.sh | sudo bash
        

        Danach kann die WebUI selbst auch HTTPS.

        Dann noch das in die Datei /etc/hannah-webui/config.yaml schreiben:

        tls:
          enabled: true
        

        Zur Erinnerung, die ganze Datei sieht dann in etwa so aus:

        tls:
          enabled: true
        
        # Wo der WebUI-Flask-Server selbst lauscht
        host: "127.0.0.1"
        port: 5000
        
        # Signiert die Flask-Session-Cookie — muss über alle gunicorn-Worker und Neustarts
        # hinweg stabil sein, sonst werden Nutzer zufällig ausgeloggt. Generieren mit:
        #   python3 -c "import secrets; print(secrets.token_hex(32))"
        secret_key: "IHR_SECRET_KEY"
        
        # Telegram Login Widget (Account-Verknüpfung in /me) — Bot-Token via @BotFather,
        # Domain muss dort per /setdomain auf diese WebUI-Instanz freigeschaltet sein.
        telegram_bot_token: ""
        telegram_bot_username: ""
        
        # Hannah Core, per gRPC
        grpc:
          host: "127.0.0.1"
          port: 50051
        

        Dann noch die webui neustarten mit

        sudo systemctl restart hannah-webui
        

        und die WebUI spricht TLS mit Zertifikat.

        Inhaltlich gehe ich dann auf deine Probleme ein wenn du meine neuen Fragen beantwortet hast :)

        Liebe Grüße

        1 Antwort Letzte Antwort
        0
        • M
          M
          McBeath
          schrieb am zuletzt editiert von McBeath
          #209

          @leonie
          Tolle Arbeit!! Habe bis #80 alles gelesen und nur 40% verstanden. 😂
          Ich ja bin total begeistert, suche schon länger nach einem reinen offline Assistenten.

          Ich bin leider nicht so firm und möchte auch nicht alle von der Arbeit abhalten (Support und Fehlersuche). ;)
          Da ich es etwas müssig finde alle Infos (latest) im thread zu suchen, wird es eine finale Zusammenfassung geben?

          Sprich eine ausführliche Anleitung bezüglich Installation. (In meinem Fall im Docker auf einer Syno wie @manne01 )
          #63 Hier finder man eine Docker Compose (final?)
          #79 Hier ist der verwist auf den Hardware Link.

          Wenn ich das soweit richtig versanden habe...?
          1. Komplett offline nur mit des ESP Hardware.
          2. Mit Telegram nur mit Internet.

          Was ist denn die Mindestanforderung um das ganze zu testen?

          1. Installation im Docker mit der Compose von #63
          2. Installation des Hannah Adapter (beta) im IoBroker
          3. Einrichtung Hardware oder Telegram.

          Liebe Grüße

          1 Antwort Letzte Antwort
          0
          • L
            L
            Leonie
            schrieb am zuletzt editiert von
            #210

            @mcbeath
            Schön, dass du her gefunden hast und danke für dein Lob!

            Du hast das richtig verstanden.

            Komplett offline geht es nur mit den ESPs, korrekt. Dazu gibt es in den letzten Tagen eine relativ aktive Diskussion. Grundlegend gibt es für die Beschaffung der ESPs ein shared project bei PCBWay. Falls du es nicht weiß, PCBWay ist ein Platinenfertiger in China. Das Projekt findest du dort: zu PCBWay
            Da muss ich dazu sagen, das aufgrund der aktuellen Marktsituation, damit meine ich vor allem aktuelle politische Verflechtungen und digitale Entwicklungen weltweit, die Preise dynamisch und nicht gerade angenehm sind. Das ist mir vollkommen bewusst, aber das zu ändern liegt nicht in meiner Hand.
            Generell gilt dabei, je höher die Stückmenge ist, desto günstiger der Einzelpreis.
            Da ich aber verstehen kann das nicht unbedingt jeder nun direkt 5 oder mehr Platinen (ESPs) bestellen will, möchte ich auf eine Alternative hinweisen:
            Es gibt hier im Thread Interessenten an einer Sammelbestellung, das mag ich auch grundsätzlich unterstützten, werde mich aber, aus den in Post #199 genannten Gründen, nicht daran beteiligen.

            Die Anbindung an Telegram kann gewissermaßen einen Satelliten ersetzen, ist aber mit diesem eigentlich nicht vergleichbar. Korrekt ist das der natürlich über die Telegram-Cloud läuft und somit vom Internet abhängig ist. Dazu werden noch ein paar Vorraussetzungen benötigt die ich nicht ändern kann.

            Unterschiede zwischen ESP und Telegram ist bspw. das meine Platinen auch Umweltwerte wie Temperatur, Luftfeuchtigkeit und Luftqualität messen. Außerdem unterstüzen sie auch Bluetooth-Dongle und können so als Präsenzmelder dienen. Darüber hinaus ist die Hardware vorbereit für einen mmWave Präsenzsensor, was die Erkennung nochmal verbessert. An der Stelle muss ich aber dazu sagen, dass die Firmware den noch nicht unterstüzt.

            Für deine Installation via Docker, mag ich dir das neue Handbuch ans Herz legen: https://hannah-docs.leonie.network/manual/installation/

            Da steht auch was zum Adapter:
            https://hannah-docs.leonie.network/components/iobroker-adapter/installation/

            Generell versuche ich dort sämtliche Themen abzudecken, so steht da mittlerweile schon ziemlich viel und ich habe versucht alles "nutzernah" abzubilden. Klick dich gerne mal durch und gib mir Feedback.

            @McBeath sagte:

            finale Zusammenfassung

            Auch wenn ich mir sicher bin, das du das so nicht unbedingt meinst, eine "finale Zusammenfassung" wird es nicht geben, das würde ja bedeuten das Hannah fertig ist :D An der Stelle aber auch nochmal der Hinweis auf https://hannah-docs.leonie.network, da steht auch eniges zu Hannah selbst.

            Liebe Grüße

            1 Antwort Letzte Antwort
            0
            • M
              M
              McBeath
              schrieb am zuletzt editiert von McBeath
              #211

              @leonie
              Danke für deine schnelle und ausführliche Antwort.

              An der Stelle muss ich sagen das mir der (sorry) "Krüpel" über Telegram mir überhaupt nicht in den Kram passt.
              Da bin ich mehr für die ESP´s.
              In zuge meine Suche des Assistenten bin ich vor kurzem noch über ein ähnliches ESP gestolpert wie deines.

              Aufgrund meines Ansehen von -1 (kann mir keiner sagen wo der her kommt) ist es mir
              leider nicht gestatte einen Link zu Posten.
              S857e1831ef664d08bcccf8fec941401cI.jpg_220x220q75.jpg_.avif

              Respeaker Xmos XVF3800
              https://de.aliexpress.com/item/1005009578368362.html?isdl=y&aff_fsk=_oEtjzCB&src=Ideolo&aff_platform=aff_feeds&aff_short_key=_oEtjzCB&pdp_npi=4%40dis%21EUR%2168.93%2155.39%21%21%21%21%21%40%2112000056553679001%21afff%21%21%21
              

              Wäre dies eventuell auch mit Hannah kompatibel?
              Und wenn es nur zu Testzwecken reichen würde! 😉

              Wie du bereits treffend bemerkt hast, bezog sich meine "finale Zusammenfassung" nicht explizit auf Hannah sondern auf die Anleitung. 😊

              Ich werde mich dann mal au deine Anleitung wagen müssen, mal sehen wie weit ich komme und ob meine Syno das auch noch packt. 🤔

              Durch dein

              1 Antwort Letzte Antwort
              0
              • L
                L
                Leonie
                schrieb am zuletzt editiert von Leonie
                #212

                @mcbeath

                Dazu habe ich mich in Beitrag #126 geäußert. Ich zitiere mich selbst:

                Leonie sagte in Hannah — Open Source Smart-Home-Sprachassistentin:

                Der ReSpeaker XVF3800 ist zwar ein starkes Board für Konferenzräume und wird gerne für Sprachassistenten verwendet, ist aber für das Projekt aktuell aus mehreren Gründen ungeeignet:

                Preis: Für ~66 € bekommt man, bei der richtigen Stückzahl, fast zwei komplett bestückte Rev 5 Platinen inklusive Sensorik und LED-Ring.

                Architektur: Die Mikrofone hängen an einem dedizierten XMOS-DSP-Coprozessor. Die Audiodaten werden dort verarbeitet und völlig anders an den ESP32 weitergereicht als bei meinem Direkt-I2S-Setup. Meine Firmware unterstützt diesen Coprozessor schlichtweg nicht.

                Liebe Grüße

                1 Antwort Letzte Antwort
                0
                • M
                  M
                  McBeath
                  schrieb am zuletzt editiert von
                  #213

                  @leonie
                  Entschuldie meine wiederholte Frage bezüglich des XVF3800.

                  Ich muss gestehen das mir ab Post #ü80 die Murmel rauchte und zum Ende gesprungen bin.
                  Folglich habe ich über 100 Post's nicht gelesen.

                  Liebe Grüße

                  1 Antwort Letzte Antwort
                  0
                  • L
                    L
                    Leonie
                    schrieb am zuletzt editiert von
                    #214

                    ach, dafür musst du dich nicht entschuldigen. Ein Inhaltsverzeichnis würde dem Thread gut tun. Ich weiß nur was ich wann geschrieben habe :D

                    1 Antwort Letzte Antwort
                    0
                    • M
                      M
                      McBeath
                      schrieb am zuletzt editiert von McBeath
                      #215

                      Dann bin ich ja beruhigt, 😉 das

                      @Leonie sagte:
                      Inhaltsverzeichnis würde dem Thread gut tun

                      passt schon eher zu meiner Frage der Zusammenfassung.

                      @Leonie sagte:
                      Ich weiß nur was ich wann geschrieben habe :D

                      Das freut mich für dich, wird aber mit zunehmendem alter nachlassen 😂

                      1 Antwort Letzte Antwort
                      0
                      • L
                        L
                        Leonie
                        schrieb am zuletzt editiert von
                        #216

                        @mcbeath Ich habe mal die KI meines Vertrauens angeworfen:

                        Inhaltsverzeichnis — Hannah-Thread (#84378)

                        215 Beiträge, 23.04.2026 – 19.09.2026. Links zeigen jeweils auf den ersten Beitrag der Sektion.

                        Grundlagen & Vorstellung

                        • #1 — Eröffnungspost: Was ist Hannah, Architektur, Features, Roadmap (wird laufend aktualisiert)
                        • #2 — Erste Nachfrage: RPi nötig? Aufteilung Core/Satellit
                        • #5 — Kritik am ersten Adapter-Stand, Umbau zu einem "richtigen" Adapter, Willkommen in der Community

                        Frühe Entwicklung (Mai–Juli)

                        • #10 — Update: Trigger-Engine, Loslösung der State-Logik von MQTT, neuer Alpha-Adapter
                        • #11 — Instanz-Einrichtung, Pi-Satelliten-Hardware (RPi 3b + USB-Mikro/Klinke oder ReSpeaker HAT)
                        • #16 — Monats-Update Juni: WebUI eingeführt (Ablösung der YAML-Handbearbeitung)
                        • #17 — Frage nach Projekt-Zukunft/Nachhaltigkeit — Leonies Antwort: aktive Weiterentwicklung, öffentliches Repo als Absicherung
                        • #19 — Ein-Befehl-Installation (curl-Installer) für alle Komponenten
                        • #21 — Pi-Satelliten offiziell eingefroren/nicht mehr supportet, zugunsten ESP32-S3
                        • #22 — Begriffsklärung Satellit vs. Access Point / Hardware-Anforderungen eines Satelliten

                        Mehrsprachigkeit (Diskussion, nicht umgesetzt)

                        • #27 — Anfrage: Unterstützung weiterer Sprachen (aktuell hartkodiert Deutsch)
                        • #33 — Konzeptidee "getLanguage"-Schnittstelle, Diskussion Wakeword-pro-Sprache vs. automatische Erkennung, Whisper-Sprachdetektion — bleibt auf der Roadmap, nicht umgesetzt

                        Hardware-Vorschau & erste PCB-Bilder

                        • #31 — Erstes PCB-Bild + Gehäuse-Bild (88mm, 4-Layer)
                        • #38 — Audio-Demo-Anfrage, Hinweis auf Piper-Stimmen (Hugging Face)
                        • #40 — Anfrage zu ESPHome-Kompatibilität/Alternativ-Hardware — abgelehnt (eigene ESP-IDF-Firmware nötig wegen Audio-Pipeline/Wakeword)

                        großer Fragenkatalog

                        • #42 — Vorstellung, Fragen zu Selbstbau-Platine, Telegram, Adapter-Verfügbarkeit im Beta-Repo
                        • #43 — Ausführliche Antwort: Selbstbau-Optionen (DevKit + Breakouts vs. eigenes PCB)
                        • #44 — Monats-Update August: Activity Log, Nachrichten-Mailbox, überarbeitete Wecker/Timer

                        Installation mit systemd Teil 1 & Docker/Compose-Marathon

                        • #45 — Installationsprobleme (leere Instanz)
                        • #53 — Docker/Synology-Diskussion beginnt: systemd im Container, Image-pro-Komponente
                        • #63 — Leonie veröffentlicht vollständiges docker-compose.yml für alle Komponenten
                        • #64 — Telegram-Domain-Problem ("Bot domain invalid") taucht erstmals auf
                        • #67 — Ausführliche Anleitung: Telegram-Konto-Verknüpfung, Domain-Anforderungen
                        • #76 — ffmpeg-Bug im Core-Container gemeldet und gefixt (v0.75.8)
                        • #78 — Piper-TTS-Modell-Datei fehlt im Container (Volume-Problem)

                        Hardware-Freigabe & Bestellungen (PCBWay)

                        • #79 — 🎉 Hannah Satellite Rev. 5 offiziell freigegeben (PCBWay Shared Project)
                        • #83 — Erstes Bestellinteresse (duemchen), Sammelbestellungs-Idee entsteht
                        • #87 — Wie bestellt man (PCB+Assembly bei PCBWay)
                        • #92 — Stückpreis-Transparenz (~50€/Stück bestückt, Materialkosten)
                        • #109 — Erste reale Bestell-/Preis-Rückmeldung
                        • #114 — Konkretes PCBWay-Angebot für 1 Stück (117,82$), Diskussion Mengenrabatt
                        • #116 — AliExpress/Waveshare-ESP32-Audioboards als Alternative vorgeschlagen
                        • #120 — Sammelbestellungs-Interesse wird eingesammelt (mehrere Nutzer melden Stückzahlen)
                        • #125 — Frage: rechteckige statt runde Platine (Kostenersparnis)? / JLCPCB vs. PCBWay
                        • #126 — Ausführliche Begründung PCBWay-Wahl (Shared-Projects-Feature)
                        • #128 — Frage nach Gehäuse

                        Sprechererkennung, State-Mapping & Bugfixes

                        • #130 — Voice-Enrollment erfolgreich, Fragen zu Test/Doku
                        • #132 — Bugreport: Rolladen-States (Homematic LEVEL/STATE) werden nicht erkannt
                        • #135 — Erklärung der kanonischen State-Keys (on/level/color/current/…)

                        RAG/LLM-Integration & Skill-System (Zukunftsdiskussion)

                        • #137 — Idee: Objektbaum per RAG dem LLM zugänglich machen statt Regel-NLU
                        • #138 — Antwort: NLU ist bewusst regelbasiert, LLM nur Fallback-Pfad
                        • #188 — WebChat-Idee (gRPC SubmitText), offen für Community-Beitrag
                        • #190 — Ausführliche Antwort zu RAG/E-Mail-Integration: Weg über Skill-System (gRPC-Skill-Server)
                        • #196 — vertiefte Architektur-Diskussion (LLM-Internetzugriff als Backend-Eigenschaft)

                        Installation mit systemd Teil 2 — Config, Passwort, WebUI, gRPC, TLS

                        • #140 — WebUI-Login-Problem beginnt (admin-Passwort, Core nicht erreichbar)
                        • #146 — config.yaml wird nicht gefunden (Pfad-/Rechteproblem)
                        • #158 — Manueller Passwort-Reset per sqlite-Kommando
                        • #164 — WebUI-Core-Verbindung: eigene WebUI-Config nötig (/etc/hannah-webui/config.yaml)
                        • #171 — Root Cause gefunden: gRPC-Host muss auf 0.0.0.0 stehen
                        • #189 — Nächstes Thema: Telegram-Domain-Einbindung mit eigener Domain
                        • #207 — Root Cause: IP-Adresse funktioniert bei Telegram nicht, Domain (z.B. DuckDNS) nötig
                        • #208 — WebUI bekommt natives HTTPS/TLS-Support (Update-Anleitung)

                        Community-Ton & Ausblick

                        • #198 — Frust über "zu viele Detaildiskussionen" ohne zentrale Sammelbestellung
                        • #199 — Klarstellung: kein kommerzielles Produkt, PCBWay Shared Project ist Selbstbedienung
                        • #209 — McBeath fragt nach einer finalen Zusammenfassung/Anleitung
                        • #214 — Vorschlag Inhaltsverzeichnis — Ursprung dieser Anfrage

                        Für alle die Statistiken mögen:
                        Für Hannah sind aktuell noch 38 Issues offen und 290 sind geschlossen. Insgesamt habe ich aktuell knapp 330 Issues angelegt und die meisten bearbeitet.

                        1 Antwort Letzte Antwort
                        1
                        • M
                          M
                          McBeath
                          schrieb am zuletzt editiert von
                          #217

                          Und schon geht es los :(
                          Die Syno arbeite ja mit dem Container Manager.
                          Wenn ich hier nun ein Projekt erstelle und die "docker-compose.yml" angebe, fehlt mir die Möglichkeit den Befehl "docker compose up -d" anzugeben.
                          Wenn ich nun auf Erstellen klicke, erhalte ich nur die Meldung im log: "no such service: mysql-db"
                          @manne01
                          Wie bzw. wo hast du den Befehl "docker compose up -d" angeben?

                          1 Antwort Letzte Antwort
                          0
                          • L
                            L
                            Leonie
                            schrieb am zuletzt editiert von Leonie
                            #218

                            Tja, wie die synology das macht, habe ich keine Ahnung. Die Anleitung ist quasi für bare docker mit CLI.

                            Ich hab mir mal eben eine synology mit Container Station gesucht. Ich verstehe die nicht :D

                            1 Antwort Letzte Antwort
                            0
                            • M
                              M
                              McBeath
                              schrieb am zuletzt editiert von
                              #219

                              Was ich so auf die schnelle gefunden habe, führt der Container Manager wohl bei "Erstellen"
                              folgenden Befehl aus "docker-compose up --build --no-start"
                              Hat es eventuell damit zu tun?

                              1 Antwort Letzte Antwort
                              0
                              • L
                                L
                                Leonie
                                schrieb am zuletzt editiert von Leonie
                                #220

                                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

                                @McBeath sagte:

                                "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.

                                1 Antwort Letzte Antwort
                                0
                                • M
                                  M
                                  McBeath
                                  schrieb am zuletzt editiert von McBeath
                                  #221

                                  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: bridge
                                  

                                  Damit 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.
                                  Screenshot 2026-09-20 151019.png
                                  Screenshot 2026-09-20 151233.png

                                  1 Antwort Letzte Antwort
                                  0
                                  • M
                                    M
                                    McBeath
                                    schrieb am zuletzt editiert von
                                    #222

                                    Hab den Port mal auf 5003 geängert, Fehlermeldung ist weg....
                                    Bitte warten....

                                    1 Antwort Letzte Antwort
                                    0
                                    • L
                                      L
                                      Leonie
                                      schrieb am zuletzt editiert von
                                      #223

                                      Du hast bereits einen anderen Container oder Anwendung laufen der den Port 5000 nutzt. Den Port möchte aber gerne die WebUI nutzen

                                      1 Antwort Letzte Antwort
                                      0
                                      • M
                                        M
                                        McBeath
                                        schrieb am zuletzt editiert von McBeath
                                        #224

                                        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): 
                                        
                                        1 Antwort Letzte Antwort
                                        0
                                        • L
                                          L
                                          Leonie
                                          schrieb am zuletzt editiert von
                                          #225

                                          Ich schätze dir fehlt die Config oder die ist nicht korrekt. Hast du die Config erstellt und neben das compose File gelegt?

                                          1 Antwort Letzte Antwort
                                          0

                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          353

                                          Online

                                          33.1k

                                          Benutzende

                                          83.9k

                                          Themen

                                          1.4m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2026
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe