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

  • Neue Adresse: die ioBroker-Webseite liegt jetzt auf iobroker.com
    BluefoxB
    Bluefox
    3
    1
    159

  • Die neue ioBroker Webseite ist online!
    BluefoxB
    Bluefox
    11
    1
    186

  • Information zum Kontoabgleich und zur Namensänderung
    BluefoxB
    Bluefox
    11
    1
    505

Hannah — Open Source Smart-Home-Sprachassistentin

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
195 Beiträge 23 Kommentatoren 13.8k Aufrufe 34 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 Leonie

    schick mir bitte die grpc-Sektion aus der Datei /etc/hannah/config.yaml

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

    @Leonie

    grpc:
      host: "192.168.178.122"   # Bind-Adresse des gRPC-Servers
      port: 50051        # Standard gRPC-Port
      enforce_protocol_version: false  # #60: Mismatch/fehlende x-proto-version-Metadata ablehnen statt nur loggen — erst aktivieren, wenn ALLE Clients umgestellt sind
      enforce_compat_version: false    # #217: wie oben, aber pro Message (x-compat-version) statt global — erst aktivieren, wenn ALLE Clients umgestellt sind
    
    1 Antwort Letzte Antwort
    0
    • L
      L
      Leonie
      schrieb am zuletzt editiert von
      #173

      Gut, dann hört der gRPC Server nicht auf 127.0.0.1. ändere den host bitte auf 0.0.0.0 und starte Hannah neu

      sudo systemctl restart hannah
      
      Walter.O.W 1 Antwort Letzte Antwort
      0
      • L Leonie

        Gut, dann hört der gRPC Server nicht auf 127.0.0.1. ändere den host bitte auf 0.0.0.0 und starte Hannah neu

        sudo systemctl restart hannah
        
        Walter.O.W
        Walter.O.W
        Walter.O.
        schrieb am zuletzt editiert von
        #174

        @Leonie So schon mal ein Stück weiter (freu).
        Nach der eingabe der Login Daten sehe ich jetzt Hannah v2.6.1 Seite.
        Beim Anklicken von
        Verlauf ok
        Nachrichten ok
        cars ok

        Räume - - hier wird mir in der offenen WebUI erneut das Login Angezeigt, nach 1-3 mal klicken auf den Entsprechenden Menuepunkt erscheint die Seite dann koreckt.
        Gruppen - - dito
        Satelliten - - dito
        Settings- - dito
        Bletags -- dito
        Trigger - - dito
        User -- dito
        Anbei noch mal ein hannah status

        sudo systemctl status hannah
        ● hannah.service - Hannah Voice Assistant Core
            Loaded: loaded (/etc/systemd/system/hannah.service; enabled; preset: enabled)
            Active: active (running) since Wed 2026-09-16 15:29:55 CEST; 6min ago
        Invocation: b078da1d3ad64067aec904eaf156c0c4
              Docs: https://dev.kernstock.net/gessinger/voice/hannah
          Main PID: 2904934 (python)
             Tasks: 26 (limit: 14909)
            Memory: 226.4M (peak: 334.2M)
               CPU: 6.273s
            CGroup: /system.slice/hannah.service
                    ├─2904934 /opt/hannah/core/venv/bin/python main.py -c /etc/hannah/config.yaml
                    └─2905240 /opt/hannah/core/venv/bin/python -c "from multiprocessing.resource_tracker import main;main(10)"
        
        Sep 16 15:34:01 iob python[2904934]: 15:34:01 [INFO] hannah.trigger_engine: TriggerEngine: 0 Trigger aus der Datenbank geladen
        Sep 16 15:35:01 iob python[2904934]: 15:35:01 [INFO] hannah.trigger_engine: TriggerEngine: 0 Trigger aus der Datenbank geladen
        Sep 16 15:35:04 iob python[2904934]: 15:35:04 [WARNING] hannah.iobroker: Unbekannter State-Suffix 'battery' (state_id=zigbee.0.00158d00088398d5.battery) — fehlt in config.yaml's iobroker.state_names, Live-Update wird verwo>
        Sep 16 15:35:04 iob python[2904934]: 15:35:04 [WARNING] hannah.iobroker: Unbekannter State-Suffix 'voltage' (state_id=zigbee.0.00158d00088398d5.voltage) — fehlt in config.yaml's iobroker.state_names, Live-Update wird verwo>
        Sep 16 15:35:04 iob python[2904934]: 15:35:04 [WARNING] hannah.iobroker: Unbekannter State-Suffix 'opened' (state_id=zigbee.0.00158d00088398d5.opened) — fehlt in config.yaml's iobroker.state_names, Live-Update wird verworf>
        Sep 16 15:35:04 iob python[2904934]: 15:35:04 [WARNING] hannah.iobroker: Unbekannter State-Suffix 'contact' (state_id=zigbee.0.00158d00088398d5.contact) — fehlt in config.yaml's iobroker.state_names, Live-Update wird verwo>
        Sep 16 15:35:04 iob python[2904934]: 15:35:04 [WARNING] hannah.iobroker: Unbekannter State-Suffix 'device_temperature' (state_id=zigbee.0.00158d00088398d5.device_temperature) — fehlt in config.yaml's iobroker.state_names, >
        Sep 16 15:35:04 iob python[2904934]: 15:35:04 [WARNING] hannah.iobroker: Unbekannter State-Suffix 'power_outage_count' (state_id=zigbee.0.00158d00088398d5.power_outage_count) — fehlt in config.yaml's iobroker.state_names, >
        Sep 16 15:35:04 iob python[2904934]: 15:35:04 [WARNING] hannah.iobroker: Unbekannter State-Suffix 'trigger_count' (state_id=zigbee.0.00158d00088398d5.trigger_count) — fehlt in config.yaml's iobroker.state_names, Live-Updat>
        Sep 16 15:36:01 iob python[2904934]: 15:36:01 [INFO] hannah.trigger_engine: TriggerEngine: 0 Trigger aus der Datenbank geladen
        lines 1-23/23 (END)
        
        

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

          Gut, schick mir bitte den Inhalt aus /etc/hannah-webui/config.yaml

          Und zeig mir bitte die Ausgabe davon:

          journalctl -u hannah-webui -n 200 | grep "No secret_key configured"
          
          Walter.O.W 1 Antwort Letzte Antwort
          0
          • L Leonie

            Gut, schick mir bitte den Inhalt aus /etc/hannah-webui/config.yaml

            Und zeig mir bitte die Ausgabe davon:

            journalctl -u hannah-webui -n 200 | grep "No secret_key configured"
            
            Walter.O.W
            Walter.O.W
            Walter.O.
            schrieb am zuletzt editiert von Walter.O.
            #176

            @Leonie

              GNU nano 8.7.1                                             config.yaml *
            # Wo der WebUI-Flask-Server selbst lauscht
            host: "0.0.0.0"
            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: "iobwalter"
            
            # 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: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            telegram_bot_username: "xxxxx_bot"
            
            # Hannah Core, per gRPC
            grpc:
              host: "0.0.0.0"
              port: 50051
            
            
            1 Antwort Letzte Antwort
            0
            • L
              L
              Leonie
              schrieb am zuletzt editiert von
              #177

              den Bot token solltest du nun besser ändern und die Host-Adresse unten bei gRPC ist falsch. Da muss entweder 127.0.0.1 drin stehen oder eine andere gültige Adresse die dein Server hat, von oben: 192.168.178.122

              1 Antwort Letzte Antwort
              0
              • Walter.O.W
                Walter.O.W
                Walter.O.
                schrieb am zuletzt editiert von
                #178

                journalctl -u hannah-webui -n 200 | grep "No secret_key configured"
                gibt keine ausgabe

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

                  und nur "journalctl -u hannah-webui -n 200"?

                  Walter.O.W 1 Antwort Letzte Antwort
                  0
                  • L Leonie

                    und nur "journalctl -u hannah-webui -n 200"?

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

                    @Leonie

                    journalctl -u hannah-webui -n 200
                    Sep 16 15:31:50 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:31:50 +0200] "GET /static/css/tailwind.css HTTP/1.1" 304 0 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHT>
                    Sep 16 15:31:50 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:31:50 +0200] "GET /static/manifest.json HTTP/1.1" 304 0 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,>
                    Sep 16 15:31:55 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:31:55 +0200] "GET /rooms HTTP/1.1" 302 199 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) >
                    Sep 16 15:31:55 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:31:55 +0200] "GET /login HTTP/1.1" 200 5004 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)>
                    Sep 16 15:31:55 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:31:55 +0200] "GET /static/css/tailwind.css HTTP/1.1" 304 0 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHT>
                    Sep 16 15:31:55 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:31:55 +0200] "GET /static/manifest.json HTTP/1.1" 304 0 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,>
                    Sep 16 15:31:57 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:31:57 +0200] "GET /groups HTTP/1.1" 302 199 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)>
                    Sep 16 15:31:57 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:31:57 +0200] "GET /login HTTP/1.1" 200 5004 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)>
                    Sep 16 15:31:57 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:31:57 +0200] "GET /static/css/tailwind.css HTTP/1.1" 304 0 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHT>
                    Sep 16 15:31:57 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:31:57 +0200] "GET /static/manifest.json HTTP/1.1" 304 0 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,>
                    Sep 16 15:31:59 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:31:59 +0200] "GET /satellites HTTP/1.1" 200 4823 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like G>
                    Sep 16 15:31:59 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:31:59 +0200] "GET /static/css/tailwind.css HTTP/1.1" 304 0 "http://192.168.178.122:5000/satellites" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36>
                    Sep 16 15:31:59 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:31:59 +0200] "GET /static/manifest.json HTTP/1.1" 304 0 "http://192.168.178.122:5000/satellites" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (K>
                    Sep 16 15:32:01 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:32:01 +0200] "GET /settings HTTP/1.1" 200 54431 "http://192.168.178.122:5000/satellites" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, li>
                    Sep 16 15:32:01 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:32:01 +0200] "GET /static/css/tailwind.css HTTP/1.1" 304 0 "http://192.168.178.122:5000/settings" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (>
                    Sep 16 15:32:01 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:32:01 +0200] "GET /static/manifest.json HTTP/1.1" 304 0 "http://192.168.178.122:5000/settings" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHT>
                    Sep 16 15:32:38 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:32:38 +0200] "GET /ble-tags HTTP/1.1" 302 199 "http://192.168.178.122:5000/settings" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like G>
                    Sep 16 15:32:38 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:32:38 +0200] "GET /login HTTP/1.1" 200 5004 "http://192.168.178.122:5000/settings" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gec>
                    Sep 16 15:32:38 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:32:38 +0200] "GET /static/css/tailwind.css HTTP/1.1" 304 0 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHT>
                    Sep 16 15:32:38 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:32:38 +0200] "GET /static/manifest.json HTTP/1.1" 304 0 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,>
                    Sep 16 15:32:42 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:32:42 +0200] "GET /satellites HTTP/1.1" 302 199 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Ge>
                    Sep 16 15:32:42 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:32:42 +0200] "GET /login HTTP/1.1" 200 5004 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)>
                    Sep 16 15:32:42 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:32:42 +0200] "GET /static/css/tailwind.css HTTP/1.1" 304 0 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHT>
                    Sep 16 15:32:42 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:32:42 +0200] "GET /static/manifest.json HTTP/1.1" 304 0 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,>
                    Sep 16 15:32:43 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:32:43 +0200] "GET /satellites HTTP/1.1" 200 4823 "http://192.168.178.122:5000/login" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like G>
                    Sep 16 15:32:43 iob gunicorn[1308]: 192.168.178.38 - - [16/Sep/2026:15:32:43 +0200] "GET /static/css/tailwind.css HTTP/1.1" 304 0 "http://192.168.178.122:5000/satellites" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36>
                    Sep 16 15:32:43 iob gunicorn[1311]: 192.168.178.38 - - [16/Sep/2026:15:32:43 +0200] "GET /static/manifest.json HTTP/1.1" 304 0 "http://192.168.178.122:5000/satellites" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (K>
                    
                    1 Antwort Letzte Antwort
                    0
                    • L
                      L
                      Leonie
                      schrieb am zuletzt editiert von
                      #181

                      hast du die Config geändert und die WebUI neugestartet?

                      Walter.O.W 1 Antwort Letzte Antwort
                      0
                      • Walter.O.W
                        Walter.O.W
                        Walter.O.
                        schrieb am zuletzt editiert von
                        #182

                        Wenn ich 192.168.178.122 eingebe kann ich mich nicht mehr einloggen.
                        Bei 127.0.0.1 geht es aber so wie schon beschrieben

                        1 Antwort Letzte Antwort
                        0
                        • L Leonie

                          hast du die Config geändert und die WebUI neugestartet?

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

                          @Leonie sagte:

                          hast du die Config geändert und die WebUI neugestartet?

                          Ja

                          1 Antwort Letzte Antwort
                          0
                          • Walter.O.W
                            Walter.O.W
                            Walter.O.
                            schrieb am zuletzt editiert von
                            #184

                            Ich habe gerade mal den Rechner komplett neu gestartet, jetzt ist die WebUI OK

                            1 Antwort Letzte Antwort
                            0
                            • Walter.O.W
                              Walter.O.W
                              Walter.O.
                              schrieb am zuletzt editiert von Walter.O.
                              #185

                              Noch eine Frage zu #156 "das Mapping" Einstellungen Hannah.0 wo finde ich denn das?

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

                                im ioBroker, bei dem State auf das Zahnrad klicken, da wo du auch History einstellst usw.

                                1 Antwort Letzte Antwort
                                0
                                • M
                                  M
                                  manne01
                                  schrieb am zuletzt editiert von manne01
                                  #187

                                  Hallo,

                                  nun will ich mich mal wieder melden und hab vieles aufzuholen:

                                  @manne01 sagte: wäre es nicht auch denkbar, den "Objektbaum" per RAG einem Modell

                                  @Leonie sagte: Hannah ist primär so entwickelt, das die reine Sprachsteuerung kein LLM benötigt. Allerdings gibt es im NLU-Pfad die Möglichkeit das Hannah einen Satz nicht verarbeiten kann, also keine Regel trifft, und das dann zur Klassifizierung ans LLM sendet. Das kann dann wiederum über Tools auf die Gerätedaten zugreifen und genau das durchführen was du gemeint hast. Das ist aber bewusst nur als Fallbackpfad gebaut, weil ich nunmal nicht Amazon bin und einfach mal eben tausende Euro ausgeben kann um leistungsstarke Hardware für latenzarme Modelle zu betreiben.

                                  Nachvollziehbar. Und ich finde auch gut dass Steuerungskommandos lokal und nachvollziehbar durchgeführt werden. Auf jeden Fall interessant, dass was in der Richtung bereits angedacht ist, toll! Die Modelle werden ja glaube ich schon teilweise auch immer leichtgewichtiger und für mittlere/kleinere Hardware zugänglich.

                                  Ich habe auch noch über weitere Integrationen übers angebundene LLM nachgedacht, etwa die Anbindung eines lokalen RAG-Systems, welches zum Beispiel im Internet recherchieren kann oder sagen wir ich will Hannah fragen ob eine neue E-Mail für mich da ist. Da ist aber doch die Authentifizierung das Problem. Wie weit geht da die Stimmenerkennung oder könnte man Sprach-Passworte oder sowas einfordern und vor allem könnte man da irgendwas ans Modell-Provider durchreichen? Hast Du in die Richtung auch Überlegungen?

                                  @Leonie sagte: Auch einen Cloud Service wie claude, GPT, perplexity oder sonstwas, wollte ich grundsätzlich nicht und will ich nach wie vor nicht. Zumal dann mein Haus auch von der Internetleitung abhängig wäre.

                                  Ja, das würde ich auch nicht wollen.

                                  @Leonie sagte: Aktuell hat der LLM-Pfad eine Latenz von ca. 10s bei mir. Das ist für ein wenig Nebenbei"gespräch" oder wenn die NLU einfach nicht den korrekten Pfad getroffen hat, für mich akzeptabel.

                                  Ich finde 10s tatsächlich auch schon für Smalltalk relativ viel, bei mir ist es jetzt mit starker Hardware schneller. Vielleicht kann man es optimieren. Es wäre spannend da mal vergleichende Tests (Textkommando zu Textantwort, Sprachkommando zu Sprachantwort; jeweils Steuerung und LLM Talk; jeweils für ioBroker-Command-Objekt, Satelite und Telegram) zu machen und v.a. dann auch zu schauen wo wieviel Zeit verbraucht wird.

                                  @Leonie sagte: Daher muss ich alle Fälle einzeln hinterlegen. Aber das ist quasi gar nicht so schwierig.

                                  Klasse - es funktioniert ja schon richtig viel! Es ist natürlich umso besser, je natürlicher es wird (auch wenn es dabei relativ überschaubar einfach bleibt - ich hab da natürlich als Nicht-Entwickler gut reden...).

                                  Die neue Nachfrage "Welcher Rolladen, links oder rechts?" ist super und viel besser als bisher, aber wenn ich beim Kommando schon "alle" drin habe fühlt sich diese Nachfrage natürlich komisch an. Sowas wie "alle" oder "beide" könnte doch direkt erkannt werden ODER dann auch als Antwort auf die Frage links/rechts akzeptiert werden? Aktuell muss man sich entscheiden.

                                  So ganz konsistent klappt es auch noch nicht mit dem Nachfragen.
                                  Teilweise ist mir die Erkennung heute glaube ich doch recht oft einfach auf Smalltalk gesprungen (und das LLM hat dann quasi halluziniert "Die Wohnungstüre ist verschlossen."). Ich muss aber nochmal in Ruhe bzw. etwas strukturierter testen.

                                  @manne01 sagte: "Bitte setze die Rolläden im Schlafzimmer auf 50%" --> Thema 2 Rolläden oder alle 5 Geräte

                                  @Leonie sagte: Der Fehler ist hier, das der Resolver korrekt 5 Geräte im Raum Schlafzimmer auflöst, aber die Kategorie "Rollläden" nicht. Und das dürfte aktuell gar nicht eingebaut sein. Das der Executor dann nur 3 Geräte gefunden hat, ist vermutlich auch nur logisch, weil nur drei (Rolläden+Lampe in meinem Beispiel) einen Level haben.

                                  Das Problem scheint mir in der aktuellen Version gelöst, klasse! Trotzdem gab es auch wieder ein paar Unklarheiten.

                                  Zum Teil werden glaube ich bei "alle" noch alle "on" Geräte geschaltet. Z.B. es gibt neben Lights noch ein Gerät namens "Musik". Ich habe es mit Radio versucht und hat geklappt. Aber nicht weil Radio verstanden wurde, sondern weil alles im Wohnzimmer "ausgeschaltet" wurde.

                                  19:49:48 [INFO] hannah.grpc_server: [grpc] SubmitText von telegram:8753330120 (user=2) — 'Schalte das Radio im RaumX aus'
                                  19:49:48 [INFO] hannah.main: [textcmd] Text: 'Schalte das Radio im RaumX aus' → Intent: TurnOff | Raum: RaumX | Gerät: None | Wert: None | SpeakerUser: 2
                                  19:49:48 [INFO] hannah.iobroker: execute: TurnOff, 4 Gerät(e) gefunden, state='on', value=False

                                  Mir ist aber dann was dazwischengekommen. Ich teste bald nochmal.

                                  Weitere Geräte habe ich aufgenommen mit denen ich nicht weiterkomme:

                                  1. Ein Fenstersensor wird noch nicht korrekt verarbeitet, vermutlich weil er auch noch "gekippt" kann? Es wird aber auch offen und geschlossen nicht verarbeitet:

                                  in ioBroker:
                                  name: Fenster17.STATE
                                  Role: state
                                  tatsächliche Status: 2 = open; 1 = tilted; 0 = closed

                                  im Hannah Log: Fenster17 -- () [window] — States: STATE

                                  Ich nehme an, weil kein Status da war, war das in einer der letzten core-Versionen die Ursache war für

                                  @manne01 sagte:
                                  Auch noch spannend war heute -> Raum WC wurde erkannt, aber es wurde dann zum Kinderzimmer berichtet
                                  (Verkürzt: 'Wie ist der Status vom Fenster im WC?' --> 'Fenster im Kinderzimmer: offen.'

                                  Das ist relativ witzig, weil nachvollziehen kann ich das nicht.

                                  Inzwischen kommt bei der Frage: "Ich weiß nicht ob Fenster -- im WC an oder aus ist", das ist ja richtig solange die Status nicht richtig zugeordnet sind.

                                  1. Farbige Lampen

                                  ioBroker states:
                                  Irgendeinlicht.DIMMER (0-100)
                                  Irgendeinlicht.ON (true/false)
                                  Irgendeinlicht.TEMPERATURE (die Farbe, hex string mit farbcode - ginge auch als Irgendeinlicht.HUE mit dem Hue 0-360 Grad Wert)
                                  Irgendeinlicht.SATURATION (0-100) -> für die Farbsättigung

                                  Es wird im core-Log als Light aber nur mit level, on und color erkannt - SATURATION scheint mir nicht vorhanden zu sein und es ist mir noch nicht gelungen aufzunehmen. Ich muss aber zugeben, ich habe immernoch Schwierigkeiten die Zusammenhänge zu verinnerlichen, wie das Mapping der Settings in Hannah UI mit den State-Namen und den Rollen etc. zusammengehen. Es ist dann mehr so ein ausprobieren, als zu wissen, was man tut.

                                  Ich weiß auch noch nicht was mir da helfen würde - vielleicht in der UI bei den Settings oben drüber etwas mehr reinschreiben und auch bei den "Keys" (on, level, ...) in den Settingszeilen evtl. dazuschreiben was dahinter steckt, was die dann "können"? Und was mache ich wenn ich (wegen vielerlei Technologien) mehrere Werte dort mappen müsste? Aber wie gesagt, ich überblicke es noch garnicht richtig.

                                  @manne01 sagte:
                                  17:45:31 [INFO] hannah.iobroker: · Fenster () [window] — States: STATE --> Funktioniert, Hannah weiß ob auf oder zu ist
                                  17:45:31 [INFO] hannah.iobroker: · Tür () [door] — States: STATE --> "Das kann ich leider nicht beantworten".

                                  @Leonie sagte: Kannst du mir bitte Details dazu geben?

                                  Ich konnte es so leider nicht mehr nachvollziehen. Ich behalte das im Auge.

                                  @Leonie sagte: Eigentlich ignoriert Hannah bewusst keine Zeichen, außer Satzzeichen und Groß und Kleinschreibung. Also Zahlen müssten durchgehen.

                                  Wunderbar - ich habe jetzt meine Thermostate etc. die seitens Homematic "Thermostat 1" genannt werden einfach mit Bindestrichen unterschieden. Die braucht es fürs Matching zum Kommando nicht und so kann ich den Unterschied durch den Raum machen und brauche an der Stelle mir die Mühe mit Überschreibungen nicht zu machen.
                                  Dabei hab ich nun aber festgestellt, dass ja die Zeichen nicht gefiltert, also noch noch da sind dann in der Ausgabe, aber es wird nicht ausgesprochen, das passt so.

                                  @Leonie sagte: Tatsächlich haben meine Geräte aber auch keine Zahlen, dafür die merkwürdigsten Namen. Da heißt ein Fenster bspw. "Seite Straße" oder eine Lampe "Decke Garten".

                                  Ja, da ist es auf jeden Fall gut wenn die Geräte auch bei vertauschten Namensteilen erkannt werden.

                                  @Leonie sagte: Quasi nebenbei habe ich auch den VoiceID Rollout fertig gebaut. Der kann über die WebUI gestartet werden, benötigt aber mindestens einen verbunden Satelliten und bringt ohne sowieso nichts.

                                  Sehr schön, Danke! Dann wird das ganze ja immer runder und zugänglicher.

                                  @manne01 sagte: könnte man die Version der Komponenten beim Start ins Log schreiben

                                  @Leonie sagte: Das ist eher nicht geplant. Da du Docker nutzt, kannst du ja die Versionen aus den Tags ablesen. Aktuell plane ich aber noch einen Health-Endpoint über den man bspw. Metriken für Grafana abholen kann. Ich könnte mir vorstellen das Versionsreporting an der Stelle zu tun.

                                  Health Endpoint klingt sehr gut. Offen gesagt in Docker - hmm, so richtig sehe ich da keine Versionen, aber das kann wieder an Synology liegen...

                                  @Leonie sagte: Kurzes Update zur Telegram-Verknüpfung
                                  Für alle, die auch mit DynDNS partout keine Domain am Bot hängen haben wollen, überlege ich zusätzlich eine zweite Variante: ein Admin (Trust-Level 10) verknüpft den Telegram-Account eines Users manuell
                                  Keine echte Verifikation durch Telegram mehr, reine Vertrauenssache zwischen Admin und User.
                                  Wäre das für euch ein akzeptabler Trade-off, oder ist euch die fehlende Selbstbestätigung zu heikel?

                                  Für mich klingt das gut, weil der Admin das sicher häufig z.B. für Mitbewohner/Kollegen einrichtet und verantwortet und die Kanäle dorthin ja recht klar sein sollten.

                                  Trotzdem fände ich Alternativ zu Telegram für einfachere Setups und im lokalen Netz einen browserbasierten Web-Sprachchat ohne Login im Hannah-UI spannend (der dann auch mobil funktoniert). Den könnte man in Wandtablets einbinden oder auf dem Handy niedrigschwellig und unauthentifiziert nutzen. So wie den Schalter an der Wand. Ich sage das ohne zu wissen ob das technisch sauber machbar ist.

                                  Zu den Satelliten: Welche "Reichweite" hat denn so ein Satellit (hörend und antwortend) - wenn man unterstellt dass man normal hört und keine Nebengeräusche hat? Es braucht schon einen pro Raum oder? Wie groß darf so ein Raum sein bzw. wie ist es bei "verbundenen Räumen, also mit offener Tür oder nur halbe Wand?

                                  Noch eine Beobachtung: Wenn ich Hannah einfach per iobroker-Command-Object frage "Hallo Test 123" kommt dazu im Core Log kein Eintrag, kann das sein? Bei Telegram Sprache und Text klappt das. Die Antwort aufs ioBroker-Command kommt im Log
                                  21:03:16 [INFO] hannah.main: [iobroker] Antwort (Smalltalk): 'Hallo Test 123'

                                  Wie behandelst Du eigentlich raumübergreifende Gruppen? Also sowas wie "Alle Rolläden im Erdgeschoss"? "Alle Lichter im Garten"? Wie würde man solche Gruppen anlegen und steuern? Als eigener Raum?

                                  Ist es richtig, dass die Wörter im Kommando dedupliziert werden wenn es um Steuerung/Matching geht? Also für die Zuordnung genügt "Schalte im Wohnzimmer den Rolladen Seite ein" wenn der Raum "Wohnzimmer" heisst, die Funktion "Rolladen" und das Gerät "Seite" ? Ich hatte die Funktion aus den Gerätenamen rausgenommen aber beim Bestätigen klingt das dann doof, z.B. "Seite wurde geschlossen". Gibt es da Best practise?

                                  Könnte man beim Überschreiben oder irgendwo inline in den Gerätenamen auch Aliase definieren? Eine Funktion Musik könnte so auch als Radio gestartet werden. Oder Rolladen/Jalousie etc.

                                  Tut mir leid, ist etwas viel geworden. Bis hoffentlich bald wieder!

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

                                    @manne01 ziemlich viel. Auf das meiste werde ich jetzt nicht eingehen.

                                    Aber zu dem WebChat: Ich hatte die verrückte Idee Hannah einen IRC-Bot zu bauen. Also ja: Grundsätzlich kommuniziert bei Hannah alles über ein Protokoll das sich gRPC nennt. Das ist quasi ein Kommunikationsvertrag. Einfach gesagt, gibt es dort eine Nachricht, die nennt sich "SubmitText" und erwartet eine Antwort.
                                    Wenn sich nun jemand findet, der Lust hat, einen WebChat zu programmieren, gebe ich das gerne ab. Dem Chat sollte es egal sein ob er nun seine Antworten per socket broadcastet oder per gRPC verschickt.
                                    Das notwendige Proto-Paket, liegt für go, python und node bereits komplett fertig vor. Die Implementierungen kann man sich bei mir anschauen, das node-Paket wird bspw. im ioBroker-Adapter verwendet.

                                    1 Antwort Letzte Antwort
                                    0
                                    • Walter.O.W
                                      Walter.O.W
                                      Walter.O.
                                      schrieb am zuletzt editiert von
                                      #189

                                      Hallo Leonie
                                      ich habe da mal (wieder) eine Frage, diesmal zu Telegram und die Einbindung einer Domain . Ich habe eine eigene .de Domain die aber auf keine webseite verweist. wie muss ich das machen das ich sie bei Telegram einbinde. gibt es da eine Deutsche Anleitung? Ich habe es schon versucht aber wenn ich in der webui auf verbinden gehe kommt immer (deprecated) Veraltet. Ich bekomme es einfach nicht hin.

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

                                        @manne01 danke, wie immer richtig viel Substanz dabei. Ich geh der Reihe nach durch, fasse aber ein paar Punkte zusammen, wo's passt.

                                        RAG/Internet- & E-Mail-Integration + Auth:

                                        @manne01 sagte:

                                        Ich habe auch noch über weitere Integrationen übers angebundene LLM nachgedacht, etwa die Anbindung eines lokalen RAG-Systems

                                        Aktuell nicht geplant, aber ich seh da einen Weg über das Skill-System, das ich sowieso vorhabe (gRPC-Skill-Server, Alexa-artiges Invocation-Routing): Wenn irgendwer Lust hat, einen Skill für z.B. Google Mail zu bauen — spricht von meiner Seite nichts dagegen. So ein Skill bräuchte dann wahrscheinlich seine eigene Userbase, die man über linkedAccount entweder mit dem Hannah-User oder direkt mit dem jeweiligen Account (Google o.ä.) verknüpft. Ist aber bisher nur ein Gedankenexperiment, nichts Konkretes.

                                        Das LLM bekommt grundsätzlich schon mitgeteilt, mit welchem User es gerade spricht — insofern wäre eine Rechtebasis dafür schon da. Ob man dem LLM generell einen Internetzugriff geben will (technisch sicher machbar als Core-seitiges Tool) ist für mich aber nochmal eine andere, offene Frage — nicht ob's geht, sondern ob ich das will.

                                        Latenz-Vergleichstests:

                                        @manne01 sagte:

                                        Es wäre spannend da mal vergleichende Tests

                                        Guter Punkt, notiere ich mir — passt eigentlich ganz gut zu einem Health/Metrics-Vorhaben, das ich sowieso schon länger vor mir herschiebe. Konkrete Zahlen kann ich dir noch nicht liefern.

                                        "Alle" schaltet zu viel ab (dein Radio/Musik-Beispiel):

                                        @manne01 sagte:

                                        19:49:48 [INFO] hannah.grpc_server: [grpc] SubmitText von telegram:8753330120 (user=2) — 'Schalte das Radio im RaumX aus'

                                        19:49:48 [INFO] hannah.main: [textcmd] Text: 'Schalte das Radio im RaumX aus' → Intent: TurnOff | Raum: RaumX | Gerät: None | Wert: None | SpeakerUser: 2

                                        19:49:48 [INFO] hannah.iobroker: execute: TurnOff, 4 Gerät(e) gefunden, state='on', value=Falses ist tatsächlich ein Bug, danke für den Log — hab ich aufgenommen. Kurz zur Klarstellung: dass "Radio" nicht erkannt wurde, ist erwartbar, dein Gerät heißt ja "Musik". Der eigentliche Fehler ist, dass Hannah bei einem Nichttreffer trotzdem alles im Raum ausschaltet, statt "kenne ich nicht" zu sagen. Ist gemeldet und wird gefixt.

                                        Fensterkontakt mit gekippt/offen/zu:

                                        @manne01 sagte:

                                        Ein Fenstersensor wird noch nicht korrekt verarbeitet, vermutlich weil er auch noch "gekippt" kann?

                                        Da hab ich mir die Ursache genau angeschaut: deine Kontakt-Rolle ist bei Homematic einfach zu generisch ("state"), als dass Hannah das automatisch erkennen könnte — dafür gibt's aber schon einen Override-Mechanismus in ioBroker (common.custom), den du auf diesem State setzen kannst. Das war für dich nur nicht auffindbar, deshalb bessere ich an der Stelle die Doku in der Settings-UI nach.

                                        Und zu "gekippt" grundsätzlich: Das will ich Hannah bewusst nicht extra beibringen. Sicherheitsrelevant ist für mich nur offen-vs-zu, und ein gekipptes Fenster ist in der Hinsicht einfach offen. Sobald der Override sauber steht, meldet Hannah dir "offen" auch bei gekippt — technisch sogar ohne dass ich dafür Code ändern muss.

                                        Farblampen / Saturation:

                                        @manne01 sagte:

                                        SATURATION scheint mir nicht vorhanden

                                        Hab ich aufgenommen, aber noch offen ob ich's umsetze — ich nutze Saturation/Hue an meinen eigenen Lampen selbst nicht, rechne stattdessen direkt in Hex um. Falls es kommt, dann rein zusätzlich, ohne dass sich für bestehende Lampen was ändert.

                                        Settings-UI/canonicalKey-Verständnis:

                                        Nehme ich mir vor — Erklärtext zu den Keys und wann/wie der Override greift, mit deinem Fensterkontakt als Beispiel.

                                        Zahlen/Sonderzeichen in Gerätenamen:

                                        Freut mich, dass der Bindestrich-Trick bei dir funktioniert wie gedacht.

                                        VoiceID-Rollout:

                                        Danke fürs Feedback!

                                        Telegram-manuelle-Verknüpfung:

                                        Ok, mal schauen ob/wie ich das umsetze. Ist jedenfalls bei mir im Plan aufgenommen.

                                        Satelliten-Reichweite:

                                        @manne01 sagte:

                                        Zu den Satelliten: Welche "Reichweite" hat denn so ein Satellit

                                        Bei mir sind die Räume so 20–40m² groß, jeweils ein Satellit pro Raum, Akustik ist gut. Liege ich oben im Bett in der Südost-Ecke, hört mich der Satellit im Erdgeschoss in der Nordwest-Ecke — mit einem Treppenhaus dazwischen. Stehe ich im Wohnzimmer, kann ich mit dem Satelliten in der Küche reden. Beides so 20–50m Distanz. Die Antwort vom Satelliten hängt natürlich von den verbauten Lautsprechern ab. Ich habe welche im "fliegenden" Aufbau, mit billigen Lautsprechern, die sind relativ leise, ich habe aber auch welche mit dem finalen Design (Dayton Audio RS75-4), da ist die Akustik um vieles besser.

                                        Cross-Room-Gruppen ("alle Rollläden im EG") + "alle"/"beide" bei Rückfragen:

                                        @manne01 sagte:

                                        Alle Rolläden im Erdgeschoss"?

                                        @manne01 sagte:

                                        ber wenn ich beim Kommando schon "alle" drin habe fühlt sich diese Nachfrage natürlich komisch an

                                        Beides hängt für mich zusammen — ich hab eine Idee für automatische virtuelle Gruppen-Geräte pro Raum/Kategorie in der Pipeline, die genau das lösen würde: "alle Rollläden" würde dann auf ein echtes Gerät matchen, und die Links/Rechts-Rückfrage bräuchte den Sonderfall gar nicht mehr. Noch nicht umgesetzt, aber eingeplant. Etagen zu "bauen", steht auch auf meinem Plan, aber noch nicht schriftlich. Ein passendes Design habe ich auch noch nicht im Kopf.

                                        Wort-Dedup / Funktion im Gerätenamen:

                                        @manne01 sagte:

                                        Ist es richtig, dass die Wörter im Kommando dedupliziert werden wenn es um Steuerung/Matching geht?

                                        Kein echtes "Dedup" — Raum, Funktion/Kategorie und Gerät werden komplett unabhängig voneinander gegen denselben Satz gematcht, jeder sucht sein eigenes Vokabular, ohne dass die anderen Treffer "verbraucht" werden. Dein Setup mit "Rolladen"-freien Gerätenamen funktioniert deshalb.

                                        Zur Ansage ("Seite wurde geschlossen" klingt komisch): Hannah sagt immer den rohen Gerätenamen an, nicht Funktion+Gerät. Willst du "Rolladen Seite" in den Ansagen hören, müsste das Gerät in ioBroker tatsächlich so heißen — das macht das Matching dann aber strenger: es braucht "Rolladen Seite" als zusammenhängende Wortfolge im Kommando, während ein reiner "Seite"-Name flexibler matcht (Reihenfolge/Position im Satz egal). Echter Trade-off, keine Bug-Frage.

                                        Aliase (Musik↔Radio, Rolladen↔Jalousie):

                                        @manne01 sagte:

                                        Gerät namens "Musik"

                                        Da bin ich zurückhaltend — eine offene Synonymliste will ich Hannah nicht beibringen, das wird schnell unwartbar. Ein Teil davon dürfte sich aber sowieso über die Gruppen-Geräte von oben erledigen. Bei dir wurde vermutlich der ganze Raum geschaltet, weil Hannah kein Gerät gefunden. Das müsste ein gelöster Bug sein, so das Hannah lieber nachfragt mit "Tut mir leid, das Gerät habe ich nicht gefunden, welches meinst du?", ich kann das aber gerne nochmal prüfen und ich weiß natürlich nicht welche Version du hast.

                                        iobroker-Command-Object-Logging:

                                        @manne01 sagte:

                                        Noch eine Beobachtung: Wenn ich Hannah einfach per iobroker-Command-Object frage

                                        Auch ein Bug, danke — eingehende Anfragen sollen da genauso geloggt werden wie bei Telegram/Satellit. Gemeldet.

                                        Versions-Logging:

                                        @manne01 sagte:

                                        Offen gesagt in Docker

                                        Das kommt nun darauf an wie du dein Compose-file geschrieben hast. Pinst du auf fixe Versionen? dann ist es einfach. Ansonsten müsste man das über die image digest nachschauen. Ich kann das gerne für dich übernehmen, aber du musst mir dafür deine verwendeten Digests geben.

                                        @manne01 sagte:

                                        Tut mir leid, ist etwas viel geworden. Bis hoffentlich bald wieder!

                                        Ach, muss dir überhaupt nicht leid tun! Ehrlich gesagt sind mir solche gesammelten Rundumschläge deutlich lieber als wenn dasselbe Thema in zehn Salami-Beiträgen häppchenweise reintropft - so hab ich alles auf einmal im Kopf und kann in Ruhe durchgehen. Also: gerne öfter so ausführlich!
                                        Bis demnächst!

                                        @Walter.O. sagte:

                                        ich habe da mal (wieder) eine Frage, diesmal zu Telegram

                                        Hallo Walter, kein Problem, frag ruhig — dafür ist das Forum ja da!

                                        Bei "(deprecated) Veraltet" muss ich leider erstmal passen, ohne mehr zu wissen. Könntest du mir zwei Dinge schicken, damit ich dir gezielt helfen kann?

                                        • Einen Screenshot von der Stelle in der WebUI, wo diese Meldung auftaucht (am besten mit der ganzen Seite drumrum) — dann seh ich genau, worauf sich "veraltet" bezieht.

                                        • Ein paar Infos zu deiner Domain: bei wem hast du sie registriert, und zeigt sie aktuell überhaupt schon irgendwohin (auf eine IP-Adresse, einen DynDNS-Dienst, o.ä.)?

                                        Mit den beiden Sachen kann ich dir dann eine Anleitung schreiben, die auch wirklich zu deiner Situation passt — sonst rate ich womöglich am eigentlichen Problem vorbei.

                                        Liebe Grüße

                                        1 Antwort Letzte Antwort
                                        0
                                        • Walter.O.W Walter.O.

                                          Hallo Leonie
                                          ich habe da mal (wieder) eine Frage, diesmal zu Telegram und die Einbindung einer Domain . Ich habe eine eigene .de Domain die aber auf keine webseite verweist. wie muss ich das machen das ich sie bei Telegram einbinde. gibt es da eine Deutsche Anleitung? Ich habe es schon versucht aber wenn ich in der webui auf verbinden gehe kommt immer (deprecated) Veraltet. Ich bekomme es einfach nicht hin.

                                          OliverIOO
                                          OliverIOO
                                          OliverIO
                                          schrieb am zuletzt editiert von OliverIO
                                          #191

                                          @Walter.O. sagte:

                                          Hallo Leonie
                                          ich habe da mal (wieder) eine Frage, diesmal zu Telegram und die Einbindung einer Domain . Ich habe eine eigene .de Domain die aber auf keine webseite verweist. wie muss ich das machen das ich sie bei Telegram einbinde. gibt es da eine Deutsche Anleitung? Ich habe es schon versucht aber wenn ich in der webui auf verbinden gehe kommt immer (deprecated) Veraltet. Ich bekomme es einfach nicht hin.

                                          Das geht mit deiner Webseite nicht.
                                          Dein telegram webhook, in einem deiner Container) muss über eine https Adresse erreichbar sein. Also ein offener Port in deinem Router, der dann an den entsprechenden Container weitergeleitet wird

                                          Du benötigst

                                          1. einen https DNS Domäne, deren ip Adresse mit deiner ip Adresse dynamisch aktualisiert wird (dyndns). Ggfs bietet dir dein routerhersteller da was kostenloses an. Ansonsten gibt es kostenlose Dienste die dir sowas machen.

                                          2. dann noch ein https Zertifikat für diese domaine (bspw mit let's encrypt) die,laufen allerdings nach einiger Zeit ab und müssen erneuert werden. Das kann man sich aber automatisieren.

                                          So bekommst du Anfragen zumindest mal an deinen Router.
                                          3) Aus Sicherheitsgründen (wie weiter oben erwähnt) benötigst du dann noch einen reverseproxy

                                          1. Und als weitere Sicherheitsmaßnahme empfehle ich noch fail2ban, so das spielkinder/scriptkiddies und auch professionelle Angreifer nicht zu viele Chancen haben den offenen Port auszutesten. Das macht allerdings notwendig die Zugriffe über die log files ein paar Tage zu beobachten und ggfs. weitere Filter Regeln hinzuzufügen.

                                          Der offene Port leitet an den reverseproxy um.
                                          Der Container der dann den telegram webhook enthält muss über zusätzliche env variablen dem reverseproxy bekanntgemacht werden. Das funktioniert mit dem Proxy Manager sehr gut. Der Proxy leitet dann die Anfrage an deinen webhook Container weiter.

                                          Die Maßnahmen gewährleisten, das die angriffsfläche die dein offener Port bietet, so klein wie möglich gehalten wird und fehlerhafte Anfragen (die nicht durch telegram erfolgen, zeitnah abgeblockt werden)

                                          Ich nutze

                                          1. dynu.com
                                          2. https://hub.docker.com/r/jrcs/letsencrypt-nginx-proxy-companion
                                          3. https://hub.docker.com/r/jwilder/nginx-proxy
                                          4. https://hub.docker.com/r/crazymax/fail2ban

                                          Habe mir die Container allerdings selber gebaut und nicht direkt von dockerhub gezogen. Das mache ich nur mit zertifizierten Container von dockerhub.

                                          Für bessere fail2ban Überwachung
                                          https://hub.docker.com/r/oweitman/fail2bancontrol
                                          (Ist von mir)

                                          Wenn du mehr Infos brauchst kann ich dir bei der Konfiguration helfen.
                                          Habe hier mehrere Dienste mit offenen Ports laufen: n8n (und darin dann ein telegram trigger), immich, Nextcloud,etc.

                                          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

                                          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

                                          257

                                          Online

                                          33.1k

                                          Benutzende

                                          83.8k

                                          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