Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Hilfe für Javascript Legastheniker und js v8.3.x

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @oFbEQnpoLKKl6mbY5e13 last edited by

      @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 1 Reply Last reply Reply Quote 0
      • O
        oFbEQnpoLKKl6mbY5e13 @paul53 last edited by

        @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 Reply Last reply Reply Quote 0
        • T
          TT-Tom @oFbEQnpoLKKl6mbY5e13 last edited by

          @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 1 Reply Last reply Reply Quote 0
          • O
            oFbEQnpoLKKl6mbY5e13 @TT-Tom last edited by

            @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 Reply Last reply Reply Quote 0
            • T
              TT-Tom @oFbEQnpoLKKl6mbY5e13 last edited by 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 1 Reply Last reply Reply Quote 1
              • O
                oFbEQnpoLKKl6mbY5e13 @TT-Tom last edited by

                @tt-tom

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

                T 1 Reply Last reply Reply Quote 0
                • T
                  TT-Tom @oFbEQnpoLKKl6mbY5e13 last edited by

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

                  O 1 Reply Last reply Reply Quote 0
                  • O
                    oFbEQnpoLKKl6mbY5e13 @TT-Tom last edited by

                    @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 Reply Last reply Reply Quote 0
                    • T
                      TT-Tom @oFbEQnpoLKKl6mbY5e13 last edited by

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

                      O 1 Reply Last reply Reply Quote 0
                      • O
                        oFbEQnpoLKKl6mbY5e13 @TT-Tom last edited by

                        @tt-tom

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

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          TT-Tom @oFbEQnpoLKKl6mbY5e13 last edited by 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 1 Reply Last reply Reply Quote 0
                          • O
                            oFbEQnpoLKKl6mbY5e13 @TT-Tom last edited by

                            @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 Reply Last reply Reply Quote 0
                            • T
                              TT-Tom @oFbEQnpoLKKl6mbY5e13 last edited by 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 2 Replies Last reply Reply Quote 0
                              • O
                                oFbEQnpoLKKl6mbY5e13 @TT-Tom last edited by

                                @tt-tom

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

                                1 Reply Last reply Reply Quote 0
                                • O
                                  oFbEQnpoLKKl6mbY5e13 @TT-Tom last edited by

                                  @tt-tom

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

                                  T 1 Reply Last reply Reply Quote 1
                                  • T
                                    TT-Tom @oFbEQnpoLKKl6mbY5e13 last edited by

                                    @ofbeqnpolkkl6mby5e13
                                    so Feierabend für heute, Script läuft soweit?

                                    O 1 Reply Last reply Reply Quote 0
                                    • O
                                      oFbEQnpoLKKl6mbY5e13 @TT-Tom last edited by

                                      @tt-tom

                                      Ich weiß nicht...

                                      2024-05-26 23:37:50.481  - info: javascript.0 (3416) Start JavaScript script.js.common._Tests.Test_17 (JavaScript/js)
                                      2024-05-26 23:37:50.492  - 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:37:50.656  - info: javascript.0 (3416) script.js.common._Tests.Test_17: 200
                                      2024-05-26 23:37:50.656  - info: javascript.0 (3416) script.js.common._Tests.Test_17: [{"Ack":"Success","id":"mm_termins","messages":[{"status":"OK","msg":"getTermins"}],"_data":[{"cal_id":"128222324","cal_date":"2024-01-03","cal_date_normal":"03.01.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128222316","cal_date":"2024-01-03","cal_date_normal":"03.01.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128222376","cal_date":"2024-01-09","cal_date_normal":"09.01.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128222387","cal_date":"2024-01-10","cal_date_normal":"10.01.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128222464","cal_date":"2024-01-16","cal_date_normal":"16.01.2024","cal_garbage_type":"SZ_W","cal_comment":""},{"cal_id":"128222458","cal_date":"2024-01-16","cal_date_normal":"16.01.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128222450","cal_date":"2024-01-16","cal_date_normal":"16.01.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128222532","cal_date":"2024-01-23","cal_date_normal":"23.01.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128222604","cal_date":"2024-01-30","cal_date_normal":"30.01.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128222596","cal_date":"2024-01-30","cal_date_normal":"30.01.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128222645","cal_date":"2024-02-06","cal_date_normal":"06.02.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128222718","cal_date":"2024-02-13","cal_date_normal":"13.02.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128222710","cal_date":"2024-02-13","cal_date_normal":"13.02.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128222726","cal_date":"2024-02-14","cal_date_normal":"14.02.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128222767","cal_date":"2024-02-20","cal_date_normal":"20.02.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128222841","cal_date":"2024-02-27","cal_date_normal":"27.02.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128222833","cal_date":"2024-02-27","cal_date_normal":"27.02.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128222890","cal_date":"2024-03-05","cal_date_normal":"05.03.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128222963","cal_date":"2024-03-12","cal_date_normal":"12.03.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128222955","cal_date":"2024-03-12","cal_date_normal":"12.03.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128222971","cal_date":"2024-03-13","cal_date_normal":"13.03.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128223012","cal_date":"2024-03-19","cal_date_normal":"19.03.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128223086","cal_date":"2024-03-25","cal_date_normal":"25.03.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128223078","cal_date":"2024-03-25","cal_date_normal":"25.03.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128223135","cal_date":"2024-04-03","cal_date_normal":"03.04.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128223208","cal_date":"2024-04-09","cal_date_normal":"09.04.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128223200","cal_date":"2024-04-09","cal_date_normal":"09.04.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128223216","cal_date":"2024-04-10","cal_date_normal":"10.04.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128223257","cal_date":"2024-04-16","cal_date_normal":"16.04.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128223331","cal_date":"2024-04-23","cal_date_normal":"23.04.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128223323","cal_date":"2024-04-23","cal_date_normal":"23.04.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128223380","cal_date":"2024-04-30","cal_date_normal":"30.04.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128223453","cal_date":"2024-05-07","cal_date_normal":"07.05.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128223445","cal_date":"2024-05-07","cal_date_normal":"07.05.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128223461","cal_date":"2024-05-08","cal_date_normal":"08.05.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128223502","cal_date":"2024-05-14","cal_date_normal":"14.05.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128223576","cal_date":"2024-05-22","cal_date_normal":"22.05.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128223568","cal_date":"2024-05-22","cal_date_normal":"22.05.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128223625","cal_date":"2024-05-28","cal_date_normal":"28.05.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128223689","cal_date":"2024-06-04","cal_date_normal":"04.06.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128223681","cal_date":"2024-06-04","cal_date_normal":"04.06.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128223739","cal_date":"2024-06-11","cal_date_normal":"11.06.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128223748","cal_date":"2024-06-12","cal_date_normal":"12.06.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128223811","cal_date":"2024-06-18","cal_date_normal":"18.06.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128223803","cal_date":"2024-06-18","cal_date_normal":"18.06.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128223862","cal_date":"2024-06-25","cal_date_normal":"25.06.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128223934","cal_date":"2024-07-02","cal_date_normal":"02.07.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128223926","cal_date":"2024-07-02","cal_date_normal":"02.07.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128223984","cal_date":"2024-07-09","cal_date_normal":"09.07.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128223993","cal_date":"2024-07-10","cal_date_normal":"10.07.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128224056","cal_date":"2024-07-16","cal_date_normal":"16.07.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128224048","cal_date":"2024-07-16","cal_date_normal":"16.07.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128224107","cal_date":"2024-07-23","cal_date_normal":"23.07.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128224179","cal_date":"2024-07-30","cal_date_normal":"30.07.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128224171","cal_date":"2024-07-30","cal_date_normal":"30.07.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128224220","cal_date":"2024-08-06","cal_date_normal":"06.08.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128224293","cal_date":"2024-08-13","cal_date_normal":"13.08.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128224285","cal_date":"2024-08-13","cal_date_normal":"13.08.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128224301","cal_date":"2024-08-14","cal_date_normal":"14.08.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128224342","cal_date":"2024-08-20","cal_date_normal":"20.08.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128224416","cal_date":"2024-08-27","cal_date_normal":"27.08.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128224408","cal_date":"2024-08-27","cal_date_normal":"27.08.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128224465","cal_date":"2024-09-03","cal_date_normal":"03.09.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128224538","cal_date":"2024-09-10","cal_date_normal":"10.09.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128224530","cal_date":"2024-09-10","cal_date_normal":"10.09.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128224546","cal_date":"2024-09-11","cal_date_normal":"11.09.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128224587","cal_date":"2024-09-17","cal_date_normal":"17.09.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128224661","cal_date":"2024-09-24","cal_date_normal":"24.09.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128224653","cal_date":"2024-09-24","cal_date_normal":"24.09.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128224704","cal_date":"2024-10-01","cal_date_normal":"01.10.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128224777","cal_date":"2024-10-08","cal_date_normal":"08.10.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128224769","cal_date":"2024-10-08","cal_date_normal":"08.10.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128224785","cal_date":"2024-10-09","cal_date_normal":"09.10.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128224826","cal_date":"2024-10-15","cal_date_normal":"15.10.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128224900","cal_date":"2024-10-22","cal_date_normal":"22.10.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128224892","cal_date":"2024-10-22","cal_date_normal":"22.10.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128224949","cal_date":"2024-10-29","cal_date_normal":"29.10.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128225013","cal_date":"2024-11-05","cal_date_normal":"05.11.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128225005","cal_date":"2024-11-05","cal_date_normal":"05.11.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128225063","cal_date":"2024-11-12","cal_date_normal":"12.11.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128225072","cal_date":"2024-11-13","cal_date_normal":"13.11.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128225135","cal_date":"2024-11-19","cal_date_normal":"19.11.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128225127","cal_date":"2024-11-19","cal_date_normal":"19.11.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128225186","cal_date":"2024-11-26","cal_date_normal":"26.11.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128225258","cal_date":"2024-12-03","cal_date_normal":"03.12.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128225250","cal_date":"2024-12-03","cal_date_normal":"03.12.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128225308","cal_date":"2024-12-10","cal_date_normal":"10.12.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128225317","cal_date":"2024-12-11","cal_date_normal":"11.12.2024","cal_garbage_type":"SZ_P","cal_comment":""},{"cal_id":"128225380","cal_date":"2024-12-17","cal_date_normal":"17.12.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128225372","cal_date":"2024-12-17","cal_date_normal":"17.12.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128225431","cal_date":"2024-12-23","cal_date_normal":"23.12.2024","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128225503","cal_date":"2024-12-31","cal_date_normal":"31.12.2024","cal_garbage_type":"SZ_R","cal_comment":""},{"cal_id":"128225495","cal_date":"2024-12-31","cal_date_normal":"31.12.2024","cal_garbage_type":"SZ_G","cal_comment":""},{"cal_id":"128225555","cal_date":"2025-01-07","cal_date_normal":"07.01.2025","cal_garbage_type":"SZ_BIO","cal_comment":""},{"cal_id":"128225566","cal_date":"2025-01-08","cal_date_normal":"08.01.2025","cal_garbage_type":"SZ_P","cal_comment":""}],"_extra":[]}]
                                      2024-05-26 23:37:50.657  - info: javascript.0 (3416) script.js.common._Tests.Test_17: 2024-05-26
                                      2024-05-26 23:37:55.515  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.000.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.517  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.001.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.519  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.002.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.520  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.003.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.521  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.004.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.523  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.005.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.524  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.006.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.525  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.007.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.526  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.008.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.528  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.009.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.529  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.010.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.530  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.011.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.541  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.012.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.543  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.013.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.544  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.014.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.546  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.015.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.547  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.016.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.548  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.017.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.549  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.018.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.551  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.019.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.552  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.020.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.553  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.021.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.555  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.022.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.556  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.023.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.558  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.024.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.559  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.025.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.560  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.026.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.562  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.027.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.563  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.028.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.564  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.029.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.566  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.030.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.568  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.031.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.570  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.032.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.571  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.033.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.573  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.034.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.574  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.035.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.575  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.036.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.577  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.037.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.578  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.038.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.579  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.039.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.581  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.040.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.582  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.041.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.583  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.042.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.584  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.043.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.586  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.044.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.587  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.045.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.588  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.046.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.590  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.047.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.591  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.048.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.592  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.049.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.602  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.050.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.603  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.051.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.605  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.052.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.606  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.053.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.607  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.054.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.608  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.055.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:55.669  - warn: javascript.0 (3416) Read-only state "0_userdata.0.muell-test.056.color" has been written without ack-flag with value "null"
                                      2024-05-26 23:37:59.691  - info: javascript.0 (3416) Stopping script script.js.common._Tests.Test_17
                                      
                                      

                                      T 1 Reply Last reply Reply Quote 0
                                      • T
                                        TT-Tom @oFbEQnpoLKKl6mbY5e13 last edited by

                                        @ofbeqnpolkkl6mby5e13

                                        sende bitte nochmal jetzt das komplette Script, ich sehe mir das morgenfrüh an. da Passt etwas mit dem erstellen des color State nicht.

                                        O 1 Reply Last reply Reply Quote 0
                                        • O
                                          oFbEQnpoLKKl6mbY5e13 @TT-Tom last edited by

                                          @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++;
                                                             }
                                                         });
                                                     }
                                                 };
                                             })
                                          }
                                          
                                          

                                          W T 2 Replies Last reply Reply Quote 0
                                          • W
                                            wolfi913 @oFbEQnpoLKKl6mbY5e13 last edited by

                                            @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.

                                            Homoran 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            413
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            104
                                            6328
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo