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. ioBroker Allgemein
  4. Chat GPT im Javascript Adapter verwenden

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    153

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.4k

Chat GPT im Javascript Adapter verwenden

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
45 Beiträge 10 Kommentatoren 9.7k Aufrufe 14 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.
  • ch90045C 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

    CodierknechtC Online
    CodierknechtC Online
    Codierknecht
    Developer Most Active
    schrieb am zuletzt editiert von
    #26

    @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

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
    HmIP|ZigBee|Tasmota|Unifi
    Zabbix Certified Specialist
    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

    ch90045C 1 Antwort Letzte Antwort
    0
    • CodierknechtC Codierknecht

      @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

      ch90045C Offline
      ch90045C Offline
      ch90045
      schrieb am zuletzt editiert von
      #27

      @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?

      CodierknechtC 1 Antwort Letzte Antwort
      0
      • ch90045C ch90045

        @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?

        CodierknechtC Online
        CodierknechtC Online
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von
        #28

        @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.

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        ch90045C 1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @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.

          ch90045C Offline
          ch90045C Offline
          ch90045
          schrieb am zuletzt editiert von
          #29

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

          ch90045C 1 Antwort Letzte Antwort
          0
          • ch90045C ch90045

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

            ch90045C Offline
            ch90045C Offline
            ch90045
            schrieb am zuletzt editiert von
            #30

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

            Christian

            haus-automatisierungH 1 Antwort Letzte Antwort
            0
            • ch90045C ch90045

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

              Christian

              haus-automatisierungH Online
              haus-automatisierungH Online
              haus-automatisierung
              Developer Most Active
              schrieb am zuletzt editiert von
              #31

              @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

              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
              📚 Meine inoffizielle ioBroker Dokumentation

              1 Antwort Letzte Antwort
              0
              • ch90045C 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

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

                @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.

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

                ch90045C 1 Antwort Letzte Antwort
                0
                • OliverIOO 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.

                  ch90045C Offline
                  ch90045C Offline
                  ch90045
                  schrieb am zuletzt editiert von
                  #33

                  @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?

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • ch90045C ch90045

                    @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?

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

                    @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

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

                    haus-automatisierungH ch90045C 2 Antworten Letzte Antwort
                    0
                    • OliverIOO OliverIO

                      @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-automatisierungH Online
                      haus-automatisierungH Online
                      haus-automatisierung
                      Developer Most Active
                      schrieb am zuletzt editiert von haus-automatisierung
                      #35

                      @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ß.

                      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                      📚 Meine inoffizielle ioBroker Dokumentation

                      N 1 Antwort Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @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

                        ch90045C Offline
                        ch90045C Offline
                        ch90045
                        schrieb am zuletzt editiert von
                        #36

                        @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 Antwort Letzte Antwort
                        0
                        • ch90045C ch90045

                          @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 Offline
                          T Offline
                          TomTom24
                          schrieb am zuletzt editiert von
                          #37

                          ist im Moment unbrauchbar...leider

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

                          1 Antwort Letzte Antwort
                          0
                          • haus-automatisierungH 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 Offline
                            N Offline
                            nerg
                            schrieb am zuletzt editiert von
                            #38

                            @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-automatisierungH 1 Antwort Letzte Antwort
                            0
                            • N nerg

                              @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-automatisierungH Online
                              haus-automatisierungH Online
                              haus-automatisierung
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #39

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

                              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                              📚 Meine inoffizielle ioBroker Dokumentation

                              N 1 Antwort Letzte Antwort
                              0
                              • haus-automatisierungH haus-automatisierung

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

                                N Offline
                                N Offline
                                nerg
                                schrieb am zuletzt editiert von nerg
                                #40

                                @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-automatisierungH 1 Antwort Letzte Antwort
                                0
                                • N 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-automatisierungH Online
                                  haus-automatisierungH Online
                                  haus-automatisierung
                                  Developer Most Active
                                  schrieb am zuletzt editiert von
                                  #41

                                  @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.

                                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                  📚 Meine inoffizielle ioBroker Dokumentation

                                  N 1 Antwort Letzte Antwort
                                  0
                                  • haus-automatisierungH haus-automatisierung

                                    @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 Offline
                                    N Offline
                                    nerg
                                    schrieb am zuletzt editiert von
                                    #42

                                    @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 Antwort Letzte Antwort
                                    0
                                    • N Offline
                                      N Offline
                                      nerg
                                      schrieb am zuletzt editiert von nerg
                                      #43

                                      @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-automatisierungH 1 Antwort Letzte Antwort
                                      0
                                      • N 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-automatisierungH Online
                                        haus-automatisierungH Online
                                        haus-automatisierung
                                        Developer Most Active
                                        schrieb am zuletzt editiert von
                                        #44

                                        @nerg sagte in Chat GPT im Javascript Adapter verwenden:

                                        aber schaut brauchbar aus.

                                        Auch wieder unnötig kompliziert, statt setObjectAsync kann man einfach createState aus der Sandbox nutzen. Dann braucht man den Zugriff auf die Objekte auch nicht freigeben. Genauso gibt es existsState

                                        • https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#createstateasync
                                        • https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#existsState

                                        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                        📚 Meine inoffizielle ioBroker Dokumentation

                                        N 1 Antwort Letzte Antwort
                                        0
                                        • haus-automatisierungH haus-automatisierung

                                          @nerg sagte in Chat GPT im Javascript Adapter verwenden:

                                          aber schaut brauchbar aus.

                                          Auch wieder unnötig kompliziert, statt setObjectAsync kann man einfach createState aus der Sandbox nutzen. Dann braucht man den Zugriff auf die Objekte auch nicht freigeben. Genauso gibt es existsState

                                          • https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#createstateasync
                                          • https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#existsState
                                          N Offline
                                          N Offline
                                          nerg
                                          schrieb am zuletzt editiert von nerg
                                          #45

                                          @haus-automatisierung ja das stimmt. wenn man das ganz nochmal probiert, kommt auch wieder anderer Code raus:

                                          // Funktion, um Anwesenheit der User zu prüfen
                                          function checkUserPresence() {
                                              const users = ['user1', 'user2', 'user3']; // Liste der User
                                              const userPresenceDataPoints = {
                                                  'user1': ['geofence.user1', 'wifi.user1'],
                                                  'user2': ['geofence.user2', 'wifi.user2'],
                                                  'user3': ['geofence.user3', 'wifi.user3']
                                              };
                                          
                                              users.forEach(user => {
                                                  let isPresent = false;
                                          
                                                  // Überprüfe alle Datenpunkte für jeden User
                                                  userPresenceDataPoints[user].forEach(dp => {
                                                      if (getState(dp).val) {
                                                          isPresent = true;
                                                      }
                                                  });
                                          
                                                  const userPresenceState = `userdata.0.${user}.presence`;
                                          
                                                  // Falls der Datenpunkt nicht existiert, lege ihn an
                                                  if (!existsState(userPresenceState)) {
                                                      createState(userPresenceState, { type: 'boolean', def: false });
                                                  }
                                          
                                                  // Setze den Anwesenheitsstatus
                                                  setState(userPresenceState, isPresent);
                                              });
                                          }
                                          
                                          // Die Funktion alle 17 Sekunden ausführen
                                          schedule("*/17 * * * * *", checkUserPresence);
                                          
                                          // Initiale Ausführung beim Start des Skripts
                                          checkUserPresence();
                                          
                                          

                                          Eventuell muss man die Anweisungen nochmal konkreter fassen.

                                          //edit: habe ihn nochmal konkreter angewiesen, die docs.md zu befolgen. Probiere es gerne aus: https://chatgpt.com/g/g-y65cMkHAC-iobroker-javascriptgpt

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          376

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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