Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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.8k

brauche Hilfe nach Update Javascript v8.3.1

Scheduled Pinned Locked Moved JavaScript
11 Posts 3 Posters 662 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    kwone
    wrote on last edited by 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 Reply Last reply
    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 Do not disturb
      HomoranH Do not disturb
      Homoran
      Global Moderator Administrators
      wrote on last edited by 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 Replies Last reply
      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
        wrote on last edited by 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 Replies Last reply
        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 Do not disturb
          HomoranH Do not disturb
          Homoran
          Global Moderator Administrators
          wrote on last edited by
          #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 Reply Last reply
          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
            wrote on last edited by
            #5

            @homoran OK danke für Deine Hilfe

            HomoranH 1 Reply Last reply
            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
              wrote on last edited by 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 Reply Last reply
              1
              • K kwone

                @homoran OK danke für Deine Hilfe

                HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by 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 Reply Last reply
                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
                  wrote on last edited by
                  #8

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

                  HomoranH 1 Reply Last reply
                  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 Do not disturb
                    HomoranH Do not disturb
                    Homoran
                    Global Moderator Administrators
                    wrote on last edited by
                    #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 Reply Last reply
                    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
                      wrote on last edited by 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 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        898

                        Online

                        32.4k

                        Users

                        81.5k

                        Topics

                        1.3m

                        Posts
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Home
                        • Recent
                        • Tags
                        • Unread 0
                        • Categories
                        • Unreplied
                        • Popular
                        • GitHub
                        • Docu
                        • Hilfe