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

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    710

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.4k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.4k

Hannah — Open Source Smart-Home-Sprachassistentin

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
39 Beiträge 13 Kommentatoren 7.2k Aufrufe 29 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.
  • PackElendP Offline
    PackElendP Offline
    PackElend
    schrieb am zuletzt editiert von
    #27

    Andere Frage, ist das System erweiterbar mit anderen Sprachen (nicht sprachmodellen). Unser Haushalt ist mehrsprachig, und ich bin mit Deutsch eigentlich in der Minderheit

    1 Antwort Letzte Antwort
    0
    • WolfgangDW WolfgangD

      Na dann: Wo kann ich mich auf die Bestelliste für ESP-Satelliten setzen lassen?

      L Online
      L Online
      Leonie
      schrieb am zuletzt editiert von
      #28

      @WolfgangD sagte:

      Na dann: Wo kann ich mich auf die Bestelliste für ESP-Satelliten setzen lassen?

      ich melde mich per PN bei dir.

      @PackElend sagte:

      Andere Frage, ist das System erweiterbar mit anderen Sprachen (nicht sprachmodellen). Unser Haushalt ist mehrsprachig, und ich bin mit Deutsch eigentlich in der Minderheit

      Aktuell nicht, es steht aber auf meiner Roadmap. Ich zitiere aus dem Issue:

      The current NLU and all response text generation are hardcoded German, spread across nlu.py and iobroker.py. Language-specific logic includes:
      
      
              
            nlu.py: room name matching, umlaut normalization, device aliases, intent keywords
      
              
            iobroker.py: _UMLAUT_MAP, _normalize_umlauts, _camel_to_words (device key normalization), _CATEGORY_LABELS / _category_label(), hardcoded "de" language code for room_names lookup, and all of answer_query() + _summarize() + _answer_global() + _describe_category() + _MODE_LABELS
      
      The goal is a LanguagePack interface that bundles both concerns, so:
      
      
              
            German stays the only maintained implementation
      
              
            A contributor can build an English (or any other) pack without touching core logic
      
              
            Per-room language binding becomes possible in config
      

      Eventuell mache ich englisch auch selbst, muss ich mal schauen.

      PackElendP 1 Antwort Letzte Antwort
      0
      • M Online
        M Online
        micklafisch
        schrieb am zuletzt editiert von
        #29

        ich verfolge den Thread aufmerksam. Gibt es bereits Fotos der Satelliten?

        Da ich softwareseitig mit meinen Echo dots nicht zufrieden bin (Hardware und Klang ist i.O., nur die "Intelligenz" ist mehr als fragwürdig. Mein insgeheimer Plan wäre die Amazon Hardware wie Mikrofone, Lautsprecher und Gehäuse zu verwenden und nur den ESP einzusetzen, allerdings hab ich bislang die Kiste noch nicht geöffnet und weiß nicht was mich da erwartet.

        1 Antwort Letzte Antwort
        0
        • L Leonie

          @WolfgangD sagte:

          Na dann: Wo kann ich mich auf die Bestelliste für ESP-Satelliten setzen lassen?

          ich melde mich per PN bei dir.

          @PackElend sagte:

          Andere Frage, ist das System erweiterbar mit anderen Sprachen (nicht sprachmodellen). Unser Haushalt ist mehrsprachig, und ich bin mit Deutsch eigentlich in der Minderheit

          Aktuell nicht, es steht aber auf meiner Roadmap. Ich zitiere aus dem Issue:

          The current NLU and all response text generation are hardcoded German, spread across nlu.py and iobroker.py. Language-specific logic includes:
          
          
                  
                nlu.py: room name matching, umlaut normalization, device aliases, intent keywords
          
                  
                iobroker.py: _UMLAUT_MAP, _normalize_umlauts, _camel_to_words (device key normalization), _CATEGORY_LABELS / _category_label(), hardcoded "de" language code for room_names lookup, and all of answer_query() + _summarize() + _answer_global() + _describe_category() + _MODE_LABELS
          
          The goal is a LanguagePack interface that bundles both concerns, so:
          
          
                  
                German stays the only maintained implementation
          
                  
                A contributor can build an English (or any other) pack without touching core logic
          
                  
                Per-room language binding becomes possible in config
          

          Eventuell mache ich englisch auch selbst, muss ich mal schauen.

          PackElendP Offline
          PackElendP Offline
          PackElend
          schrieb am zuletzt editiert von
          #30

          @Leonie sagte:

          englisch

          Bei uns ist die Haussprache (ausser mir) französisch, ist dann wohl irgendwie machbar.

          Eine Frage dazu noch, können Sprachen parallel laufen, sprich wird die Sprache erkannt oder müsste ich mit unterschiedlichen Signalwörter, andere Namen, arbeiten.
          Beispiel
          de Hannah
          En Elizabeth
          Fr Pauline

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

            @micklafisch Hier ein Bild von dem PCB aus der Planung
            a6b24670-24d2-4503-85b0-5290fc395391-image.jpeg

            Es handelt sich um eine 4 Layer Platine, beidseitig bestückt. Orientiert habe ich mich an zwei Systemen: Alexa und Satellite 1. Weil ich vor allem aber die Alexa-Platinen nicht nachbauen kann und auch in der exakten Größe Probleme habe, ist meine etwas größer: Durchmesser 88mm.

            Hier noch ein Bild von dem fertigen Gehäuse:
            9bd16ef4-b7b9-4a85-8016-8b2fb1409e67-image.jpeg

            Die Buttons oben sind Vol+, Vol-, Mute und PTT, auch der LED-Diffusor ist gut zu sehen.

            @packelend Geplant ist es, irgendwie. Das wird aber wohl eher mit einer Personenzuordnung laufen. Das also jeder "Hannah-User" ein Language-Setting bekommt. Jeder Nutzer muss dann einmal über VoiceID seine Stimme bekannt geben. Wird dann in der normalen Nutzung ein Nutzer erkannt, wird auf die passende Sprach-NLU gewechselt. Im Fallback wäre es ein globaler, das könnte bei dir dann bspw. französich sein.

            PackElendP 1 Antwort Letzte Antwort
            1
            • L Leonie

              @micklafisch Hier ein Bild von dem PCB aus der Planung
              a6b24670-24d2-4503-85b0-5290fc395391-image.jpeg

              Es handelt sich um eine 4 Layer Platine, beidseitig bestückt. Orientiert habe ich mich an zwei Systemen: Alexa und Satellite 1. Weil ich vor allem aber die Alexa-Platinen nicht nachbauen kann und auch in der exakten Größe Probleme habe, ist meine etwas größer: Durchmesser 88mm.

              Hier noch ein Bild von dem fertigen Gehäuse:
              9bd16ef4-b7b9-4a85-8016-8b2fb1409e67-image.jpeg

              Die Buttons oben sind Vol+, Vol-, Mute und PTT, auch der LED-Diffusor ist gut zu sehen.

              @packelend Geplant ist es, irgendwie. Das wird aber wohl eher mit einer Personenzuordnung laufen. Das also jeder "Hannah-User" ein Language-Setting bekommt. Jeder Nutzer muss dann einmal über VoiceID seine Stimme bekannt geben. Wird dann in der normalen Nutzung ein Nutzer erkannt, wird auf die passende Sprach-NLU gewechselt. Im Fallback wäre es ein globaler, das könnte bei dir dann bspw. französich sein.

              PackElendP Offline
              PackElendP Offline
              PackElend
              schrieb am zuletzt editiert von
              #32

              @Leonie sagte:

              Wird dann in der normalen Nutzung ein Nutzer erkannt, wird auf die passende Sprach-NLU gewechselt.

              Bei unserem Sohn wird das spannend, er spricht deutsch, französisch und Züritüütsch😁

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

                Ich sag mal so, wenn du eine Lösung findest, wie man aus dem Audio heraus die Sprache erkennen kann und das ganze ohne Cloud Service und phne exzentrische Hardware, dann her damit :D

                Ich könnte mir vorstellen das es eine Schnittstelle gibt, ich nenne sie mal "getLanguage", diese wird von Core vor der NLU aufgerufen und soll die korrekte Sprache oder NULL melden, dann wird die beschriebene Logik genommen. An diese Schnittstelle könnte man dann irgendein System anschließen. Würde vmtl. auch über gRPC laufen, liefert den rohen PCM-Stream, vielleicht den User, wenn der bekannt ist, und erwartet einen String.

                Das ist noch ferne Zukunft, ehe die pluggable NLU programmiert ist, ergibt das gar keinen Sinn. Spannend dürfte es schon sein deutsche Dialekte zu parsen, bisher ist die bewusste Programmierung auf "Hochdeutsch" ausgelegt, bewusst weil das die Sprache ist, die bei uns hier im Gesetz steht :D

                OliverIOO PackElendP 2 Antworten Letzte Antwort
                0
                • L Leonie

                  Ich sag mal so, wenn du eine Lösung findest, wie man aus dem Audio heraus die Sprache erkennen kann und das ganze ohne Cloud Service und phne exzentrische Hardware, dann her damit :D

                  Ich könnte mir vorstellen das es eine Schnittstelle gibt, ich nenne sie mal "getLanguage", diese wird von Core vor der NLU aufgerufen und soll die korrekte Sprache oder NULL melden, dann wird die beschriebene Logik genommen. An diese Schnittstelle könnte man dann irgendein System anschließen. Würde vmtl. auch über gRPC laufen, liefert den rohen PCM-Stream, vielleicht den User, wenn der bekannt ist, und erwartet einen String.

                  Das ist noch ferne Zukunft, ehe die pluggable NLU programmiert ist, ergibt das gar keinen Sinn. Spannend dürfte es schon sein deutsche Dialekte zu parsen, bisher ist die bewusste Programmierung auf "Hochdeutsch" ausgelegt, bewusst weil das die Sprache ist, die bei uns hier im Gesetz steht :D

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von
                  #34

                  @Leonie
                  könnte man das nicht, wie bereits erwähnt an das aktivierungswort hängen?
                  also unterschiedliche namen, sind dann unterschiedliche wahl der spracherkennungsmodelle und ausgabesprachen

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

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

                    Eher nicht, Core hat keine Ahnung vom Wakeword und die Satelliten interessieren sich nicht für irgendwas anderes. Aktuell läuft es so:
                    Wakeword erkannt -> Audio-Kanal zum Core wird geöffnet -> Audio wird von den Mikrofonen so lange gestreamt bis Stille erkannt wird -> Audio Kanal wird geschlossen. Der Audio-Kanal wird aber auch geschlossen, falls Core erkennt, das es nichts für ihn ist. Die Satelliten sind bewusst dumm. Ob überhaupt mehrere Wakewords möglich sind, kann ich aktuell gar nicht beantworten, die Ressourcen von so einem ESP sind schon eher begrenzt. Und dann noch die Wakeworderkennung parallel für x Sprachen laufen lassen, das ist ne Menge Arbeit, das kann ich mir aktuell nicht vorstellen.

                    1 Antwort Letzte Antwort
                    0
                    • L Leonie

                      Ich sag mal so, wenn du eine Lösung findest, wie man aus dem Audio heraus die Sprache erkennen kann und das ganze ohne Cloud Service und phne exzentrische Hardware, dann her damit :D

                      Ich könnte mir vorstellen das es eine Schnittstelle gibt, ich nenne sie mal "getLanguage", diese wird von Core vor der NLU aufgerufen und soll die korrekte Sprache oder NULL melden, dann wird die beschriebene Logik genommen. An diese Schnittstelle könnte man dann irgendein System anschließen. Würde vmtl. auch über gRPC laufen, liefert den rohen PCM-Stream, vielleicht den User, wenn der bekannt ist, und erwartet einen String.

                      Das ist noch ferne Zukunft, ehe die pluggable NLU programmiert ist, ergibt das gar keinen Sinn. Spannend dürfte es schon sein deutsche Dialekte zu parsen, bisher ist die bewusste Programmierung auf "Hochdeutsch" ausgelegt, bewusst weil das die Sprache ist, die bei uns hier im Gesetz steht :D

                      PackElendP Offline
                      PackElendP Offline
                      PackElend
                      schrieb am zuletzt editiert von PackElend
                      #36

                      @Leonie sagte:

                      Ich sag mal so, wenn du eine Lösung findest, wie man aus dem Audio heraus die Sprache erkennen kann und das ganze ohne Cloud Service und phne exzentrische Hardware, dann her damit :D

                      Scheint whisper kann dies https://openai-whisper.mintlify.app/guides/language-detection#automatic-detection

                      Automatic Detection
                      ​>
                      CLI
                      By default, Whisper automatically detects the language when specified

                      futo.org bietet auch mutli language an

                      Aber die warten immer bis der Text gesprochen wurde und fangen dann an zu transkribieren. Da leidet wohl UX.

                      Wenn ich mal wieder eine ruhige Minute habe kann ich mal mal schauen wo hier die Anstrengungensi bzgl Dialekt Sprachmodellen. Ich weiss es wird daran gearbeitet, bin diesem aber nicht mehr gefolgt

                      OliverIOO 1 Antwort Letzte Antwort
                      0
                      • PackElendP PackElend

                        @Leonie sagte:

                        Ich sag mal so, wenn du eine Lösung findest, wie man aus dem Audio heraus die Sprache erkennen kann und das ganze ohne Cloud Service und phne exzentrische Hardware, dann her damit :D

                        Scheint whisper kann dies https://openai-whisper.mintlify.app/guides/language-detection#automatic-detection

                        Automatic Detection
                        ​>
                        CLI
                        By default, Whisper automatically detects the language when specified

                        futo.org bietet auch mutli language an

                        Aber die warten immer bis der Text gesprochen wurde und fangen dann an zu transkribieren. Da leidet wohl UX.

                        Wenn ich mal wieder eine ruhige Minute habe kann ich mal mal schauen wo hier die Anstrengungensi bzgl Dialekt Sprachmodellen. Ich weiss es wird daran gearbeitet, bin diesem aber nicht mehr gefolgt

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von
                        #37

                        @PackElend
                        whisper kann bidirektional nicht.
                        das wird aktuell über ein neues modell eingeführt. api noch nicht verfügbar
                        https://openai.com/de-DE/index/introducing-gpt-live/

                        aber hier geht es ja um komplett alles offline ohne irgendeine externe api

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        1 Antwort Letzte Antwort
                        0
                        • WolfgangDW Offline
                          WolfgangDW Offline
                          WolfgangD
                          schrieb am zuletzt editiert von
                          #38

                          Gibts zur Motivation irgendwo eine kleine Audio Demo von Hannah als MP3 zum Anhören?

                          diverse Raspis, ESPs, ioBroker, Alexas, Sensoren, Heizungsregelung, Solaranlage mit Speicher, RTK-Rasenroboter

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

                            Hannah nutzt im Standard eine beliebige Piper-kompatible Stimme. Schau mal hier, da kannst du dir ein paar Beispiele anhören:
                            Hugging Face – Piper Voices (de_DE)

                            Du kannst natürlich auch andere Stimmen einbinden oder sogar deine eigene trainieren.

                            Da ich hier keinen zentralen Cloud-Dienst beschreibe, sondern eine Sprachassistenz, die lokal in deinem eigenen Haus „wohnt“ und über die du die volle Hoheit hast, gibt es schlicht nicht „die eine Stimme“ – wie man es von Amazon Alexa oder Google Gemini kennt.
                            Es gibt lediglich die Kernanforderung, das sämtliches Audio in 16 kHz Mono vorliegen muss.

                            Hinweis zur Transparenz:
                            Ich bin für mich persönlich leicht vom strikten No-Cloud-Ansatz abgewichen und nutze aktuell die Azure Speech Synthese. Grund dafür war die überschaubare Auswahl an wirklich guten, hochqualitativen Piper-Stimmen auf Deutsch und meine fehlende Lust, ewig nach Alternativen zu suchen. Azure bietet mir zufällig genau die Stimme, die ich mir für Hannah vorgestellt habe – und das in meinem Rahmen vollkommen kostenlos.

                            Dennoch: Die lokale Piper-Synthese ist vollwertig supported und wird standardmäßig präferiert. Sämtliche Funktionen werden von mir primär gegen Piper entwickelt und getestet.

                            Kurzer Nachtrag zum Thema Hardware-Bestellungen:

                            Damit hier keine falschen Erwartungen entstehen: Ich werde keine fertigen Platinen oder Hardware verkaufen – das kann und möchte ich weder logistisch noch privat leisten. Mein Fokus liegt rein auf der Software- und Hardware-Entwicklung.

                            Ich stelle euch selbstverständlich alle Fertigungsdateien (Gerber, BOM, Centroid/CPL) komplett Open Source zur Verfügung, sodass sich jeder die Platinen direkt beim Hersteller der Wahl (z. B. JLCPCB oder PCBWay) bestellen und bestücken lassen kann.

                            Idee für die Community:
                            Da der Stückpreis bei SMT-Bestückungen mit steigender Menge extrem fällt (Rüstkosten teilen sich auf), könnt ihr euch hier im Forum super zusammenschließen und eine kleine Sammelbestellung organisieren. Ich vernetze Interessierte da gerne untereinander!

                            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

                            477

                            Online

                            33.0k

                            Benutzer

                            83.5k

                            Themen

                            1.3m

                            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
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe