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 @Homoran last edited by

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

      Blockly_temp.JPG

      Homoran 1 Reply Last reply Reply Quote 2
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            851
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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