Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Tester
  4. Test Adapter ioBroker.n8n

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Test Adapter ioBroker.n8n

Geplant Angeheftet Gesperrt Verschoben Tester
42 Beiträge 12 Kommentatoren 3.6k Aufrufe 20 Watching
  • Ä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.
  • F FritzTheCat

    Hallo in die Runde,

    Eine Frage, vielleicht fällt Euch was dazu ein:

    Ich habe den Aufbau des (sehr tollen!) Videos (Danke!!) nachgestellt und es funktioniert teilweise gut!

    Aber bei bestimmten Geräten bekomme ich immer Müll als Antwort.

    In dieser Grafik sieht man beim Befehl "Schalte die Lampe in der Küche ein" die (fast richtige) Antwort "Esstischlampe" mit der (entsprechenden) Shelly-ID

    Meldung in Telegram: Esstisch auf true gesetzt...

    Die Frage nach der Fernsehlampe findet diese zwar, erfindet aber eine ID "hm-rpc.1.0023A95A88E2A2.1.STATE" - sagt das jemandem was - ich finde diese ID nicht in den JSON Daten in IOBroker-Read.

    grafik.png

    Auch die Bitte die "Esstischlampe" oder "Esstisch" einzuschalten liedert eine solche hm-rpc-ID und es funktioniert nicht, es geht nur mit "Lampe in der Küche"

    Während ich diese Nachricht schreibe, hat sich mit dem gleichen Befehl "Schalte die Lampe in der Küche ein" eine andere Lampe (eigentlich nun wirklich die richtige) eingeschalten - es heißt ja, man bekommt bei KI immer wieder mal was anderes :)

    In Telegram: shelly-dimmer-kueche auf true gesetzt...

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

    @FritzTheCat

    Wenn die KI solche ID erfindet, dann hat sie zu wenig Input.
    Hast du denn ihr genügend Informationen gegeben, dass sie deine menschlichen Anweisungen auf irgendwelche Geräte mappen kann?
    Eventuell musst du auch den Prompt noch verbessern, so dass die ki dort auch nachschaut

    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
    • F Offline
      F Offline
      FritzTheCat
      schrieb am zuletzt editiert von
      #33

      Hallo Oliver,

      Ich habe eine Testprogramm gebaut, dass mit dem selben Systemprompt arbeitet und auch das orignal JSON aus dem n8n "IOBroker-Reader Devices" übernommen.
      Damit komme ich zu folgenden Ergebnissen:

      Frage: Esstischlampe einschalten 6.1.2026, 01:56:07
      Antwort:

      [
        {
          "id": "shelly.1.shellyplus1pm#d48afc4163e8#1.Relay0.Switch",
          "name": "Esstisch",
          "value": true
        }
      ]
      
      Tokens: 8927/574 · Kosten: 0.0038 $ · Session: a9763548-0100-4360-b892-e110096daf20 · OpenAI/gpt-5-nano
      

      Frage: Wohnzimmerlampe 50% 6.1.2026, 14:41:23
      Antwort:

      [
        {
          "id": "shelly.0.SHDM-2#C8C9A325A9BB#1.lights.brightness",
          "name": "Wohnzimmerlampe",
          "value": 50
        }
      ]
      
      Tokens: 8997/1024 · Kosten: 0.0040 $ · Session: a9763548-0100-4360-b892-e110096daf20 · OpenAI/gpt-5-nano
      

      Frage: Fernsehlampe ein, rot, 30% 6.1.2026, 14:42:28
      Antwort:

      [
        {
          "id": "shelly.0.SHCB-1#3494546B298D#1.lights.Switch",
          "name": "Fernsehlampe",
          "value": true
        },
        {
          "id": "shelly.0.SHCB-1#3494546B298D#1.lights.brightness",
          "name": "Fernsehlampe",
          "value": 30
        },
        {
          "id": "shelly.0.SHCB-1#3494546B298D#1.lights.hue",
          "name": "Fernsehlampe",
          "value": 0
        },
        {
          "id": "shelly.0.SHCB-1#3494546B298D#1.lights.saturation",
          "name": "Fernsehlampe",
          "value": 100
        }
      ]
      
      Tokens: 9073/1421 · Kosten: 0.0042 $ · Session: a9763548-0100-4360-b892-e110096daf20 · OpenAI/gpt-5-mini
      

      Frage: Fernsehlampe ein, weiß, 100% 6.1.2026, 14:43:57
      Antwort:

      [
          {
              "id": "shelly.0.SHCB-1#3494546B298D#1.lights.Switch",
              "name": "Fernsehlampe",
              "value": true
          },
          {
              "id": "shelly.0.SHCB-1#3494546B298D#1.lights.white",
              "name": "Fernsehlampe",
              "value": 100
          }
      ]
      
      Tokens: 9141/104 · Kosten: 0.0000 $ · Session: a9763548-0100-4360-b892-e110096daf20 · OpenAI-older/gpt-3.5-turbo
      

      Schaut für mich alles perfekt aus. Wie Du siehst, habe ich auch die Modelle durchgewechselt, wobei gpt-3.5-turbo eigentlich am Ende eh am Besten abgeschnitten hat.
      gpt-5-nano sollte wesentlich "billiger" sein, war aber auch um 2-3 Sekunden langsamer und daher für diesen Einsatzzweck nicht wirklich brauchbar.

      Ich habe alle Modelle natürlich auch wechselweise in n8n/IObroker versucht!

      Leider bleibt dort bisher als einziger Zufallstreffer "Schalte die Lampe in der Küche ein" erfolgreich, bei allen anderen Versuchen kommen immer wieder diese RFC-IDs daher, aber vor allem sehe ich auch, dass nicht nur die IDs falsch sind sondern auch die Geräte entsprechend "falsch" gefunden werden.

      A. hat jemand eine Idee woher diese RPC-IDs kommen könnten (kommt das irgendwo im IOBroker vor?)
      B. wie kann ich sicherstellen, dass n8n-GPT auch wirklich mit der "richtigen" JSON arbeitet (obwohl ich die Daten für meine Tests ja eh aus dem Adapter kopiert hab und sie für mich richtig erscheinen!)

      [offtopic:] Eine für mich wichtige Erkenntniss bei meinen Versuchen:
      Zuerst habe ich versucht, einfach alles in einen Prompt zu stecken. Den Systemprompt, die Frage und das JSON.

      Bei gpt-3.5-turbo kommt es dann in meinem Testprogramm zu einem Fehler:

      OpenAI HTTP 400: { "error": { "message": "This model's maximum context length is 16385 tokens.
      However, your messages resulted in 20559 tokens.
      Please reduce the length of the messages.", "type": "invalid_request_error", "param": "message...
      

      Mit gpt-5-nano ging das dann...

      Frage: Schalte das Licht in der Küche ein

      Antwort:

      [
        {
          "id": "shelly.1.shellydimmerg3#e4b063ec4c10#1.Light0.Switch",
          "name": "shelly-dimmer-kueche",
          "value": true
        }
      ]
      
      Tokens: 20982/1283 · Kosten: 0.0089 $ · Session: 9f7027df-8649-4a90-a4ac-26f03a017bc4 · OpenAI/gpt-5-nano
      

      Erst als ich mein Programm so umgebaut habe, dass ich gesondert System-Prompt und Roles schicken kann, wie es wohl auch der n8n-Adapter macht, hat es überhaupt mit gpt-3.5-turbo geklappt.

      Wie man oben sieht, schaut es mit den Tokens ganz anders aus, wenn man den System-Prompt wirklich als solchen schickt und das JSON als Datei und dann separat die Frage...

      OliverIOO 1 Antwort Letzte Antwort
      0
      • F FritzTheCat

        Hallo Oliver,

        Ich habe eine Testprogramm gebaut, dass mit dem selben Systemprompt arbeitet und auch das orignal JSON aus dem n8n "IOBroker-Reader Devices" übernommen.
        Damit komme ich zu folgenden Ergebnissen:

        Frage: Esstischlampe einschalten 6.1.2026, 01:56:07
        Antwort:

        [
          {
            "id": "shelly.1.shellyplus1pm#d48afc4163e8#1.Relay0.Switch",
            "name": "Esstisch",
            "value": true
          }
        ]
        
        Tokens: 8927/574 · Kosten: 0.0038 $ · Session: a9763548-0100-4360-b892-e110096daf20 · OpenAI/gpt-5-nano
        

        Frage: Wohnzimmerlampe 50% 6.1.2026, 14:41:23
        Antwort:

        [
          {
            "id": "shelly.0.SHDM-2#C8C9A325A9BB#1.lights.brightness",
            "name": "Wohnzimmerlampe",
            "value": 50
          }
        ]
        
        Tokens: 8997/1024 · Kosten: 0.0040 $ · Session: a9763548-0100-4360-b892-e110096daf20 · OpenAI/gpt-5-nano
        

        Frage: Fernsehlampe ein, rot, 30% 6.1.2026, 14:42:28
        Antwort:

        [
          {
            "id": "shelly.0.SHCB-1#3494546B298D#1.lights.Switch",
            "name": "Fernsehlampe",
            "value": true
          },
          {
            "id": "shelly.0.SHCB-1#3494546B298D#1.lights.brightness",
            "name": "Fernsehlampe",
            "value": 30
          },
          {
            "id": "shelly.0.SHCB-1#3494546B298D#1.lights.hue",
            "name": "Fernsehlampe",
            "value": 0
          },
          {
            "id": "shelly.0.SHCB-1#3494546B298D#1.lights.saturation",
            "name": "Fernsehlampe",
            "value": 100
          }
        ]
        
        Tokens: 9073/1421 · Kosten: 0.0042 $ · Session: a9763548-0100-4360-b892-e110096daf20 · OpenAI/gpt-5-mini
        

        Frage: Fernsehlampe ein, weiß, 100% 6.1.2026, 14:43:57
        Antwort:

        [
            {
                "id": "shelly.0.SHCB-1#3494546B298D#1.lights.Switch",
                "name": "Fernsehlampe",
                "value": true
            },
            {
                "id": "shelly.0.SHCB-1#3494546B298D#1.lights.white",
                "name": "Fernsehlampe",
                "value": 100
            }
        ]
        
        Tokens: 9141/104 · Kosten: 0.0000 $ · Session: a9763548-0100-4360-b892-e110096daf20 · OpenAI-older/gpt-3.5-turbo
        

        Schaut für mich alles perfekt aus. Wie Du siehst, habe ich auch die Modelle durchgewechselt, wobei gpt-3.5-turbo eigentlich am Ende eh am Besten abgeschnitten hat.
        gpt-5-nano sollte wesentlich "billiger" sein, war aber auch um 2-3 Sekunden langsamer und daher für diesen Einsatzzweck nicht wirklich brauchbar.

        Ich habe alle Modelle natürlich auch wechselweise in n8n/IObroker versucht!

        Leider bleibt dort bisher als einziger Zufallstreffer "Schalte die Lampe in der Küche ein" erfolgreich, bei allen anderen Versuchen kommen immer wieder diese RFC-IDs daher, aber vor allem sehe ich auch, dass nicht nur die IDs falsch sind sondern auch die Geräte entsprechend "falsch" gefunden werden.

        A. hat jemand eine Idee woher diese RPC-IDs kommen könnten (kommt das irgendwo im IOBroker vor?)
        B. wie kann ich sicherstellen, dass n8n-GPT auch wirklich mit der "richtigen" JSON arbeitet (obwohl ich die Daten für meine Tests ja eh aus dem Adapter kopiert hab und sie für mich richtig erscheinen!)

        [offtopic:] Eine für mich wichtige Erkenntniss bei meinen Versuchen:
        Zuerst habe ich versucht, einfach alles in einen Prompt zu stecken. Den Systemprompt, die Frage und das JSON.

        Bei gpt-3.5-turbo kommt es dann in meinem Testprogramm zu einem Fehler:

        OpenAI HTTP 400: { "error": { "message": "This model's maximum context length is 16385 tokens.
        However, your messages resulted in 20559 tokens.
        Please reduce the length of the messages.", "type": "invalid_request_error", "param": "message...
        

        Mit gpt-5-nano ging das dann...

        Frage: Schalte das Licht in der Küche ein

        Antwort:

        [
          {
            "id": "shelly.1.shellydimmerg3#e4b063ec4c10#1.Light0.Switch",
            "name": "shelly-dimmer-kueche",
            "value": true
          }
        ]
        
        Tokens: 20982/1283 · Kosten: 0.0089 $ · Session: 9f7027df-8649-4a90-a4ac-26f03a017bc4 · OpenAI/gpt-5-nano
        

        Erst als ich mein Programm so umgebaut habe, dass ich gesondert System-Prompt und Roles schicken kann, wie es wohl auch der n8n-Adapter macht, hat es überhaupt mit gpt-3.5-turbo geklappt.

        Wie man oben sieht, schaut es mit den Tokens ganz anders aus, wenn man den System-Prompt wirklich als solchen schickt und das JSON als Datei und dann separat die Frage...

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

        @FritzTheCat

        sag mir mal noch wo ich

        mit dem selben Systemprompt arbeitet und auch das orignal JSON aus dem n8n "IOBroker-Reader Devices"

        finde?

        Das ist evtl auch eines deiner Probleme

        This model's maximum context length is 16385 tokens

        Die Modelle haben alle ein unterschiedlich großes Kontextfenster.
        16K ist relativ klein. hängt aber davon ab, wieviel Datenpunkte und Details du da reinpackst.
        Um ein Gefühl dafür zu bekommen kann man den link ausprobieren
        https://platform.openai.com/tokenizer
        Der tokenizer ist aber für jedes Modell (auch bei unterschiedlichen Anbietern) anders.

        Hier kannst du mal schauen welche Modelle mit größeren Kontextfenster existieren und die Kostentechnisch nicht so teuer ist (openai gehört mehr zu den teueren Anbietern)
        https://explodingtopics.com/blog/list-of-llms?utm_source=chatgpt.com

        Acuh kann man ggfs über andere Provider, die einheitlichen API Zugriff für mehrere Modelle anbieten ggfs auch Kostenvorteile erhalten.

        Falls die Kontextfenster nix sagt:
        Das ist der Größe des Gehirns, das einem LLM in einem Durchgang als ERinnerungsvermögen zur Verfügung steht. Alles was da nicht reinpasst, weiß die KI nicht. Wenn man im laufe eines Chatverlaufs die Grenze überschreitet fällt irgend etwas älteres heraus. Mittlerweile gibt es so Komprimierungs Strategien bei dem älteres "Wissen" komprimiert wird, so das das wichtigste erhalten bleibt, aber das ist aktuell erst am werden.
        die nano modelle von openai haben zwar ein größeres Kontextfenster (1Million), allerdings ist die parametergröße eher Klein (geschätzt 7 Milliarden. das normale 5.2 Modell hat geschätzt 2-5Billionen und ist eine Größe für die Gesamtintelligenz.
        Per N8N ist mehr oder weniger wirklich jedes Modell anbindbar.

        Eine weitere Alternative wäre noch, die iobroker Daten in eine vektoren Datenbank "hineinzutrainieren" (ist kein echtes Training). Dazu würde deine Anfrage zu einer Vorauswahl auf Basis der Vekotendaten führen, welche dann letztendlich zu Anfrage bei einem LLM führt. Bein so volatilen Daten wie die Datenpunkte und deren Inhalte bei iobroker habe ich noch keine Tests gemacht.

        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
        • F Offline
          F Offline
          FritzTheCat
          schrieb am zuletzt editiert von FritzTheCat
          #35

          Der Systemprompt ist:

          You are a Smart Home assistant for ioBroker.
          Always use tool to get the structure of rooms and devicses in rooms.
          Based on the user input below, extract all commands and return them as a JSON array of objects:
          
          ```json
          [
            {
              "id": "stateId",       // Take ID from the JSON structure
              "name": "Device name",  // Take the name from the provided JSON structure
              "value": commandValue   // take the value from command context
            }
          ]
          
          * One object per device/action.
          * If the input is unclear, return an empty array `[]`.
          * **Return only valid JSON. No explanation.**
          
          **Critical: use only IDs from by tool provided schema!**
          

          Das ist der originale Wert aus dem Video von @bluefox - wie ich oben gezeigt habe, funktioniert er mit meinem eigenen (Test)Tool perfekt, es werden alle Geräte richitg erkannt. (wohlbemerkt nicht in n8n, nur im Tool)

          Das JSON findest Du im IO-Broker Reader:

          grafik.png

          Das JSON hat 19KB und 2474 Zeilen. Im Tokenizer werden ähnlich wie in meinem Test-Tool dafür 20,370 Tokens berechnet. (Sollte es von Belang sein, kann ich die Datei hochladen oder schicken, aber es ist wohl eine "normale bis kleine" IObroker-Config...)

          Schickt man den Systemprompt gemeinsam mit dem JSON (als Datei) und der anschließenden Frage, dann kommt man ja nach Modell auf 8000-9000 Tokens, also alles im grünen Bereich.

          Was das Kontextfenster betrifft, habe ich oben doch recht genaue Überlegungen gepostet. Wie auch die Überlegungen und Tests zu anderen Modellen. gpt-5-nano würde rund 10% von gpt3.5-turbo kosten und hat auch alle Anfragen sauber gelöst (dann sind die Parameter doch egal) aber es braucht halt für den Schaltvorgang ca. 3-4 Sekunden... (wäre für meinen Boiler OK, für meine Lampen eher nix) - wie gesagt bleibe ich momentan einfach beim Beispiel von bluefox und versuche das sauber hinzubekommen.

          Generell werden wir an dieser Stelle wohl in Zukunft alle so was wie TOON verwenden um günstiger und schneller zu werden oder länger im Kontextfenster zu bleiben. https://github.com/toon-format/toon
          Für meine ersten Versuche hier wird nun aber wohl auch das aktuelle Setup von bluefox mit JSON reichen.

          Danke für den Hinweis zu anderen Providern, aber Du musst doch bei jedem einen Basis-Account von ca. 20€/Monat kaufen um überhaupt auf die API-Funktion zu kommen. Ich hab aktuell welche von OpenAI und Perplexity mit denen ich meine Tests ausführe. Für die APIs habe ich bisher gerade mal 5€ gezahlt, aber für die Möglichkeit sie zu haben, schon einige hundert...

          Ich habe gestern übrigens auch noch mit lokalel Modellen experimentiert (LLAMA) , aber bei diesen muss man dann wohl doch den Prompt noch entsprechend anpassen, da habe ich bisher noch keine perfekten Ergebnisse bekommen. (Ist aber momentan nicht relevant, weil meine LLAMA-Modelle und IOBroker sich nicht im gleichen Netz befinden, das kann ich wirklich nur für Prompt-Tests verwenden und Euch dann ggf. Bescheid geben...)

          Aus meiner Sicht sind alle KI-technischen Fragen beantwortet - mein n8n-Setup liefert dennoch falsche Ergebnisse. Es müssen aus meiner Sicht also zur Laufzeit falsche Daten reinfließen.

          Kann mir jemand helfen, herauszufinden, warum bei meinem Setup anscheinend am Ende dann doch ein anderes JSON bei GPT landet als hier im Screenshot sichtbar ist und hat jemand Hinweise, woher die IDs wie "hm-rpc.1.0023A95A88E2A2.1.STATE" kommen könnten. Diese sind nicht in meinem (mir bekannten) JSON enthalten, müssen aber irgendwo herkommen. (könnte auch reine Haluzination sein - aber warum??)

          OliverIOO 1 Antwort Letzte Antwort
          0
          • B Offline
            B Offline
            bloop
            schrieb am zuletzt editiert von
            #36

            @fritzthecat
            Ich habe ebenfalls bereits mit dem im Video beschriebenen Workflow "gespielt".
            Allerdings habe ich es auch nicht geschafft einen verlässlich Funktionierenden "Assistenten" aufzusetzen.
            Aufgrund der relativ Großen Datenbank von ioBroker und den unterschiedlichsten Datenpunkten welche bin ich am Ende immer in ein Token runout gelaufen.
            auch die Rooms und Devices reader konnten da nicht wirklich Abhilfe schaffen.
            Nachdem ich es dann mit Vektor Datenbank, Lokalen Llama Modellen, usw. probiert habe, hab ich es dann beiseite gelegt und mich anderen Workflows gewidmet.

            Was du tun könntest wenn es sich bei deinen Geräten nur um Shellys handelt.
            Erwähne die Shellys und den Datenpunktpfad (shelly.0) explizit im System Prompt. Zusätzlich Erwähnst du, dass Andere Datenpunktformate welche zb. mit hm-rpc.1 oder zigbee.0 usw. anfangen nicht verwendet werden sollen.
            Wenn du unterschiedliche Geräte verwendest dann im Prompt auch ganz klar sagen welche Geräte für was verwendet werden:
            Lichter = Shellys = shelly.0
            Heizung = HomaticIP = hm-rpc.1
            usw.
            Ich vermute der "hm-rpc.1" kommt daher, das die für die Analyse hergezogenen Daten einst mit vielen Homematic Geräten "gefüttert" wurden. Und die Modelle nun immer wieder auf diese Datenpunkt Struktur zurückfallen.

            Es gibt bereits einen ShowCase Beitrag von mir: https://forum.iobroker.net/topic/82726/n8n-iobroker-workflows-showcase
            Eventuell findest du da etwas für dich brauchbares.

            Aktuell teste ich eine Workflow um den ioBroker Log fortlaufend zu analysieren, mich zu benachrichtigen wenn etwas wirklich relevant ist und entsprechende Fehlerbehebungen anzubieten und auszuführen (SSH)

            F 1 Antwort Letzte Antwort
            0
            • F FritzTheCat

              Der Systemprompt ist:

              You are a Smart Home assistant for ioBroker.
              Always use tool to get the structure of rooms and devicses in rooms.
              Based on the user input below, extract all commands and return them as a JSON array of objects:
              
              ```json
              [
                {
                  "id": "stateId",       // Take ID from the JSON structure
                  "name": "Device name",  // Take the name from the provided JSON structure
                  "value": commandValue   // take the value from command context
                }
              ]
              
              * One object per device/action.
              * If the input is unclear, return an empty array `[]`.
              * **Return only valid JSON. No explanation.**
              
              **Critical: use only IDs from by tool provided schema!**
              

              Das ist der originale Wert aus dem Video von @bluefox - wie ich oben gezeigt habe, funktioniert er mit meinem eigenen (Test)Tool perfekt, es werden alle Geräte richitg erkannt. (wohlbemerkt nicht in n8n, nur im Tool)

              Das JSON findest Du im IO-Broker Reader:

              grafik.png

              Das JSON hat 19KB und 2474 Zeilen. Im Tokenizer werden ähnlich wie in meinem Test-Tool dafür 20,370 Tokens berechnet. (Sollte es von Belang sein, kann ich die Datei hochladen oder schicken, aber es ist wohl eine "normale bis kleine" IObroker-Config...)

              Schickt man den Systemprompt gemeinsam mit dem JSON (als Datei) und der anschließenden Frage, dann kommt man ja nach Modell auf 8000-9000 Tokens, also alles im grünen Bereich.

              Was das Kontextfenster betrifft, habe ich oben doch recht genaue Überlegungen gepostet. Wie auch die Überlegungen und Tests zu anderen Modellen. gpt-5-nano würde rund 10% von gpt3.5-turbo kosten und hat auch alle Anfragen sauber gelöst (dann sind die Parameter doch egal) aber es braucht halt für den Schaltvorgang ca. 3-4 Sekunden... (wäre für meinen Boiler OK, für meine Lampen eher nix) - wie gesagt bleibe ich momentan einfach beim Beispiel von bluefox und versuche das sauber hinzubekommen.

              Generell werden wir an dieser Stelle wohl in Zukunft alle so was wie TOON verwenden um günstiger und schneller zu werden oder länger im Kontextfenster zu bleiben. https://github.com/toon-format/toon
              Für meine ersten Versuche hier wird nun aber wohl auch das aktuelle Setup von bluefox mit JSON reichen.

              Danke für den Hinweis zu anderen Providern, aber Du musst doch bei jedem einen Basis-Account von ca. 20€/Monat kaufen um überhaupt auf die API-Funktion zu kommen. Ich hab aktuell welche von OpenAI und Perplexity mit denen ich meine Tests ausführe. Für die APIs habe ich bisher gerade mal 5€ gezahlt, aber für die Möglichkeit sie zu haben, schon einige hundert...

              Ich habe gestern übrigens auch noch mit lokalel Modellen experimentiert (LLAMA) , aber bei diesen muss man dann wohl doch den Prompt noch entsprechend anpassen, da habe ich bisher noch keine perfekten Ergebnisse bekommen. (Ist aber momentan nicht relevant, weil meine LLAMA-Modelle und IOBroker sich nicht im gleichen Netz befinden, das kann ich wirklich nur für Prompt-Tests verwenden und Euch dann ggf. Bescheid geben...)

              Aus meiner Sicht sind alle KI-technischen Fragen beantwortet - mein n8n-Setup liefert dennoch falsche Ergebnisse. Es müssen aus meiner Sicht also zur Laufzeit falsche Daten reinfließen.

              Kann mir jemand helfen, herauszufinden, warum bei meinem Setup anscheinend am Ende dann doch ein anderes JSON bei GPT landet als hier im Screenshot sichtbar ist und hat jemand Hinweise, woher die IDs wie "hm-rpc.1.0023A95A88E2A2.1.STATE" kommen könnten. Diese sind nicht in meinem (mir bekannten) JSON enthalten, müssen aber irgendwo herkommen. (könnte auch reine Haluzination sein - aber warum??)

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

              @FritzTheCat sagte in Test Adapter ioBroker.n8n:

              mein n8n-Setup liefert dennoch falsche Ergebnisse. Es müssen aus meiner Sicht also zur Laufzeit falsche Daten reinfließen.

              aber das kann man in n8n doch ganz gut verifizieren. du hast ja immer an jedem step die input und output sicht. wo ist dann der unterschied?

              welche node nimmst du für gpt nano? eine openai node oder eine der LangChain Nodes?

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

              F 1 Antwort Letzte Antwort
              0
              • B bloop

                @fritzthecat
                Ich habe ebenfalls bereits mit dem im Video beschriebenen Workflow "gespielt".
                Allerdings habe ich es auch nicht geschafft einen verlässlich Funktionierenden "Assistenten" aufzusetzen.
                Aufgrund der relativ Großen Datenbank von ioBroker und den unterschiedlichsten Datenpunkten welche bin ich am Ende immer in ein Token runout gelaufen.
                auch die Rooms und Devices reader konnten da nicht wirklich Abhilfe schaffen.
                Nachdem ich es dann mit Vektor Datenbank, Lokalen Llama Modellen, usw. probiert habe, hab ich es dann beiseite gelegt und mich anderen Workflows gewidmet.

                Was du tun könntest wenn es sich bei deinen Geräten nur um Shellys handelt.
                Erwähne die Shellys und den Datenpunktpfad (shelly.0) explizit im System Prompt. Zusätzlich Erwähnst du, dass Andere Datenpunktformate welche zb. mit hm-rpc.1 oder zigbee.0 usw. anfangen nicht verwendet werden sollen.
                Wenn du unterschiedliche Geräte verwendest dann im Prompt auch ganz klar sagen welche Geräte für was verwendet werden:
                Lichter = Shellys = shelly.0
                Heizung = HomaticIP = hm-rpc.1
                usw.
                Ich vermute der "hm-rpc.1" kommt daher, das die für die Analyse hergezogenen Daten einst mit vielen Homematic Geräten "gefüttert" wurden. Und die Modelle nun immer wieder auf diese Datenpunkt Struktur zurückfallen.

                Es gibt bereits einen ShowCase Beitrag von mir: https://forum.iobroker.net/topic/82726/n8n-iobroker-workflows-showcase
                Eventuell findest du da etwas für dich brauchbares.

                Aktuell teste ich eine Workflow um den ioBroker Log fortlaufend zu analysieren, mich zu benachrichtigen wenn etwas wirklich relevant ist und entsprechende Fehlerbehebungen anzubieten und auszuführen (SSH)

                F Offline
                F Offline
                FritzTheCat
                schrieb am zuletzt editiert von FritzTheCat
                #38

                @bloop

                Danke für diese Infos! Vor allem die Überlegung zu "hm-rpc.1..." klingt einleuchtend. Ich hatte ja auch schon vermutet, dass es sich hier um Halluzination handeln könnte, das hat mich ganz verrückt gemacht.

                Das seltsamste: ohne jede Änderung habe ich es nun vor meiner Antwort an dich nochmal getestet und bekomme nun plötzlich viel bessere Ergebnisse als zuvor (Uhrzeitabhängige Antworten der API?)

                Dafür wurde trotz nun richtig gefundener Shellys plötzlich nicht mehr geschalten. Weil nun bei "Value" statt true/false "ein" und "aus" von GPT geliefert wird.

                Aber auch bei mir bleibt es vorerst ein Spielprojekt und hat eigentlich noch noch keinen realen Wert, denn ich kann ja ohnehin bereits alles mit IPhone und Siri schalten was sich steuern lässt. Ich werden dennoch bei Gelegenheit Verbesserungsversuche machen und die Erkenntnisse hier posten! Es ist ein tolles Projekt um mit n8n zu spielen!

                Die Erweiterung im Knoten "Parsing" die nun auch mit plötzlichem Auftreten von "Ein" "Aus" fertig wird, schaut dann so aus:

                let text = $input.first().json.output;
                
                if (typeof text === 'string') {
                  text = text.replaceAll('```', '');
                  text = text.replace(/^json/, '');
                  text = JSON.parse(text);
                }
                
                return text.map(it => {
                  let v = it.value;
                
                  if (typeof v === 'string') {
                    const norm = v.trim().toLowerCase();
                    if (norm === 'ein') v = true;
                    else if (norm === 'aus') v = false;
                  }
                
                  return {
                    json: {
                      ...it,
                      value: v
                    }
                  };
                });
                
                1 Antwort Letzte Antwort
                1
                • OliverIOO OliverIO

                  @FritzTheCat sagte in Test Adapter ioBroker.n8n:

                  mein n8n-Setup liefert dennoch falsche Ergebnisse. Es müssen aus meiner Sicht also zur Laufzeit falsche Daten reinfließen.

                  aber das kann man in n8n doch ganz gut verifizieren. du hast ja immer an jedem step die input und output sicht. wo ist dann der unterschied?

                  welche node nimmst du für gpt nano? eine openai node oder eine der LangChain Nodes?

                  F Offline
                  F Offline
                  FritzTheCat
                  schrieb am zuletzt editiert von
                  #39

                  @OliverIO im ersten Beitrag siehst Du im Screenshot "OpenAI Chat Model" und bei Model "gpt-3.5-turbo"
                  an dieser Stelle, habe ich (immer korrespondierend zu meinen Versuchen in meinem eigenen Tool) verschiedene Modelle ausgewählt und die Ergebnisse verglichen.
                  Wähle ich hier etwa "gpt-5-nano", dann dauert der Schaltvorgang ca. 3-4 Sekunden. Jedenfalls deutlich länger als bei den "teureren" Varianten. Die Qualität der Ergebnisse war aber immer gleich/ähnlich.

                  1 Antwort Letzte Antwort
                  0
                  • Q Offline
                    Q Offline
                    quorle
                    schrieb am zuletzt editiert von
                    #40

                    Kann man diesen Adapter irgendwie per Reverse Proxy erreichen? Wenn ja welcher Port wäre das?

                    1 Antwort Letzte Antwort
                    0
                    • F Offline
                      F Offline
                      FritzTheCat
                      schrieb zuletzt editiert von
                      #41

                      Nach der Installation kannst du n8n mit Port 5678 direkt öffnen. IObroker bindet das nur per IFrame ein. Ich nehme an, das ist was du suchst?

                      1 Antwort Letzte Antwort
                      0
                      • OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb zuletzt editiert von
                        #42

                        Der Port alleine wird nicht reichen.
                        Da n8n umfangreich auf webhooks basiert, muss man auch die umgebungsvariablen n8n_Host und n8n_path konfigurieren um die Node spezifischen URLs korrekt generieren zu lassen.

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


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        294

                        Online

                        32.7k

                        Benutzer

                        82.4k

                        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