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. Skripten / Logik
  4. JavaScript
  5. brauche Hilfe nach Update Javascript v8.3.1

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    432

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

brauche Hilfe nach Update Javascript v8.3.1

Geplant Angeheftet Gesperrt Verschoben JavaScript
11 Beiträge 3 Kommentatoren 743 Aufrufe 3 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.
  • K kwone

    Hallo, nach dem Updateauf v8.3.1 läuft folgender script nicht mehr.
    der Script wurde vor Jahren von einem Bekannten erstellt welchen ich nicht mehr erreichen kann.
    Ich bitte Euch mir zu helfen das folgender Script wieder läuft.

     function iter(name, obj) {
       for(let i in obj) {
          if(typeof obj[i] == 'object') iter(name + '.' + i, obj[i]);
          else {
             log(name + '.' + i + ': ' + obj[i]);
             if(existsState(name + '.' + i)) setState(name + '.' + i, obj[i]);
             else createState(name + '.' + i, obj[i]); // type: "mixed"
          }
       }
    }
     
    function SendRequest(){
        var options = {
            url: 'http://192.168.178.49/AllJsonData',
            qs: {
                ack: true 
                
           }      
        };
        request(options, function (error, response, body){
            if (!error) iter('javascript.0.EPever', JSON.parse(body));
            else console.error(error);
        });
    }
     schedule('*/5 * * * * *', SendRequest);
    

    MOD-EDIT: Code in code-tags gesetzt!

    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von Homoran
    #2

    @kwone die library request ist schon seit Jahren veraltet und wird nicht mehr gepflegt.
    in 8.3.1 wurde sie nativ nicht mehr unterstützt.
    Dies wurde auch vor dem Start des Updates als PopUp so angezeigt.

    Du musst jetzt request durch httpGet ersetzen
    Dazu gibt es schon etliche Threads.

    ich bin kein Programmierer, aber bei dir müsste es gehen, indem du einfach request gegen httpGet austauschst, das folgende body in der Klammer incl vorangehendrm Komma entfernst, und das body in Zeile 21 JSON.Parse(body)
    Gegen response.data austauschst

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    K 2 Antworten Letzte Antwort
    1
    • HomoranH Homoran

      @kwone die library request ist schon seit Jahren veraltet und wird nicht mehr gepflegt.
      in 8.3.1 wurde sie nativ nicht mehr unterstützt.
      Dies wurde auch vor dem Start des Updates als PopUp so angezeigt.

      Du musst jetzt request durch httpGet ersetzen
      Dazu gibt es schon etliche Threads.

      ich bin kein Programmierer, aber bei dir müsste es gehen, indem du einfach request gegen httpGet austauschst, das folgende body in der Klammer incl vorangehendrm Komma entfernst, und das body in Zeile 21 JSON.Parse(body)
      Gegen response.data austauschst

      K Offline
      K Offline
      kwone
      schrieb am zuletzt editiert von Homoran
      #3

      @homoran sagte in brauche Hilfe nach Update Javascript v8.3.1:

      @kwone die library request ist schon seit Jahren veraltet und wird nicht mehr gepflegt.
      in 8.3.1 wurde sie nativ nicht mehr unterstützt.
      Dies wurde auch vor dem Start des Updates als PopUp so angezeigt.

      Du musst jetzt request durch httpGet ersetzen
      Dazu gibt es schon etliche Threads.

      ich bin kein Programmierer, aber bei dir müsste es gehen, indem du einfach request gegen httpGet austauschst, das folgende body in der Klammer incl vorangehendrm Komma entfernst, und das body in Zeile 21 JSON.Parse(body)
      Gegen response.data austauschst

      Hallo Homoran,
      erstmal danke für deine schnelle antwort.
      leider ist das Problem noch nicht gelöst

      function iter(name, obj) {
         for(let i in obj) {
            if(typeof obj[i] == 'object') iter(name + '.' + i, obj[i]);
            else {
               log(name + '.' + i + ': ' + obj[i]);
               if(existsState(name + '.' + i)) setState(name + '.' + i, obj[i]);
               else createState(name + '.' + i, obj[i]); // type: "mixed"
            }
         }
      }
       
       function SendRequest(){
          var options = {
              url: 'http://192.168.178.49/AllJsonData',
              qs: {
                  ack: true 
                  
             }      
          };
          httpGet(options, function (error, response){
              if (!error) iter('javascript.0.EPever', JSON.parse(response.data));
              else console.error(error);
          });
      }
       schedule('*/5 * * * * *', SendRequest);
      

      bringt Fehler :

      javascript.0	11:44:30.002	error	at Object.SendRequest (script.js.common.EPever:21:5)
      

      MOD-EDIT: Code in code-tags gesetzt!

      HomoranH haus-automatisierungH 2 Antworten Letzte Antwort
      0
      • K kwone

        @homoran sagte in brauche Hilfe nach Update Javascript v8.3.1:

        @kwone die library request ist schon seit Jahren veraltet und wird nicht mehr gepflegt.
        in 8.3.1 wurde sie nativ nicht mehr unterstützt.
        Dies wurde auch vor dem Start des Updates als PopUp so angezeigt.

        Du musst jetzt request durch httpGet ersetzen
        Dazu gibt es schon etliche Threads.

        ich bin kein Programmierer, aber bei dir müsste es gehen, indem du einfach request gegen httpGet austauschst, das folgende body in der Klammer incl vorangehendrm Komma entfernst, und das body in Zeile 21 JSON.Parse(body)
        Gegen response.data austauschst

        Hallo Homoran,
        erstmal danke für deine schnelle antwort.
        leider ist das Problem noch nicht gelöst

        function iter(name, obj) {
           for(let i in obj) {
              if(typeof obj[i] == 'object') iter(name + '.' + i, obj[i]);
              else {
                 log(name + '.' + i + ': ' + obj[i]);
                 if(existsState(name + '.' + i)) setState(name + '.' + i, obj[i]);
                 else createState(name + '.' + i, obj[i]); // type: "mixed"
              }
           }
        }
         
         function SendRequest(){
            var options = {
                url: 'http://192.168.178.49/AllJsonData',
                qs: {
                    ack: true 
                    
               }      
            };
            httpGet(options, function (error, response){
                if (!error) iter('javascript.0.EPever', JSON.parse(response.data));
                else console.error(error);
            });
        }
         schedule('*/5 * * * * *', SendRequest);
        

        bringt Fehler :

        javascript.0	11:44:30.002	error	at Object.SendRequest (script.js.common.EPever:21:5)
        

        MOD-EDIT: Code in code-tags gesetzt!

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #4

        @kwone sagte in brauche Hilfe nach Update Javascript v8.3.1:

        bringt Fehler :

        da muss dir jetzt ein js-Kundiger helfen, ob da in der Funktion iter noch was versteckt ist

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        K 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @kwone sagte in brauche Hilfe nach Update Javascript v8.3.1:

          bringt Fehler :

          da muss dir jetzt ein js-Kundiger helfen, ob da in der Funktion iter noch was versteckt ist

          K Offline
          K Offline
          kwone
          schrieb am zuletzt editiert von
          #5

          @homoran OK danke für Deine Hilfe

          HomoranH 1 Antwort Letzte Antwort
          0
          • K kwone

            @homoran sagte in brauche Hilfe nach Update Javascript v8.3.1:

            @kwone die library request ist schon seit Jahren veraltet und wird nicht mehr gepflegt.
            in 8.3.1 wurde sie nativ nicht mehr unterstützt.
            Dies wurde auch vor dem Start des Updates als PopUp so angezeigt.

            Du musst jetzt request durch httpGet ersetzen
            Dazu gibt es schon etliche Threads.

            ich bin kein Programmierer, aber bei dir müsste es gehen, indem du einfach request gegen httpGet austauschst, das folgende body in der Klammer incl vorangehendrm Komma entfernst, und das body in Zeile 21 JSON.Parse(body)
            Gegen response.data austauschst

            Hallo Homoran,
            erstmal danke für deine schnelle antwort.
            leider ist das Problem noch nicht gelöst

            function iter(name, obj) {
               for(let i in obj) {
                  if(typeof obj[i] == 'object') iter(name + '.' + i, obj[i]);
                  else {
                     log(name + '.' + i + ': ' + obj[i]);
                     if(existsState(name + '.' + i)) setState(name + '.' + i, obj[i]);
                     else createState(name + '.' + i, obj[i]); // type: "mixed"
                  }
               }
            }
             
             function SendRequest(){
                var options = {
                    url: 'http://192.168.178.49/AllJsonData',
                    qs: {
                        ack: true 
                        
                   }      
                };
                httpGet(options, function (error, response){
                    if (!error) iter('javascript.0.EPever', JSON.parse(response.data));
                    else console.error(error);
                });
            }
             schedule('*/5 * * * * *', SendRequest);
            

            bringt Fehler :

            javascript.0	11:44:30.002	error	at Object.SendRequest (script.js.common.EPever:21:5)
            

            MOD-EDIT: Code in code-tags gesetzt!

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

            @kwone sagte in brauche Hilfe nach Update Javascript v8.3.1:

            leider ist das Problem noch nicht gelöst

            Der erste Parameter ist die URL als String und kein Objekt, ...

            function iter(name, obj) {
               for (let i in obj) {
                  if (typeof obj[i] == 'object') iter(name + '.' + i, obj[i]);
                  else {
                     log(name + '.' + i + ': ' + obj[i]);
                     if (existsState(name + '.' + i)) setState(name + '.' + i, obj[i]);
                     else createState(name + '.' + i, obj[i]); // type: "mixed"
                  }
               }
            }
             
            function SendRequest() {
               httpGet('http://192.168.178.49/AllJsonData', (error, response) => {
                  if (!error) iter('javascript.0.EPever', JSON.parse(response.data));
                  else console.error(error);
               });
            }
            
            schedule('*/5 * * * * *', SendRequest);
            

            https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/upgrade-guide.md

            https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httpget

            🧑‍🎓 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
            1
            • K kwone

              @homoran OK danke für Deine Hilfe

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von Homoran
              #7

              @kwone sagte in brauche Hilfe nach Update Javascript v8.3.1:

              @homoran OK danke für Deine Hilfe

              gerne, aber ich sehe gerade, dass sich die Meldung auf SendRequest bezieht.

              ich weiss es natürlich nicht, aber möglicherweise sind die als options für request definierten "Dinge" so nicht für httpGet kompatibel.

              Wäre schön wenn @haus-automatisierung oder @paul53 dazu was sagen könnte, damit ich auch noch was lerne.

              EDIT: hat sich überschnitten

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @kwone die library request ist schon seit Jahren veraltet und wird nicht mehr gepflegt.
                in 8.3.1 wurde sie nativ nicht mehr unterstützt.
                Dies wurde auch vor dem Start des Updates als PopUp so angezeigt.

                Du musst jetzt request durch httpGet ersetzen
                Dazu gibt es schon etliche Threads.

                ich bin kein Programmierer, aber bei dir müsste es gehen, indem du einfach request gegen httpGet austauschst, das folgende body in der Klammer incl vorangehendrm Komma entfernst, und das body in Zeile 21 JSON.Parse(body)
                Gegen response.data austauschst

                K Offline
                K Offline
                kwone
                schrieb am zuletzt editiert von
                #8

                @Homoran
                Hallo nochmals Danke für die Bemühungen.
                ich konnte de Umstellung des Scripts mit Hilfe von ChatGPT lösen.

                HomoranH 1 Antwort Letzte Antwort
                0
                • K kwone

                  @Homoran
                  Hallo nochmals Danke für die Bemühungen.
                  ich konnte de Umstellung des Scripts mit Hilfe von ChatGPT lösen.

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #9

                  @kwone sagte in brauche Hilfe nach Update Javascript v8.3.1:

                  @Homoran
                  Hallo nochmals Danke für die Bemühungen.
                  ich konnte de Umstellung des Scripts mit Hilfe von ChatGPT lösen.

                  und dann belästigst du uns :joy:

                  würdest du der Nachwelt auch die Lösung präsentieren, bitte!

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  K 1 Antwort Letzte Antwort
                  0
                  • HomoranH Homoran

                    @kwone sagte in brauche Hilfe nach Update Javascript v8.3.1:

                    @Homoran
                    Hallo nochmals Danke für die Bemühungen.
                    ich konnte de Umstellung des Scripts mit Hilfe von ChatGPT lösen.

                    und dann belästigst du uns :joy:

                    würdest du der Nachwelt auch die Lösung präsentieren, bitte!

                    K Offline
                    K Offline
                    kwone
                    schrieb am zuletzt editiert von Homoran
                    #10

                    @homoran
                    ja sicher hier das funktionierende Script

                     const http = require('http');
                    
                    function iter(name, obj) {
                        for (let i in obj) {
                            if (typeof obj[i] === 'object' && obj[i] !== null) {
                                iter(name + '.' + i, obj[i]);
                            } else {
                                log(name + '.' + i + ': ' + obj[i]);
                                if (existsState(name + '.' + i)) {
                                    setState(name + '.' + i, obj[i]);
                                } else {
                                    createState(name + '.' + i, obj[i]); // type: "mixed"
                                }
                            }
                        }
                    }
                    
                    function SendRequest() {
                        const options = {
                            hostname: '192.168.178.49',
                            port: 80,
                            path: '/AllJsonData',
                            method: 'GET',
                        };
                    
                        const req = http.request(options, (resp) => {
                            let data = '';
                    
                            // Ein Datenchunk wurde empfangen.
                            resp.on('data', (chunk) => {
                                data += chunk;
                            });
                    
                            // Die gesamte Antwort wurde erhalten.
                            resp.on('end', () => {
                                try {
                                    const jsonData = JSON.parse(data);
                                    iter('javascript.0.EPever', jsonData);
                                } catch (e) {
                                    console.error('Error parsing JSON:', e);
                                }
                            });
                        });
                    
                        req.on('error', (err) => {
                            console.error('Error fetching data:', err.message);
                        });
                    
                        req.end();
                    }
                    
                    // Set interval to fetch data every 5 seconds
                    schedule('*/5 * * * * *', SendRequest);
                    

                    MOD-EDIT: Code in code-tags gesetzt!

                    haus-automatisierungH 1 Antwort Letzte Antwort
                    0
                    • K kwone

                      @homoran
                      ja sicher hier das funktionierende Script

                       const http = require('http');
                      
                      function iter(name, obj) {
                          for (let i in obj) {
                              if (typeof obj[i] === 'object' && obj[i] !== null) {
                                  iter(name + '.' + i, obj[i]);
                              } else {
                                  log(name + '.' + i + ': ' + obj[i]);
                                  if (existsState(name + '.' + i)) {
                                      setState(name + '.' + i, obj[i]);
                                  } else {
                                      createState(name + '.' + i, obj[i]); // type: "mixed"
                                  }
                              }
                          }
                      }
                      
                      function SendRequest() {
                          const options = {
                              hostname: '192.168.178.49',
                              port: 80,
                              path: '/AllJsonData',
                              method: 'GET',
                          };
                      
                          const req = http.request(options, (resp) => {
                              let data = '';
                      
                              // Ein Datenchunk wurde empfangen.
                              resp.on('data', (chunk) => {
                                  data += chunk;
                              });
                      
                              // Die gesamte Antwort wurde erhalten.
                              resp.on('end', () => {
                                  try {
                                      const jsonData = JSON.parse(data);
                                      iter('javascript.0.EPever', jsonData);
                                  } catch (e) {
                                      console.error('Error parsing JSON:', e);
                                  }
                              });
                          });
                      
                          req.on('error', (err) => {
                              console.error('Error fetching data:', err.message);
                          });
                      
                          req.end();
                      }
                      
                      // Set interval to fetch data every 5 seconds
                      schedule('*/5 * * * * *', SendRequest);
                      

                      MOD-EDIT: Code in code-tags gesetzt!

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

                      @kwone Und warum so kompliziert ...?

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


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      381

                      Online

                      32.6k

                      Benutzer

                      81.9k

                      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