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
    324

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

  • 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.
  • HomoranH Homoran

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

    @homoran

    httpGet(options), (error, response)
        console.log(response.statusCode);
        console.log(response.data);
    

    Wird nichts ausgegeben.

    dann wird auch nichts angelegt.

    Nur warum?
    ist options nicht korrekt zusammengebaut?

    console.log(options) sagt das gleiche was in Zeile 27 steht?

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

    @homoran

    Wenn ich das mache:

    httpGet(options), (error, response)
        console.log(response.statusCode);
        console.log(response.data);
        console.log("test");
    

    Wird "test" nicht ausgegeben. Das Skript ruft also die Funktion gar nicht auf.

    HomoranH 1 Antwort Letzte Antwort
    0
    • O oFbEQnpoLKKl6mbY5e13

      @homoran

      Wenn ich das mache:

      httpGet(options), (error, response)
          console.log(response.statusCode);
          console.log(response.data);
          console.log("test");
      

      Wird "test" nicht ausgegeben. Das Skript ruft also die Funktion gar nicht auf.

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

      @ofbeqnpolkkl6mby5e13
      Sorry, dann mach ich doch Schluss für heute.
      mir raucht der Kopf. Das hemmt die Kreativität

      Mal sehen was abdere bis morgen rausfinden

      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
      1
      • O oFbEQnpoLKKl6mbY5e13

        @homoran

        httpGet(options), (error, response)
            console.log(response.statusCode);
            console.log(response.data);
        

        Wird nichts ausgegeben.

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #69

        @ofbeqnpolkkl6mby5e13 sagte: Wird nichts ausgegeben.

        Es fehlt auch was.

        httpGet(options, (error, response) => {
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        O 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @ofbeqnpolkkl6mby5e13 sagte: Wird nichts ausgegeben.

          Es fehlt auch was.

          httpGet(options, (error, response) => {
          
          O Offline
          O Offline
          oFbEQnpoLKKl6mbY5e13
          schrieb am zuletzt editiert von oFbEQnpoLKKl6mbY5e13
          #70

          @paul53

          Danke!

          2024-05-26 22:19:52.596  - info: javascript.0 (3416) Start JavaScript script.js.common._Tests.Test_17 (JavaScript/js)
          2024-05-26 22:19:52.597  - error: javascript.0 (3416) script.js.common._Tests.Test_17 compile failed:
          at script.js.common._Tests.Test_17:118
          2024-05-26 22:19:52.598  - error: javascript.0 (3416) })();
          2024-05-26 22:19:52.598  - error: javascript.0 (3416)  ^
          2024-05-26 22:19:52.598  - error: javascript.0 (3416) SyntaxError: Unexpected token ')'
          2024-05-26 22:19:52.598  - error: javascript.0 (3416)     at new Script (node:vm:99:7)
          2024-05-26 22:19:52.598  - error: javascript.0 (3416)     at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1917:21)
          2024-05-26 22:19:52.599  - error: javascript.0 (3416)     at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2183:37)
          2024-05-26 22:19:52.599  - error: javascript.0 (3416)     at /opt/iobroker/node_modules/iobroker.javascript/main.js:2281:17
          2024-05-26 22:19:52.599  - error: javascript.0 (3416)     at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1703:17)
          2024-05-26 22:19:52.599  - error: javascript.0 (3416)     at process.processImmediate (node:internal/timers:478:21)
          2024-05-26 22:19:55.316  - info: javascript.0 (3416) Stopping script script.js.common._Tests.Test_17
          
          

          An welcher Stelle ist die Klammer zu viel?

          paul53P 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

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

            dass bei einem Fehler keine Auswertung gemacht wird.

            aber das log wird trotzdem zugemüllt.
            Allerdings dann (hoffentlich) nur noch mit timeout of x msec exceeded und nicht mehr die ganzen null Meldungen

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #71

            @homoran sagte: nur noch mit timeout of x msec exceeded und nicht mehr die ganzen null Meldungen

            Blockly_temp.JPG

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            HomoranH 1 Antwort Letzte Antwort
            2
            • O oFbEQnpoLKKl6mbY5e13

              @paul53

              Danke!

              2024-05-26 22:19:52.596  - info: javascript.0 (3416) Start JavaScript script.js.common._Tests.Test_17 (JavaScript/js)
              2024-05-26 22:19:52.597  - error: javascript.0 (3416) script.js.common._Tests.Test_17 compile failed:
              at script.js.common._Tests.Test_17:118
              2024-05-26 22:19:52.598  - error: javascript.0 (3416) })();
              2024-05-26 22:19:52.598  - error: javascript.0 (3416)  ^
              2024-05-26 22:19:52.598  - error: javascript.0 (3416) SyntaxError: Unexpected token ')'
              2024-05-26 22:19:52.598  - error: javascript.0 (3416)     at new Script (node:vm:99:7)
              2024-05-26 22:19:52.598  - error: javascript.0 (3416)     at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1917:21)
              2024-05-26 22:19:52.599  - error: javascript.0 (3416)     at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2183:37)
              2024-05-26 22:19:52.599  - error: javascript.0 (3416)     at /opt/iobroker/node_modules/iobroker.javascript/main.js:2281:17
              2024-05-26 22:19:52.599  - error: javascript.0 (3416)     at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1703:17)
              2024-05-26 22:19:52.599  - error: javascript.0 (3416)     at process.processImmediate (node:internal/timers:478:21)
              2024-05-26 22:19:55.316  - info: javascript.0 (3416) Stopping script script.js.common._Tests.Test_17
              
              

              An welcher Stelle ist die Klammer zu viel?

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #72

              @ofbeqnpolkkl6mby5e13 sagte: An welcher Stelle ist die Klammer zu viel?

              ?? Die komplette Testfunktion:

              httpGet(options, (error, response) => {
                  console.log(response.statusCode);
                  console.log(response.data);
              });
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              O 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @ofbeqnpolkkl6mby5e13 sagte: An welcher Stelle ist die Klammer zu viel?

                ?? Die komplette Testfunktion:

                httpGet(options, (error, response) => {
                    console.log(response.statusCode);
                    console.log(response.data);
                });
                
                O Offline
                O Offline
                oFbEQnpoLKKl6mbY5e13
                schrieb am zuletzt editiert von
                #73

                @paul53

                Aber das war nur ein winziger Ausschnitt aus einem größeren Skript:

                const city_id = XXXXX;
                const area_id = XXX;
                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) {
                       console.log(response.statusCode);
                       console.log(response.data);
                   } else {
                       console.error(error);
                   var data = JSON.parse(response.data);  // info ist ein Objekt
                           data.forEach((v, i) => {
                               baseData[v._name] = v;
                           })
                   updateMuell();	
                   }
                });
                
                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) => {
                   console.log(response.statusCode);
                   console.log(response.data);
                   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 1 Antwort Letzte Antwort
                0
                • O oFbEQnpoLKKl6mbY5e13

                  @paul53

                  Aber das war nur ein winziger Ausschnitt aus einem größeren Skript:

                  const city_id = XXXXX;
                  const area_id = XXX;
                  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) {
                         console.log(response.statusCode);
                         console.log(response.data);
                     } else {
                         console.error(error);
                     var data = JSON.parse(response.data);  // info ist ein Objekt
                             data.forEach((v, i) => {
                                 baseData[v._name] = v;
                             })
                     updateMuell();	
                     }
                  });
                  
                  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) => {
                     console.log(response.statusCode);
                     console.log(response.data);
                     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
                  #74

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

                  httpGet(options), (error, response) => {

                  Zeile 46 hinter options die ) muss weg.

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

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

                    httpGet(options), (error, response) => {

                    Zeile 46 hinter options die ) muss weg.

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

                    @tt-tom

                    2024-05-26 22:46:45.108  - error: javascript.0 (3416) script.js.common._Tests.Test_17 compile failed:
                    at script.js.common._Tests.Test_17:111
                    2024-05-26 22:46:45.109  - error: javascript.0 (3416)         };
                    2024-05-26 22:46:45.109  - error: javascript.0 (3416)         ^
                    2024-05-26 22:46:45.109  - error: javascript.0 (3416) SyntaxError: missing ) after argument list
                    2024-05-26 22:46:45.109  - error: javascript.0 (3416)     at new Script (node:vm:99:7)
                    2024-05-26 22:46:45.110  - error: javascript.0 (3416)     at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1917:21)
                    2024-05-26 22:46:45.110  - error: javascript.0 (3416)     at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2183:37)
                    2024-05-26 22:46:45.110  - error: javascript.0 (3416)     at /opt/iobroker/node_modules/iobroker.javascript/main.js:2281:17
                    2024-05-26 22:46:45.110  - error: javascript.0 (3416)     at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1703:17)
                    2024-05-26 22:46:45.111  - error: javascript.0 (3416)     at process.processImmediate (node:internal/timers:478:21)
                    2024-05-26 22:46:46.955  - info: javascript.0 (3416) Stopping script script.js.common._Tests.Test_17
                    
                    T 1 Antwort Letzte Antwort
                    0
                    • O oFbEQnpoLKKl6mbY5e13

                      @tt-tom

                      2024-05-26 22:46:45.108  - error: javascript.0 (3416) script.js.common._Tests.Test_17 compile failed:
                      at script.js.common._Tests.Test_17:111
                      2024-05-26 22:46:45.109  - error: javascript.0 (3416)         };
                      2024-05-26 22:46:45.109  - error: javascript.0 (3416)         ^
                      2024-05-26 22:46:45.109  - error: javascript.0 (3416) SyntaxError: missing ) after argument list
                      2024-05-26 22:46:45.109  - error: javascript.0 (3416)     at new Script (node:vm:99:7)
                      2024-05-26 22:46:45.110  - error: javascript.0 (3416)     at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1917:21)
                      2024-05-26 22:46:45.110  - error: javascript.0 (3416)     at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2183:37)
                      2024-05-26 22:46:45.110  - error: javascript.0 (3416)     at /opt/iobroker/node_modules/iobroker.javascript/main.js:2281:17
                      2024-05-26 22:46:45.110  - error: javascript.0 (3416)     at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1703:17)
                      2024-05-26 22:46:45.111  - error: javascript.0 (3416)     at process.processImmediate (node:internal/timers:478:21)
                      2024-05-26 22:46:46.955  - info: javascript.0 (3416) Stopping script script.js.common._Tests.Test_17
                      
                      T Offline
                      T Offline
                      TT-Tom
                      schrieb am zuletzt editiert von TT-Tom
                      #76

                      @ofbeqnpolkkl6mby5e13

                      da fehlen irgendwo noch Klammern, bin grad mal am suchen

                      Edit: probiere mal das jetzt.

                      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) => {
                              console.log(response.statusCode);
                              console.log(response.data);
                              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++;
                                          }
                                      });
                                  }
                              };
                          })
                      }
                      

                      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

                        da fehlen irgendwo noch Klammern, bin grad mal am suchen

                        Edit: probiere mal das jetzt.

                        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) => {
                                console.log(response.statusCode);
                                console.log(response.data);
                                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++;
                                            }
                                        });
                                    }
                                };
                            })
                        }
                        
                        O Offline
                        O Offline
                        oFbEQnpoLKKl6mbY5e13
                        schrieb am zuletzt editiert von
                        #77

                        @tt-tom

                        Danke, es kommt kein Fehler mehr! Eine Objektstruktur wird weiterhin nicht angelegt.

                        T 1 Antwort Letzte Antwort
                        0
                        • O oFbEQnpoLKKl6mbY5e13

                          @tt-tom

                          Danke, es kommt kein Fehler mehr! Eine Objektstruktur wird weiterhin nicht angelegt.

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

                          @ofbeqnpolkkl6mby5e13
                          okay dann brauche ich mal das komplette Log vom Start das Script. Muss mir mal die Daten ansehen, die da kommen.

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

                            @ofbeqnpolkkl6mby5e13
                            okay dann brauche ich mal das komplette Log vom Start das Script. Muss mir mal die Daten ansehen, die da kommen.

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

                            @tt-tom

                            2024-05-26 23:06:36.838  - info: javascript.0 (3416) Start JavaScript script.js.common._Tests.Test_17 (JavaScript/js)
                            2024-05-26 23:06:36.850  - info: javascript.0 (3416) script.js.common._Tests.Test_17: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                            2024-05-26 23:06:36.925  - info: javascript.0 (3416) script.js.common._Tests.Test_17: 200
                            2024-05-26 23:06:36.926  - info: javascript.0 (3416) script.js.common._Tests.Test_17: [{"title":"Bioabfall","name":"SZ_BIO","_name":"SZ_BIO","color":"a52a2a"},{"title":"Gelber Sack","name":"SZ_G","_name":"SZ_G","color":"FFFF00"},{"title":"Altpapier (120l, 240l)","name":"SZ_P","_name":"SZ_P","color":"2fc2e8"},{"title":"Restabfall (bis 240l)","name":"SZ_R","_name":"SZ_R","color":"2F4F4F"},{"title":"Weihnachtsbaum","name":"SZ_W","_name":"SZ_W","color":"36b515"}]
                            2024-05-26 23:14:15.038  - info: javascript.0 (3416) Stopping script script.js.common._Tests.Test_17
                            
                            T 1 Antwort Letzte Antwort
                            0
                            • O oFbEQnpoLKKl6mbY5e13

                              @tt-tom

                              2024-05-26 23:06:36.838  - info: javascript.0 (3416) Start JavaScript script.js.common._Tests.Test_17 (JavaScript/js)
                              2024-05-26 23:06:36.850  - info: javascript.0 (3416) script.js.common._Tests.Test_17: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                              2024-05-26 23:06:36.925  - info: javascript.0 (3416) script.js.common._Tests.Test_17: 200
                              2024-05-26 23:06:36.926  - info: javascript.0 (3416) script.js.common._Tests.Test_17: [{"title":"Bioabfall","name":"SZ_BIO","_name":"SZ_BIO","color":"a52a2a"},{"title":"Gelber Sack","name":"SZ_G","_name":"SZ_G","color":"FFFF00"},{"title":"Altpapier (120l, 240l)","name":"SZ_P","_name":"SZ_P","color":"2fc2e8"},{"title":"Restabfall (bis 240l)","name":"SZ_R","_name":"SZ_R","color":"2F4F4F"},{"title":"Weihnachtsbaum","name":"SZ_W","_name":"SZ_W","color":"36b515"}]
                              2024-05-26 23:14:15.038  - info: javascript.0 (3416) Stopping script script.js.common._Tests.Test_17
                              
                              T Offline
                              T Offline
                              TT-Tom
                              schrieb am zuletzt editiert von
                              #80

                              @ofbeqnpolkkl6mby5e13
                              der erste teil stimmt auch nicht bzw. ist unlogisch. Hast du noch das original?

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

                                @ofbeqnpolkkl6mby5e13
                                der erste teil stimmt auch nicht bzw. ist unlogisch. Hast du noch das original?

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

                                @tt-tom

                                https://github.com/volkerrichert/ioBroker.mymuell/blob/master/myMuell.iob

                                T 1 Antwort Letzte Antwort
                                0
                                • O oFbEQnpoLKKl6mbY5e13

                                  @tt-tom

                                  https://github.com/volkerrichert/ioBroker.mymuell/blob/master/myMuell.iob

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

                                  @ofbeqnpolkkl6mby5e13

                                  okay, muss den Anfang auch nochmal anpassen. Da ist etwas verrutscht ;)

                                  Edit: probiere mal das

                                  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) {
                                         console.log(response.statusCode);
                                         console.log(response.data);
                                         var data = JSON.parse(response.data);  // info ist ein Objekt
                                             data.forEach((v, i) => {
                                                 baseData[v._name] = v;
                                             })
                                     updateMuell();
                                     } else {
                                         console.error(error);	
                                     }
                                  });
                                  

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

                                    @ofbeqnpolkkl6mby5e13

                                    okay, muss den Anfang auch nochmal anpassen. Da ist etwas verrutscht ;)

                                    Edit: probiere mal das

                                    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) {
                                           console.log(response.statusCode);
                                           console.log(response.data);
                                           var data = JSON.parse(response.data);  // info ist ein Objekt
                                               data.forEach((v, i) => {
                                                   baseData[v._name] = v;
                                               })
                                       updateMuell();
                                       } else {
                                           console.error(error);	
                                       }
                                    });
                                    
                                    O Offline
                                    O Offline
                                    oFbEQnpoLKKl6mbY5e13
                                    schrieb am zuletzt editiert von
                                    #83

                                    @tt-tom

                                    Ah, jetzt wird die Objektstruktur angelegt! Vielen Dank!

                                    Aber, im Original werden keine Daten auf der Konsole ausgegeben. Woran liegt das?

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • O oFbEQnpoLKKl6mbY5e13

                                      @tt-tom

                                      Ah, jetzt wird die Objektstruktur angelegt! Vielen Dank!

                                      Aber, im Original werden keine Daten auf der Konsole ausgegeben. Woran liegt das?

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

                                      @ofbeqnpolkkl6mby5e13

                                      im Script sind diese Zeilen für die Ausgabe

                                             console.log(response.statusCode);
                                             console.log(response.data);
                                      

                                      ersetze sie mit diesen Zeilen

                                      if (logging) console.log(response.statusCode);
                                      if (logging) console.log(response.data);
                                      

                                      dann kommt die Meldung nur, wenn du logging auf true setzt

                                      const logging = true;
                                      

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

                                        @ofbeqnpolkkl6mby5e13

                                        im Script sind diese Zeilen für die Ausgabe

                                               console.log(response.statusCode);
                                               console.log(response.data);
                                        

                                        ersetze sie mit diesen Zeilen

                                        if (logging) console.log(response.statusCode);
                                        if (logging) console.log(response.data);
                                        

                                        dann kommt die Meldung nur, wenn du logging auf true setzt

                                        const logging = true;
                                        
                                        O Offline
                                        O Offline
                                        oFbEQnpoLKKl6mbY5e13
                                        schrieb am zuletzt editiert von
                                        #85

                                        @tt-tom

                                        Aber das ist im Original doch auch nicht so und im Original werden im Normalfall keine Meldungen ausgegeben.

                                        1 Antwort Letzte Antwort
                                        0
                                        • T TT-Tom

                                          @ofbeqnpolkkl6mby5e13

                                          im Script sind diese Zeilen für die Ausgabe

                                                 console.log(response.statusCode);
                                                 console.log(response.data);
                                          

                                          ersetze sie mit diesen Zeilen

                                          if (logging) console.log(response.statusCode);
                                          if (logging) console.log(response.data);
                                          

                                          dann kommt die Meldung nur, wenn du logging auf true setzt

                                          const logging = true;
                                          
                                          O Offline
                                          O Offline
                                          oFbEQnpoLKKl6mbY5e13
                                          schrieb am zuletzt editiert von
                                          #86

                                          @tt-tom

                                          Ach sorry, das hatte ich ja selbst hinzugefügt.

                                          T 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

                                          590

                                          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