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. Hilfe für Javascript Legastheniker und js v8.3.x

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    343

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Hilfe für Javascript Legastheniker und js v8.3.x

Geplant Angeheftet Gesperrt Verschoben JavaScript
104 Beiträge 8 Kommentatoren 13.0k Aufrufe 7 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.
  • W wolfi913

    @ofbeqnpolkkl6mby5e13
    @tt-tom
    Nur eine Idee von jemandem der sich aber mit JS nicht auskennt. Daher schlagt mich nicht, falls ich totalen Unsinn schreibe.
    Evtl. liegt's an der Variable var data im Ursprungsscript (z.B. Zeile 51). Möglicherweise funktioniert das nach dem Update auf V8.3.1 nicht mehr. Hatte ein ähnliches Problem in einem Blockly. Da hatte ich eine Variable log. Die musste auch umbenannt werden damit's wieder funktioniert.

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

    @wolfi913 sagte in Hilfe für Javascript Legastheniker und js v8.3.x:

    Evtl. liegt's an der Variable var data im Ursprungsscript

    Hab zwar auch keine Ahnung, kann mir aber nicht vorstellen dassdie variable data bei response.data mitmischen sollte.

    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 -

    T O 2 Antworten Letzte Antwort
    0
    • O oFbEQnpoLKKl6mbY5e13

      @tt-tom

      Okay, vielen Dank!

      const city_id = 66005;
      const area_id = 2800;
      const logging = false;
      const name = 'Müllabfuhr';
      const numberOfEntries = 69;
      
      const instanz = '0_userdata.' + instance + '.muell-test';
      
      if (logging) log('starting muell.' + instanz);
      
      extendObject(instanz, {
             type: "device",
             common: {
                 name: name
             }
         }, function (err) {
             if (err) {
                 log('could not create device: ', 'warn');
                 return;
             }
         
         }
      );
      let baseData = {};
      
      // query names first
      
      httpGet('https://mymuell.jumomind.com/mmapp/api.php?r=trash&city_id=' + city_id + '&area_id=' + area_id, { timeout: 2000 }, (error, response) => {
        if (!error && response.statusCode == 200) {
             var data = JSON.parse(response.data);  // info ist ein Objekt
                data.forEach((v, i) => {
                    baseData[v._name] = v;
                })
        updateMuell();
        } else {
            console.error(error);	
        }
      });
      
      
      schedule('{"time":{"exactTime":true,"start":"12:17"},"period":{"days":1}}', updateMuell);
      
      
      function updateMuell() {
         var options = 'https://mymuell.jumomind.com/webservice.php?idx=termins&city_id=' + city_id + '&area_id=' + area_id + '&ws=3'
      
         httpGet(options, (error, response) => {
             if (!error && response.statusCode == 200) {
                 var info = JSON.parse(response.data);  // info ist ein Objekt
                 if (info[0].Ack === 'Success') {
                     var data = info[0]._data;  // xy ist eine Eigenschaft des Objektes info
                     let counter = 0;
                     const date = (new Date())
                     const todayStr = date.getFullYear() + "-" + ('00' + (date.getMonth() + 1)).slice(-2) + "-" + ('00' + date.getDate()).slice(-2)
                     log(todayStr);
                     data.forEach((v, i) => {
                         if (todayStr < v.cal_date && counter <= numberOfEntries) {
      
                             const basePath = instanz + '.' + ('000' + counter).slice(-3);
                             log(v.cal_date + ' -> ' + basePath, 'debug');
                             // States erstellen
                             extendObject(basePath, {
                                 type: "channel",
                                 common: {
                                     name: v.cal_date_normal
                                 }
                             }, function (err) {
                                 if (err) {
                                     log('could not create device: ', 'warn');
                                     return;
                                 }
      
                             }
                             );
                             createState(basePath + '.date', v.cal_date_normal, {
                                 name: 'Datum',
                                 desc: 'Datum der Abholung',
                                 type: 'string',
                                 read: true,
                                 write: false
                             }, () => {
                                 setState(basePath + '.date', v.cal_date_normal, true);
                             });
      
                             createState(basePath + '.desc', baseData[v.cal_garbage_type].title, {
                                 name: 'Beschreibung',
                                 desc: 'Beschreibung der Abholung',
                                 type: 'string',
                                 read: true,
                                 write: false
                             }, () => {
                                 setState(basePath + '.desc', baseData[v.cal_garbage_type].title, true);
                             });
                             createState(basePath + '.color', {
                                 name: 'Farbe',
                                 desc: 'Farbe',
                                 type: 'string',
                                 role: 'level.color',
                                 read: true,
                                 write: false
                             }, () => {
                                 setState(basePath + '.color', baseData[v.cal_garbage_type].color, true);
                             });
      
                             counter++;
                         }
                     });
                 }
             };
         })
      }
      
      

      T Offline
      T Offline
      TT-Tom
      schrieb am zuletzt editiert von
      #94

      @ofbeqnpolkkl6mby5e13

      bei mir kommen die Meldungen auch, aber nur beim anlegen der States, irgendwie verschluckt er sich da mit den Daten. Wenn die States alle angelegt sind bekomme ich dann keine Meldungen mehr. Werde mal die Stateserstellung mir nochmal genauer ansehen, kann aber etwas dauern.

      Gruß Tom
      https://github.com/tt-tom17
      Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

      NSPanel Script Wiki
      https://github.com/joBr99/nspanel-lovelace-ui/wiki

      NSPanel Adapter Wiki
      https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

      T 1 Antwort Letzte Antwort
      1
      • HomoranH Homoran

        @wolfi913 sagte in Hilfe für Javascript Legastheniker und js v8.3.x:

        Evtl. liegt's an der Variable var data im Ursprungsscript

        Hab zwar auch keine Ahnung, kann mir aber nicht vorstellen dassdie variable data bei response.data mitmischen sollte.

        T Offline
        T Offline
        TT-Tom
        schrieb am zuletzt editiert von
        #95

        @homoran
        Nein daran liegt es nicht. Die Meldungen kommen nur beim anlegen der States. Danach läuft es bei mir ohne Meldungen weiter.

        Gruß Tom
        https://github.com/tt-tom17
        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

        NSPanel Script Wiki
        https://github.com/joBr99/nspanel-lovelace-ui/wiki

        NSPanel Adapter Wiki
        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

        1 Antwort Letzte Antwort
        0
        • T TT-Tom

          @ofbeqnpolkkl6mby5e13

          bei mir kommen die Meldungen auch, aber nur beim anlegen der States, irgendwie verschluckt er sich da mit den Daten. Wenn die States alle angelegt sind bekomme ich dann keine Meldungen mehr. Werde mal die Stateserstellung mir nochmal genauer ansehen, kann aber etwas dauern.

          T Offline
          T Offline
          TT-Tom
          schrieb am zuletzt editiert von
          #96

          @oFbEQnpoLKKl6mbY5e13

          so jetzt sollte es ohne Meldung funktionieren, bei Color State hat der Wert gefehlt beim erstellen des State.

          const city_id = 66005;
          const area_id = 2800;
          const logging = false;
          const deviceName = 'Müllabfuhr';
          const numberOfEntries = 69;
           
          const instanz = '0_userdata.' + instance + '.muell-test';
           
          if (logging) log('starting muell.' + instanz);
           
          extendObject(instanz, {
                 type: "device",
                 common: {
                     name: deviceName
                 }
             }, function (err) {
                 if (err) {
                     log('could not create device: ', 'warn');
                     return;
                 }
             
             }
          );
          let baseData = {};
           
          // query names first
            
          httpGet('https://mymuell.jumomind.com/mmapp/api.php?r=trash&city_id=' + city_id + '&area_id=' + area_id, { timeout: 2000 }, (error, response) => {
              if (logging) log(`first query statusCode ${response.statusCode}`);
              if (logging) log(`first query data ${response.data}`);
              if (!error && response.statusCode == 200) {
                  let data = JSON.parse(response.data);  // info ist ein Objekt
                  data.forEach((v, i) => {
                      baseData[v._name] = v;
                  })
                  updateMuell();
              } else {
                  log(error, 'error');
              }
          });
          
            
          schedule('{"time":{"exactTime":true,"start":"12:17"},"period":{"days":1}}', updateMuell);
            
            
          function updateMuell() {
              const options = 'https://mymuell.jumomind.com/webservice.php?idx=termins&city_id=' + city_id + '&area_id=' + area_id + '&ws=3'
          
              httpGet(options, (error, response) => {
                  if (logging) log(`update query statusCode ${response.statusCode}`);
                  if (logging) log(`update query data ${response.data}`);
                  if (!error && response.statusCode == 200) {
                      let info = JSON.parse(response.data);  // info ist ein Objekt
                      if (info[0].Ack === 'Success') {
                          let data = info[0]._data;  // xy ist eine Eigenschaft des Objektes info
                          let counter = 0;
                          const date = (new Date())
                          const todayStr = date.getFullYear() + "-" + ('00' + (date.getMonth() + 1)).slice(-2) + "-" + ('00' + date.getDate()).slice(-2)
                          log(todayStr);
                          data.forEach((v, i) => {
                              if (todayStr < v.cal_date && counter <= numberOfEntries) {
          
                                  const basePath = instanz + '.' + ('000' + counter).slice(-3);
                                  if (logging) log(v.cal_date + ' -> ' + basePath);
                                  // States erstellen
                                  extendObject(basePath, {
                                      type: "channel",
                                      common: {
                                          name: v.cal_date_normal
                                      }
                                  }, function (err) {
                                      if (err) {
                                          log('could not create device: ', 'warn');
                                          return;
                                      }
          
                                  }
                                  );
                                  createState(basePath + '.date', v.cal_date_normal, {
                                      name: 'Datum',
                                      desc: 'Datum der Abholung',
                                      type: 'string',
                                      read: true,
                                      write: false
                                  }, () => {
                                      setState(basePath + '.date', v.cal_date_normal, true);
                                  });
          
                                  createState(basePath + '.desc', baseData[v.cal_garbage_type].title, {
                                      name: 'Beschreibung',
                                      desc: 'Beschreibung der Abholung',
                                      type: 'string',
                                      read: true,
                                      write: false
                                  }, () => {
                                      setState(basePath + '.desc', baseData[v.cal_garbage_type].title, true);
                                  });
          
                                  createState(basePath + '.color',baseData[v.cal_garbage_type].color, {
                                      name: 'Farbe',
                                      desc: 'Farbe',
                                      type: 'string',
                                      read: true,
                                      write: false
                                  }, () => {
                                      setState(basePath + '.color', baseData[v.cal_garbage_type].color, true);
                                  });
          
                                  counter++;
                              }
                          });
                      }
                  }
              });
          }
          

          Gruß Tom
          https://github.com/tt-tom17
          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

          NSPanel Script Wiki
          https://github.com/joBr99/nspanel-lovelace-ui/wiki

          NSPanel Adapter Wiki
          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

          O 1 Antwort Letzte Antwort
          1
          • T TT-Tom

            @oFbEQnpoLKKl6mbY5e13

            so jetzt sollte es ohne Meldung funktionieren, bei Color State hat der Wert gefehlt beim erstellen des State.

            const city_id = 66005;
            const area_id = 2800;
            const logging = false;
            const deviceName = 'Müllabfuhr';
            const numberOfEntries = 69;
             
            const instanz = '0_userdata.' + instance + '.muell-test';
             
            if (logging) log('starting muell.' + instanz);
             
            extendObject(instanz, {
                   type: "device",
                   common: {
                       name: deviceName
                   }
               }, function (err) {
                   if (err) {
                       log('could not create device: ', 'warn');
                       return;
                   }
               
               }
            );
            let baseData = {};
             
            // query names first
              
            httpGet('https://mymuell.jumomind.com/mmapp/api.php?r=trash&city_id=' + city_id + '&area_id=' + area_id, { timeout: 2000 }, (error, response) => {
                if (logging) log(`first query statusCode ${response.statusCode}`);
                if (logging) log(`first query data ${response.data}`);
                if (!error && response.statusCode == 200) {
                    let data = JSON.parse(response.data);  // info ist ein Objekt
                    data.forEach((v, i) => {
                        baseData[v._name] = v;
                    })
                    updateMuell();
                } else {
                    log(error, 'error');
                }
            });
            
              
            schedule('{"time":{"exactTime":true,"start":"12:17"},"period":{"days":1}}', updateMuell);
              
              
            function updateMuell() {
                const options = 'https://mymuell.jumomind.com/webservice.php?idx=termins&city_id=' + city_id + '&area_id=' + area_id + '&ws=3'
            
                httpGet(options, (error, response) => {
                    if (logging) log(`update query statusCode ${response.statusCode}`);
                    if (logging) log(`update query data ${response.data}`);
                    if (!error && response.statusCode == 200) {
                        let info = JSON.parse(response.data);  // info ist ein Objekt
                        if (info[0].Ack === 'Success') {
                            let data = info[0]._data;  // xy ist eine Eigenschaft des Objektes info
                            let counter = 0;
                            const date = (new Date())
                            const todayStr = date.getFullYear() + "-" + ('00' + (date.getMonth() + 1)).slice(-2) + "-" + ('00' + date.getDate()).slice(-2)
                            log(todayStr);
                            data.forEach((v, i) => {
                                if (todayStr < v.cal_date && counter <= numberOfEntries) {
            
                                    const basePath = instanz + '.' + ('000' + counter).slice(-3);
                                    if (logging) log(v.cal_date + ' -> ' + basePath);
                                    // States erstellen
                                    extendObject(basePath, {
                                        type: "channel",
                                        common: {
                                            name: v.cal_date_normal
                                        }
                                    }, function (err) {
                                        if (err) {
                                            log('could not create device: ', 'warn');
                                            return;
                                        }
            
                                    }
                                    );
                                    createState(basePath + '.date', v.cal_date_normal, {
                                        name: 'Datum',
                                        desc: 'Datum der Abholung',
                                        type: 'string',
                                        read: true,
                                        write: false
                                    }, () => {
                                        setState(basePath + '.date', v.cal_date_normal, true);
                                    });
            
                                    createState(basePath + '.desc', baseData[v.cal_garbage_type].title, {
                                        name: 'Beschreibung',
                                        desc: 'Beschreibung der Abholung',
                                        type: 'string',
                                        read: true,
                                        write: false
                                    }, () => {
                                        setState(basePath + '.desc', baseData[v.cal_garbage_type].title, true);
                                    });
            
                                    createState(basePath + '.color',baseData[v.cal_garbage_type].color, {
                                        name: 'Farbe',
                                        desc: 'Farbe',
                                        type: 'string',
                                        read: true,
                                        write: false
                                    }, () => {
                                        setState(basePath + '.color', baseData[v.cal_garbage_type].color, true);
                                    });
            
                                    counter++;
                                }
                            });
                        }
                    }
                });
            }
            

            O Offline
            O Offline
            oFbEQnpoLKKl6mbY5e13
            schrieb am zuletzt editiert von
            #97

            @tt-tom

            Ganz herzlichen Dank für deine Hilfe! Skript läuft.

            1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              @wolfi913 sagte in Hilfe für Javascript Legastheniker und js v8.3.x:

              Evtl. liegt's an der Variable var data im Ursprungsscript

              Hab zwar auch keine Ahnung, kann mir aber nicht vorstellen dassdie variable data bei response.data mitmischen sollte.

              O Offline
              O Offline
              oFbEQnpoLKKl6mbY5e13
              schrieb am zuletzt editiert von oFbEQnpoLKKl6mbY5e13
              #98

              @homoran

              Welches Fazit wollen wir nun ziehen?

              Aus meiner Sicht ist es schlicht unmöglich, eine Anleitung zu erstellen. Jedes Skript ist potentiell so unterschiedlich, dass man nicht einfach einen Block durch einen anderen austauschen kann. Vielleicht muss man hier das Wort "Anleitung" im wahrsten Sinn des Wortes verstehen. Sie kann einen User nur bei der Umstellung "anleiten".

              T W HomoranH 3 Antworten Letzte Antwort
              0
              • O oFbEQnpoLKKl6mbY5e13

                @homoran

                Welches Fazit wollen wir nun ziehen?

                Aus meiner Sicht ist es schlicht unmöglich, eine Anleitung zu erstellen. Jedes Skript ist potentiell so unterschiedlich, dass man nicht einfach einen Block durch einen anderen austauschen kann. Vielleicht muss man hier das Wort "Anleitung" im wahrsten Sinn des Wortes verstehen. Sie kann einen User nur bei der Umstellung "anleiten".

                T Offline
                T Offline
                TT-Tom
                schrieb am zuletzt editiert von
                #99

                @ofbeqnpolkkl6mby5e13
                ich glaube, wenn am die alte Schreibweise der neuen gegenüberstellt und sieht, wo die Parameter jetzt eingesetzt werden bzw. wie sie jetzt heißen, wird es verständlicher.

                Gruß Tom
                https://github.com/tt-tom17
                Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                NSPanel Script Wiki
                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                NSPanel Adapter Wiki
                https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                O 2 Antworten Letzte Antwort
                1
                • O oFbEQnpoLKKl6mbY5e13

                  @homoran

                  Welches Fazit wollen wir nun ziehen?

                  Aus meiner Sicht ist es schlicht unmöglich, eine Anleitung zu erstellen. Jedes Skript ist potentiell so unterschiedlich, dass man nicht einfach einen Block durch einen anderen austauschen kann. Vielleicht muss man hier das Wort "Anleitung" im wahrsten Sinn des Wortes verstehen. Sie kann einen User nur bei der Umstellung "anleiten".

                  W Online
                  W Online
                  wolfi913
                  schrieb am zuletzt editiert von
                  #100

                  @ofbeqnpolkkl6mby5e13 sagte in Hilfe für Javascript Legastheniker und js v8.3.x:

                  Welches Fazit wollen wir nun ziehen?

                  Matthias @haus-automatisierung hat hier zwischenzeitlich einen Upgrade-Guide erstellt.

                  https://forum.iobroker.net/topic/74659/request-package-is-deprecated-please-use-httpget/25

                  1 Antwort Letzte Antwort
                  2
                  • O oFbEQnpoLKKl6mbY5e13

                    @homoran

                    Welches Fazit wollen wir nun ziehen?

                    Aus meiner Sicht ist es schlicht unmöglich, eine Anleitung zu erstellen. Jedes Skript ist potentiell so unterschiedlich, dass man nicht einfach einen Block durch einen anderen austauschen kann. Vielleicht muss man hier das Wort "Anleitung" im wahrsten Sinn des Wortes verstehen. Sie kann einen User nur bei der Umstellung "anleiten".

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

                    @ofbeqnpolkkl6mby5e13 Ja, da gebe ich dir recht.
                    Allerdings denke ich (will ich glauben) dass die komplexen Skripte, die nicht einfach umzustellen sind, in der Minderheit sind.

                    Inzwischen gibt es schon mehrere Threads zu diesem Thema und ich habe alle verfolgt!
                    Ich glaube auch, dass die Welle der Hilfesuchenden gerade erst anschwappt und noch lange icht ihren Höhepunkt erreicht hat.

                    Zum Glück gibt's auch Inzwischen viele Helfende, die sich um die Hilfesuchenden kümmern.

                    Wenn es hilft einigen bis mehreren durch die einfachste Formel
                    request(... durch httpGet(.... zu ersetzen, body dort zu streichen und statt den folgenden body jetzt response.data einzugeben wäre schon viel geholfen.

                    Die wichtigste Botschaft für Hilfesuchende, die ich aus diesem bisherigen Thread entnehme, ist: Es wird schon irgendwie ans laufen zu bringen sein.

                    DANKE an alle Unterstützer

                    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
                    3
                    • T TT-Tom

                      @ofbeqnpolkkl6mby5e13
                      ich glaube, wenn am die alte Schreibweise der neuen gegenüberstellt und sieht, wo die Parameter jetzt eingesetzt werden bzw. wie sie jetzt heißen, wird es verständlicher.

                      O Offline
                      O Offline
                      oFbEQnpoLKKl6mbY5e13
                      schrieb am zuletzt editiert von
                      #102

                      @tt-tom

                      Ich hatte das gestern jedes Mal gemacht, wenn du neuen Code gepostest hast. Heute hatte ich bisher nicht mehr die Muße..

                      1 Antwort Letzte Antwort
                      0
                      • T TT-Tom

                        @ofbeqnpolkkl6mby5e13
                        ich glaube, wenn am die alte Schreibweise der neuen gegenüberstellt und sieht, wo die Parameter jetzt eingesetzt werden bzw. wie sie jetzt heißen, wird es verständlicher.

                        O Offline
                        O Offline
                        oFbEQnpoLKKl6mbY5e13
                        schrieb am zuletzt editiert von oFbEQnpoLKKl6mbY5e13
                        #103

                        @tt-tom

                        Noch mal eine kleine Frage zum Parameter Timeout. Diesen hatte ich in der ersten httpGet-Abfrage eingebaut, allerdings in der zweiten Abfrage entweder vergessen oder erstmal zur Vereinfachung weggelassen.

                        httpGet('https://mymuell.jumomind.com/mmapp/api.php?r=trash&city_id=' + city_id + '&area_id=' + area_id, { timeout: 4000 }, (error, response) => {
                            if (logging) log(`first query statusCode ${response.statusCode}`);
                            if (logging) log(`first query data ${response.data}`);
                            if (!error && response.statusCode == 200) {
                                let data = JSON.parse(response.data);  // info ist ein Objekt
                                data.forEach((v, i) => {
                                    baseData[v._name] = v;
                                })
                                updateMuell();
                            } else {
                                log(error, 'error');
                            }
                        });
                         
                          
                        schedule('{"time":{"exactTime":true,"start":"12:17"},"period":{"days":1}}', updateMuell);
                          
                          
                        function updateMuell() {
                            const options = 'https://mymuell.jumomind.com/webservice.php?idx=termins&city_id=' + city_id + '&area_id=' + area_id + '&ws=3'
                         
                            httpGet(options, (error, response) => {
                        

                        Wäre die Syntax so richtig?

                        function updateMuell() {
                            const options = 'https://mymuell.jumomind.com/webservice.php?idx=termins&city_id=' + city_id + '&area_id=' + area_id + '&ws=3'
                         
                            httpGet(options, { timeout: 4000 }, (error, response) => {
                        
                        T 1 Antwort Letzte Antwort
                        0
                        • O oFbEQnpoLKKl6mbY5e13

                          @tt-tom

                          Noch mal eine kleine Frage zum Parameter Timeout. Diesen hatte ich in der ersten httpGet-Abfrage eingebaut, allerdings in der zweiten Abfrage entweder vergessen oder erstmal zur Vereinfachung weggelassen.

                          httpGet('https://mymuell.jumomind.com/mmapp/api.php?r=trash&city_id=' + city_id + '&area_id=' + area_id, { timeout: 4000 }, (error, response) => {
                              if (logging) log(`first query statusCode ${response.statusCode}`);
                              if (logging) log(`first query data ${response.data}`);
                              if (!error && response.statusCode == 200) {
                                  let data = JSON.parse(response.data);  // info ist ein Objekt
                                  data.forEach((v, i) => {
                                      baseData[v._name] = v;
                                  })
                                  updateMuell();
                              } else {
                                  log(error, 'error');
                              }
                          });
                           
                            
                          schedule('{"time":{"exactTime":true,"start":"12:17"},"period":{"days":1}}', updateMuell);
                            
                            
                          function updateMuell() {
                              const options = 'https://mymuell.jumomind.com/webservice.php?idx=termins&city_id=' + city_id + '&area_id=' + area_id + '&ws=3'
                           
                              httpGet(options, (error, response) => {
                          

                          Wäre die Syntax so richtig?

                          function updateMuell() {
                              const options = 'https://mymuell.jumomind.com/webservice.php?idx=termins&city_id=' + city_id + '&area_id=' + area_id + '&ws=3'
                           
                              httpGet(options, { timeout: 4000 }, (error, response) => {
                          
                          T Offline
                          T Offline
                          TT-Tom
                          schrieb am zuletzt editiert von
                          #104

                          @oFbEQnpoLKKl6mbY5e13
                          Jo passt
                          Link Doku

                          Gruß Tom
                          https://github.com/tt-tom17
                          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                          NSPanel Script Wiki
                          https://github.com/joBr99/nspanel-lovelace-ui/wiki

                          NSPanel Adapter Wiki
                          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                          1 Antwort Letzte Antwort
                          1
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          752

                          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