Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 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

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    11
    1
    279

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.8k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    775

Hannah — Open Source Smart-Home-Sprachassistentin

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
14 Beiträge 6 Kommentatoren 859 Aufrufe 15 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.
  • L Offline
    L Offline
    Leonie
    schrieb am zuletzt editiert von
    #3

    Hi,

    Im Prinzip muss nichts davon auf einem RPI laufen, ich hab genug da, also hab es mit denen gebaut :D

    Die zentrale Komponente ist hannah-core (oder einfach nur "hannah"), die enthält die Audioverarbeitung, die Spracherzeugung, die NLU, die ioBroker-Anbindung, eben alles notwendige.

    Die Satelitten in den Räumen/um Haus verteilt, läuft aktuell bei mir (noch ist bei mir pure Software-Entwicklung dran) auf einem Raspberry Pi 3b mit Klinke-Lautsprechern und einem USB-Mikrofon :D Die Software für diese ist im Ordner satellite-pi. Für die Pi-Sats habe ich mir zwei "Bau"-Skripte erstellt. Das eine nimmt das normale Raspberry Pi OS (Debian) und baut daraus eine Satellite-Version. Soll heißen, die trägt mein WLAN ein, meinen SSH-Key und kopiert die Satellite-Software drauf/installiert alle Abhängigkeiten. Pro Satellite wird dann mit dem zweiten Script ein Device-spezifisches Image erstellt. In diesem Step wird dem Image ein DeviceName und ein Raum zugewiesen. Das Image kann dann auf eine SD-Karte geschrieben werden und der PI kann starten.
    Ich habe geplant das die Satellites auf einem ESP32-S3 laufen sollen. Die Firmware dafür ist bereits "fertig", aber ungetestet, aktuell warte ich noch darauf das meine ESPs ankommen :D Sobald die da sind, beginnt Phase 1 der ESP-Entwicklung: die grundsätzliche Evaluierung, läuft die Firmware? Funktioniert Hannah? Bekomme ich die geplanten Sensoren alle verbaut?
    Nach Abschluss kommt dann Phase 2/Endprodukt: Komplett eigene Platine mit allem drauf was Hannah braucht, also Mikrofone, Lautsprecher, Sensoren und natürlich dem ESP.

    Die Satellites halten über MQTT einen Control-Channel zum Core, sämtliches Audio-Streaming läuft über UDP.

    Optional gibt es den hannah-proxy. Der kann theoretisch mehrfach installiert werden und übernimmt den UDP-Endpunkt vom Core, ist der Proxy aktiv, schaltet der Core seinen UDP-Service ab. Die Satellites schicken ihr Audio dann zu dem Proxy, der wandelt das um und schickt es per gRPC zum Core.
    Für den Proxy gibt es dann ein AddOn: hannah-voiceid. VoiceID ermittelt in Echtzeit den Sprecher, und meldet diesen (ebenfalls über gRPC) zurück. Beides (Audio+Speaker) geht dann an den Core, wo die Transkription durchgeführt wird und dann auch weiß wer grade spricht.

    Hannah-Telegram ist ein optionales Addon für den Core und bindet einen TelegramBot quasi als zusätzlichen Satellite an den Core. So kann ich mit Hannah chatten, habe ein kleines Menü und sie schickt mir Nachrichten. Der Cloud: Sie versteht auch Sprachnachrichten und kann mit welchen antworten :D

    Alles, bis auf die Satellites kann auch auf anderer Hardware laufen, wenn du magst, auch auf deinem PC. Bei den Satellites ist es halt der Sinn das die im Haus verteilt stehen.

    Die NLU kennt einen Smalltalk-Intent, der nur funktioniert wenn ein LLM angebunden ist, ohne wird eine Standard-Antwort erzeugt.

    Aktuell läuft bei mir im gesamten:
    Raspberry Pi 5 (8GB) für hannah-core, hannah-proxy und hannah-telegram.
    Mac Mini M4 (16GB) für hannah-voiceid, faster-whispher-server und natürlich das LLM.

    Mein MQTT-Broker ist Mosquitto als Container (in, naja, Kubernetes). Im iobroker nutze ich den mqtt-Adapter im "Client Modus", ein Typescript im Javascript-Adapter als "Hannah Adapter light", das übersetz die Room-Announcements im mqtt in Hannah-Datenpunkte im iobroker, ähnlich wie es der Alexa-Adapter bspw. tut, nur ohne Adapter. Hannah meldet im mqtt bspw. das sie die Räume Wohnzimmer, Schlafzimmer und Küche kennt und die Devices Küche01, Wohnzimmer01-05 und Schlafzimmer01-02. Im Iobroker habe ich dann bspw. diese Datenpunkte:
    89d0fce8-bc42-4572-8741-5ae7a0f252f0-image.jpeg

    Dann gibt es im Repository noch einen echten Adapter. Der ist ein Addon für den Notification-Manager und registriert dort Hannah als "Desitnation":b1cdc635-49ce-4218-a8f0-64d0e4e0e689-image.jpeg Empfängt der Adapter eine Nachricht vom Notification-Manager, wird die Nachricht an ein definiertes (in der Config des Adapters) MQTT-Topic gesendet, von dort von Hannah empfangen, an das LLM geroutet, von dem umformuliert, zurück von Hannah empfangen und auf den Satellites per TTS bzw. im Telegramchat an spezifische Nutzer gesendet/abgespielt.

    Im iobroker läuft bei mir bspw. der Residents-Adapter der von Hannah genutzt wird um automatisch alle bekannten Personen zu kennen, was dann über ein Hannah-spezifisches Datenmodell (bspw. trustlevel) erweitert wird. Als API nutze ich den Adapter Rest-API.

    Das LLM bei mir ist eine custom Hannah-Version von gemma2:9b auf ollama. Aufwendig gebaut, mit einer eigenen Persönlichkeit. Ich denke ihre Eigenvorstellung aus dem Startbeitrag zeigt ganz gut wie sie sich sieht.

    Das LLM könnte auch eine eine CloudVersion deines Lieblingsanbieters sein, Hannah hat aber den Grundsatz: No Cloud. Aber auf einer leistungsfähigen Maschine muss es sein. Ollama auf einem Raspberry Pi macht keinen Spaß xD

    Ziel von der Entwicklung ist das sie mehr als eine Sprachassistentin wie Alexa ist. Sie soll eine Mitbewohnerin sein, mit Persönlichkeit, Emotionen, Meinungen und natürlich: voller Kontrolle über das Haus. Noch fehlt dafür ein wenig was, aber der Grundstoff ist da.

    Ich kann gerne Rückmeldung geben wie Phase 1 des ESP-Teils bei mir läuft, ich denke nächste Woche werde ich alles dafür haben.

    Liebe Grüße
    Leonie

    1 Antwort Letzte Antwort
    0
    • D Nicht stören
      D Nicht stören
      dirkhe
      Developer
      schrieb am zuletzt editiert von
      #4

      Das hört sich alles echt vielversprechend an. Danke für deine Arbeit und auch die ausführliche Beschreibung.
      Das mit dem esp hört sich interessant an, bin neugierig, wie gut die hört...
      Ich habe hier halt überall alexas, weil die von der hardware auch günstig waren. Aber das mit der cloud stört mich auch

      1 Antwort Letzte Antwort
      0
      • mcm1957M Online
        mcm1957M Online
        mcm1957
        schrieb am zuletzt editiert von
        #5

        Sorry, wenn ich mich da mit Kritik einmische.

        Damits richtig rüber kommt:

        DANKE - das sieht gang ganz toll aus. Und wunderbar dass du Zeit für solche Dinge aufwendest.

        Aber BITTE erstell einen "richtigen" Adapter. Das Ding dass du als ioBroker Adapter bezeichnest mag funktionieren, es ist aber von einem richtigen Adapter ziemlich weit entfernt. Sorry - aber derzeit kann ihc nur sagen:

        Vor einer Installation von "iobroker.hannah-notification" muss in der derzeitigen Form explizit ABGERATEN werden.

        Sowas

        # 3. adapter-core durch Symlink auf ioBrokers Version ersetzen
        #    (Node.js löst Symlinks auf — ohne diesen Schritt stimmt __dirname nicht)
        rm -rf node_modules/@iobroker/adapter-core
        ln -s /opt/iobroker/node_modules/@iobroker/adapter-core \
              node_modules/@iobroker/adapter-core
        
        # 4. Adapter in ioBroker registrieren (einmalig)
        cd /opt/iobroker
        node node_modules/iobroker.js-controller/iobroker.js add hannah-notification
        

        ist ein 100%iges NO GO. Diese Aktionen können eine Hostinstallation ggF auch massiv zerstören.

        Bitte erstell doch einfach einen richtigen Adapter mittels create-adapter (https://github.com/ioBroker/create-adapter) und lass die "Iobroker-Hanna" dort einziehen. Der Aufwand sollte für dich als erfahrene SW ENtwicklerin eher trivial sein und gegen einen sauberen Adapter spricht absolut nichts - noch dazu wenn er mit so einer tollen Umgebung zusammenspielt.

        Bitte meld dich wenn du Hilfe beim Erstellen eines Adapters brauchst oder Fragen hast in unserer Telegramm oder Discord Gruppen. Invites auf www.iobroker.net (oder zum TG Starterchannel gleich hier: https://t.me/+gsX-e8k4mLtmZjZk)

        Und zur Sicherheit nochmal:
        DANKE für deine Arbeit. Dieses Statement ist ausschließlich als sachliche Kritik gemeint und soll keinesfalls dicha sl Person oder deine Arbeit angreifen.

        Hoff wir sehen / lesen uns bald im Zusammenhang mit einem sauberen hanna Adapter.

        mcm1957

        Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
        Support Repositoryverwaltung.

        Wer 'nen Kaffee spendieren will: https://paypal.me

        LESEN - gute Forenbeitrage

        1 Antwort Letzte Antwort
        2
        • L Offline
          L Offline
          Leonie
          schrieb am zuletzt editiert von
          #6

          Danke @mcm1957
          Du hast natürlich vollkommen Recht. Das hätte ich vor dem "Go Public" verbessern sollen :D

          Ja, ich habe noch nie einen echten Adapter mit create-adapter erstellt, werde ich mir mal anschauen. Ist generell überhaupt das erste Mal das ich einen Adapter erstellt habe, der zumindest als solcher funktioniert. Das mag auf meinem System funktionieren, wo ich die Verantwortung trage, aber ich muss an der Stelle auch davon abraten das die Installationsanleitung befolgt wird.

          Liebe Grüße
          Leonie

          1 Antwort Letzte Antwort
          2
          • mcm1957M Online
            mcm1957M Online
            mcm1957
            schrieb am zuletzt editiert von
            #7

            Danke f dein Verständnis. Frag einfach wenn was unklar ist. Und bitte lass das Grundgerüst nicht von einer AI anlegen. Die optimieren noch zu viel 🤭. Hilfe bei code ist natürlich ok.

            Da du hoffentlich noch weiter an bzw bei iobroker was tun willst sag ich mal HERZLICH WILLKOMMEN.

            Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
            Support Repositoryverwaltung.

            Wer 'nen Kaffee spendieren will: https://paypal.me

            LESEN - gute Forenbeitrage

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

              Klar, will ich weiter bei iobroker dabei sein, ist ja schließlich das Rückgrad meines Hauses ;)

              Nur mit diesem Forum komme ich noch nicht klar, bin zwar schon lange hier, aber hab noch nie (?) was geschrieben :D

              Hab den Adapter umgebaut und ihm ein neues zu Hause gegeben:
              https://github.com/NurPech/ioBroker.hannah-notificationmanager

              Um Feedback und Verbesserungsvorschläge bitte ich ausdrücklich, für direkte Diskussionen bin ich auch zu haben. Ist mein erster Adapter.

              1 Antwort Letzte Antwort
              1
              • mcm1957M Online
                mcm1957M Online
                mcm1957
                schrieb am zuletzt editiert von mcm1957
                #9

                Hi,
                Du legst ja ein tolles Tempo vor :-)
                Weil du so lieb nahcgefragt hats hab ich dir mal den Checker Bot vorbeigschickt. Wenn was unklar ist, einfach fragen.
                Für ein paar Issues gibts PRs zusätzlich. Bitte anschaun und ggF mergen. Beim Dependabot kann es ggF Konflikte geben, da zwei PRs den selben Bereoich bearbeiten. Schätze aber dass du das locker bereinigen kannst.

                Generell empfehle ich für Entwicklerfragen Telegramm od. Discord. Aber wenn nicht gewunschen meldet sich sicher auch hier wer.

                @homoran
                Diskussion zum Test des hanna-notification Adapter sollte m.e. in den Testerbereich (zunächst '.. nicht in den repositories'). Bitte schalte Leonie mal für Tester Postings frei. Ob es sinnvoll ist dieses Topic komplett zu verschieben oder nur für den Adapterteil ein zweites Topic anzulegen bin ich unsicher Bitte klör das mit Leonie.

                EDIT:
                PS: Strukturell soieht der Adapter mal gut aus. Inhaltlich hab ich nicht geschaut. DANKE dass du offensichtlich den Weg über den Creator gegangen bist. Das erspart gefühlte 100 Rückmeldungen doch den Testerworkflow einzurichten und ...

                Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                Support Repositoryverwaltung.

                Wer 'nen Kaffee spendieren will: https://paypal.me

                LESEN - gute Forenbeitrage

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

                  Hii,

                  Ich habe gerade ein massives Update von Hannah veröffentlicht.

                  Hannah hat zusätzlich zu der Routinen-Engine nun auch eine Trigger-Engine. Sie kann damit auf unterschiedliche ioBroker-States reagieren und Dinge tun. Sei es einfach nur Sprachausgaben sagen, Textnachrichten schicken, Lampen schalten, vollkommen egal.
                  Außerdem gab es einen sehr großen Umbau. Die gesamte State-Logik wurde vom MQTT gelöst. MQTT hat sich im Praxiseinsatz für die Kommunikation zwischen Hannah und ioBroker nicht bewährt.
                  Aus diesem Grund gibt es nun einen neuen (Alpha) Adapter: https://github.com/NurPech/ioBroker.hannah
                  Ganz nach dem Vorbild des IoT-Adapters, kann man die Funktions- und Raum-Enums wählen die an Hannah übergeben werden sollen. Außerdem lassen sich beliebige weitere States an Hannah senden. Auch die andere Richtung ist möglich. States die der Adapter nicht freigegeben hat, kann Hannah trotzdem anfordern und lesen (aber nicht schreiben). Die Kommunikation ioBroker <-> Hannah läuft über gRPC.
                  Das hat mich nun viele Stunden Arbeit gekostet, aber bisher läuft es besser und die Adapterentwicklung macht mir mittlerweile Spaß :D
                  Mehr Aussagen über die Stabilität kann ich nach ein paar Tagen Praxiseinsatz treffen.
                  Ein Test des Adapters könnte schwierig werden, der Tester braucht dafür mindestens Hannah-Core und damit es richtig Sinn ergibt Hannah Full-Stack, aber es liegt ja alles dafür auf Github :D

                  Die aktuelle Version von Hannah ist diese hier: https://github.com/NurPech/Hannah/releases/tag/v0.1.2-public
                  Dies ist größtenteils ein Maintenance-Release für Adapter v0.1.0: https://github.com/NurPech/ioBroker.hannah/releases/tag/v0.1.0

                  Kompatibilität ist somit Hannah v0.1.2 mit Adapter 0.1.0,

                  Liebe Grüße
                  Leonie

                  1 Antwort Letzte Antwort
                  3
                  • I Offline
                    I Offline
                    Int17
                    schrieb am zuletzt editiert von
                    #11

                    Hallo Leonie,
                    habe deinen Adapter aus Github installiert
                    klu_2026.05.08-09_54_40.jpg

                    Finde ihn aber nicht unter in den Instanzen:
                    klu_2026.05.08-09_56_20.jpg

                    Als Ersatz für die Amazon Echo Dots müsste ich dann jeweils einen Raspi mit Mikro haben.
                    Kannst du da was zur Harware sagen?
                    Oder lieber auf die ESP-Lösung warten?

                    Samson71S 1 Antwort Letzte Antwort
                    0
                    • I Int17

                      Hallo Leonie,
                      habe deinen Adapter aus Github installiert
                      klu_2026.05.08-09_54_40.jpg

                      Finde ihn aber nicht unter in den Instanzen:
                      klu_2026.05.08-09_56_20.jpg

                      Als Ersatz für die Amazon Echo Dots müsste ich dann jeweils einen Raspi mit Mikro haben.
                      Kannst du da was zur Harware sagen?
                      Oder lieber auf die ESP-Lösung warten?

                      Samson71S Offline
                      Samson71S Offline
                      Samson71
                      Global Moderator
                      schrieb am zuletzt editiert von
                      #12

                      @Int17
                      Du musst auch noch eine Instanz dazu anlegen/installieren. Oben rechts die 3 Punkte und dann auf das +

                      871dbd50-54ea-40f2-af3a-e8b9c2d956e3-image.jpeg

                      Markus

                      Bitte beachten:
                      Hinweise für gute Forenbeiträge
                      Maßnahmen zum Schutz des Forums

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

                        Hi,
                        Du musst auch eine Instanz hinzufügen, das passiert bei der Installation über Github nicht automatisch.

                        Die Raspberry Pi Sats sind im Grunde ganz normale Raspberry Pi 3b mit Debian Trixie. Wahlweise mit USB-Mikrofon und Klinken-Lautsprecher oder mit spezialisierter Hardware wie den Seeed Respeaker (2) HATs. Der Pi-Satellit ist ein einges Pythonscript das quasi überall und mit allem läuft, getestet aber nur mit dem was ich beschrieben habe.

                        Mein ESP-Aufbau ist schon recht weit und aktuell passiert viel an der Firmware-Entwicklung. Der PoC-Stand ist erfolgreich abgeschlossen und die Software funktioniert, da finden aktuell noch ein paar Feature-erweiterungen statt. Auch meine eigene Platine mit ESP, Peripherie und Sensoren ist bereits fertig geplant und befindet sich derzeit in Produktion. Wenn ich die habe, kann ich testen ob mein Plan funktioniert oder ob ich eine Menge Geld in den Sand gesetzt habe :D
                        Die Schaltpläne für die Platine ist allerdings nicht OpenSource.

                        Liebe Grüße
                        Leonie

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

                          Status zum ESP:

                          May 09 17:24:49 psrvhva01 hannah-proxy[21119]: 2026/05/09 17:24:49 INFO audio session complete device=wohnzimmer-esp bytes=203200
                          May 09 17:24:49 psrvhva01 hannah-proxy[21119]: 2026/05/09 17:24:49 INFO speaker identified device=wohnzimmer-esp roomie_id=leonie
                          May 09 17:24:52 psrvhva01 hannah-proxy[21119]: 2026/05/09 17:24:52 INFO pipeline result device=wohnzimmer-esp transcript="Schlafzimmer, Licht aus." intent=TurnOff answer="OK, 6 Gerät(e) geschaltet." tts_bytes=123600 speaker=leonie
                          May 09 17:24:52 psrvhva01 hannah-proxy[21119]: 2026/05/09 17:24:52 INFO TTS sent device=wohnzimmer-esp bytes=123600 sample_rate=16000

                          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

                          531

                          Online

                          32.9k

                          Benutzer

                          83.0k

                          Themen

                          1.3m

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

                          • Du hast noch kein Konto? Registrieren

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