Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Chat GPT im Javascript Adapter verwenden

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Chat GPT im Javascript Adapter verwenden

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @ch90045 last edited by

      @ch90045 sagte in Chat GPT im Javascript Adapter verwenden:

      Die Logs sind danach absolut leer

      In die Entwickler-Tools vom Browser schauen. Der Request zu ChatGPT geht nicht über den ioBroker, sondern wird direkt von deinem Client versendet.

      ch90045 1 Reply Last reply Reply Quote 0
      • ch90045
        ch90045 @haus-automatisierung last edited by ch90045

        @haus-automatisierung ahhhh ....

        Cannot request: Error: 429 Request too large for gpt-3.5-turbo-16k in organization org-6XonBlBfqBtiOYpdmqzcoXW0 on tokens per min (TPM): Limit 60000, Requested 62890. The input or output tokens must be reduced in order to run successfully. Visit https://platform.openai.com/account/rate-limits to learn more., {
          "status": 429,
          "headers": {
            "content-length": "416",
            "content-type": "application/json; charset=utf-8"
          },
          "error": {
            "message": "Request too large for gpt-3.5-turbo-16k in organization org-6XonBlBfqBtiOYpdmqzcoXW0 on tokens per min (TPM): Limit 60000, Requested 62890. The input or output tokens must be reduced in order to run successfully. Visit https://platform.openai.com/account/rate-limits to learn more.",
            "type": "tokens",
            "param": null,
            "code": "rate_limit_exceeded"
          },
          "code": "rate_limit_exceeded",
          "param": null,
          "type": "tokens"
        }```
        
        

        Frage ist, warum habe ich so viele Token?

        Christian

        Codierknecht OliverIO 2 Replies Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @ch90045 last edited by

          @ch90045 sagte in Chat GPT im Javascript Adapter verwenden:

          Frage ist, warum habe ich so viele Token?

          Weil da jedes mal die Doku mitgeschickt wird.
          https://forum.iobroker.net/topic/68671/chat-gpt-im-javascript-adapter-verwenden/16

          ch90045 1 Reply Last reply Reply Quote 0
          • ch90045
            ch90045 @Codierknecht last edited by

            @codierknecht ok, danke - hatte den Thread auch schon gesehen - meine IOB install ist jetzt nicht besonders gross (du schreibst etwas von 22k tokens, ich bin ja aber sogar über 60k) - kann ich das irgendwie beeinflussen?

            Codierknecht 1 Reply Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @ch90045 last edited by

              @ch90045
              Nicht ich, sondern @OliverIO hat das herausgefunden 😉

              Das liegt nicht an "Deiner" Installation, sondern an der Größe der Doku, die ja jedes mal mitgesendet wird.
              Das kannst Du nicht beeinflussen.

              Funktioniert übrigens bei mir mittlerweile auch nicht mehr.

              ch90045 1 Reply Last reply Reply Quote 0
              • ch90045
                ch90045 @Codierknecht last edited by

                @codierknecht wie gut, dass ich "nur" 5$+Tax versenkt habe - schade eigentlich.

                ch90045 1 Reply Last reply Reply Quote 0
                • ch90045
                  ch90045 @ch90045 last edited by

                  @Codierknecht & @haus-automatisierung macht es Sinn eine Issue Report gegen die JS Adapter aufzumachen?

                  Christian

                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @ch90045 last edited by

                    @ch90045 Sich mit dem Thema zu beschäftigen und einen PR mit einer Lösung zu erstellen wäre besser 🙂 Ich werde da erstmal keine Zeit für investieren, weil die Ergebnisse von ChatGPT bisher eigentlich nicht zu gebrauchen waren, ...

                    Also gern öffnen, aber nicht hoffen dass sich da bald jemand dran setzt

                    1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO @ch90045 last edited by OliverIO

                      @ch90045 sagte in Chat GPT im Javascript Adapter verwenden:

                      on tokens per min (TPM): Limit 60000, Requested 62890.

                      du hast ein limit von 60000 tokens pro minute
                      das llm gpt-3.5-turbo-16k
                      kann eh nur 16000 tokens (16k) verarbeiten. alles andere wird ignoriert

                      https://platform.openai.com/docs/models#:~:text=updated%20GPT%2D3.5%20Turbo%20(16k%20context%20window
                      

                      direkt kopiert funktioniert der link nicht, daher bitte hier kopieren und im browser öffnen

                      daher musst du deinen input verkleinern. als context wird auf der oberfläche immer der komplette chat mitgesendet. das gilt in der api eigentlich auch.

                      ch90045 1 Reply Last reply Reply Quote 0
                      • ch90045
                        ch90045 @OliverIO last edited by

                        @oliverio Was meinst du genau mit "du musst deinen input verkleinern" - meine Anfrage für ein einfaches Script war "Schalte am Wochende scene.0.WohnzimmerLicht um 7:00 an" - noch weniger?

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @ch90045 last edited by

                          @ch90045

                          gemäß fehlermeldung wurden 62000 tokens versendet.
                          https://deinkikompass.de/blog/openai-gpt-token-guide
                          das verhältnis buchstaben zu tokens hängt von der sprache ab (von 1:1 bis 1:4 tokens/buchstaben)

                          dann musst du prüfen warum da mehr tokens versendet wurden.
                          wahrscheinlich wurde als context das komplette script mit versendet

                          haus-automatisierung ch90045 2 Replies Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @OliverIO last edited by haus-automatisierung

                            @oliverio sagte in Chat GPT im Javascript Adapter verwenden:

                            wahrscheinlich wurde als context das komplette script mit versendet

                            Als Context wird immer die Dokumentation angehangen (als Markdown). Die ist halt alleine schon sehr lang. Und wenn man viele Geräte definiert hat, dann werden die auch noch mitgeliefert, damit ChatCPT auch die richtigen Objekt-IDs, Räume, usw. kennt.

                            Das wird ggf. natürlich sehr groß.

                            N 1 Reply Last reply Reply Quote 0
                            • ch90045
                              ch90045 @OliverIO last edited by

                              @oliverio Nun ja, skript war 0 gross, ChatGPT sollte, rein zum testen, ein Skript zur Änderung EINES Zustandes erstellen - denke die Frage war kleiner als 100 Token, der Rest waren Interna.

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                TomTom24 @ch90045 last edited by

                                ist im Moment unbrauchbar...leider

                                Error: 400 This model's maximum context length is 16385 tokens. However, your messages resulted in 49186 tokens

                                1 Reply Last reply Reply Quote 0
                                • N
                                  nerg @haus-automatisierung last edited by

                                  @haus-automatisierung said in Chat GPT im Javascript Adapter verwenden:

                                  @oliverio sagte in Chat GPT im Javascript Adapter verwenden:

                                  wahrscheinlich wurde als context das komplette script mit versendet

                                  Als Context wird immer die Dokumentation angehangen (als Markdown). Die ist halt alleine schon sehr lang. Und wenn man viele Geräte definiert hat, dann werden die auch noch mitgeliefert, damit ChatCPT auch die richtigen Objekt-IDs, Räume, usw. kennt.

                                  Das wird ggf. natürlich sehr groß.

                                  Lässt sich das mit der Dokumentation eigentlich ausschalten? Meiner Erfahrung nach macht GPT auch so ganz gute Skripte

                                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                                  • haus-automatisierung
                                    haus-automatisierung Developer Most Active @nerg last edited by

                                    @nerg Und dann gibst Du immer die Verison des Adapters mit, damit ChatGPT alle verfügbaren Funktionen der Version kennt?!

                                    N 1 Reply Last reply Reply Quote 0
                                    • N
                                      nerg @haus-automatisierung last edited by nerg

                                      @haus-automatisierung mit ein bisschen Fingerspitzengefühl hab ich ihn bisher ganz gut angeleitet auch ganz ohne Anbindung an die Doku.
                                      Da ich nur tier1 bei der API habe, sprengt die Doku direkt das token Limit. Im Gegensatz zu Lindner würde ich die Schnittstelle lieber schlecht als gar nicht nutzen 🥴😉

                                      Edit: falls jemand noch einen chatGPT Plus Account hat, dann könnte der-/diejenige auch einen individuellen iobroker GPT anlegen, der mit der Doku gefüttert wird und ein paar individuelle Anweisungen zur Codeerstellung bekommt. Zur Not würde ich auch noch Mal Plus abschließen, falls da Interesse besteht. Das würde auch die Schwelle reduzieren für Einsteiger

                                      haus-automatisierung 1 Reply Last reply Reply Quote 0
                                      • haus-automatisierung
                                        haus-automatisierung Developer Most Active @nerg last edited by

                                        @nerg sagte in Chat GPT im Javascript Adapter verwenden:

                                        mit ein bisschen Fingerspitzengefühl hab ich ihn bisher ganz gut angeleitet auch ganz ohne Anbindung an die Doku.

                                        Da kommt sehr häufig unnötig komplexer Code raus, welcher dann erstmal fetch importiert, statt z.B die internen Methoden zu nutzen. Das Ergebnis ist in den meisten Fällen nicht gut. Das bestätigen auch zig Screenshots in der Facebook-Gruppe, wo Leute ihre "top Ergebnisse" gezeigt haben.

                                        Ich habe schonmal überlegt ein Custom GPT (heißt das so?) zu erstellen, welches dann den ioBroker-Adapter kennt und dann nur noch die Version übergeben werden muss. Damit man auch vernünftigen Code bekommt, welcher die internen Methoden nutzt.

                                        N 1 Reply Last reply Reply Quote 0
                                        • N
                                          nerg @haus-automatisierung last edited by

                                          @haus-automatisierung ja das stimmt. Blind übernehmen kann man das nicht. Er ist aber auch mit 4o wieder deutlich besser geworden und auch kooperativer.
                                          Ich glaube custom gpt ist richtig. Ich schau mir das Mal an. Hatte das seinerzeit Mal versucht, da waren die Tokens aber sehr niedrig, die man mitgeben konnte.

                                          1 Reply Last reply Reply Quote 0
                                          • N
                                            nerg last edited by nerg

                                            @haus-automatisierung
                                            ChatGPT Link
                                            hier mal ein erster Wurf. Gefüttert mit den Docs aus Github, die auch bei der API genutzt werden und ein paar angepassten Anweisungen.

                                            // edit: Mit 3 Anweisungen zu diesem Ergebnis:

                                            // Anwesenheitserkennung für verschiedene User anhand von boolean-Datenpunkten
                                            
                                            // Liste der zu überwachenden Datenpunkte für jeden User
                                            const userPresenceDataPoints = {
                                                user1: ['geofence.user1', 'wlan.user1'],
                                                user2: ['geofence.user2', 'wlan.user2'],
                                                // Weitere User und deren Datenpunkte hier hinzufügen
                                            };
                                            
                                            // Funktion zur Überprüfung der Anwesenheit eines Users
                                            async function isUserPresent(user, dataPoints) {
                                                for (let dp of dataPoints) {
                                                    let state = await getStateAsync(dp);
                                                    if (state && state.val === true) {
                                                        return true;
                                                    }
                                                }
                                                return false;
                                            }
                                            
                                            // Funktion zur Überprüfung und Erstellung eines Datenpunkts
                                            async function checkAndCreateDataPoint(user) {
                                                const dpPath = `userdata.0.${user}.presence`;
                                                const dpObj = await getObjectAsync(dpPath);
                                                if (!dpObj) {
                                                    await setObjectAsync(dpPath, {
                                                        type: 'state',
                                                        common: {
                                                            name: `${user} Presence`,
                                                            type: 'boolean',
                                                            role: 'indicator',
                                                            read: true,
                                                            write: true,
                                                        },
                                                        native: {},
                                                    });
                                                }
                                                return dpPath;
                                            }
                                            
                                            // Anwesenheitsprüfung für alle User
                                            async function checkAllUsersPresence() {
                                                for (let user in userPresenceDataPoints) {
                                                    let isPresent = await isUserPresent(user, userPresenceDataPoints[user]);
                                                    const dpPath = await checkAndCreateDataPoint(user);
                                                    await setStateAsync(dpPath, isPresent);
                                                    console.log(`${user} ist ${isPresent ? 'anwesend' : 'abwesend'}`);
                                                }
                                            }
                                            
                                            // Starte die Anwesenheitsprüfung alle 17 Sekunden
                                            setInterval(checkAllUsersPresence, 17000);
                                            
                                            

                                            habs nicht ausprobiert, aber schaut brauchbar aus.

                                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            814
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            45
                                            5386
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo