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.
    • 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
                                          • Homoran
                                            Homoran Global Moderator Administrators @paul53 last edited by Homoran

                                            @paul53 DANKE!
                                            den Block hab ich gesucht.
                                            Das Pulldown habe ich natürlich nicht gesehen.

                                            hatte gestern abend den Timeout auf 4000 gestellt.
                                            Seitdem kein Fehler mehr.
                                            Sehe gerade dass im Original ein Timeout von 3000 steht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            613
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            104
                                            6336
                                            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