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

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

brauche Hilfe nach Update Javascript v8.3.1

Geplant Angeheftet Gesperrt Verschoben JavaScript
11 Beiträge 3 Kommentatoren 666 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 Offline
    K Offline
    kwone
    schrieb am zuletzt editiert von Homoran
    #1

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

                        829

                        Online

                        32.4k

                        Benutzer

                        81.5k

                        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