Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Hilfe für Javascript Legastheniker und js v8.3.x

NEWS

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
104 Beiträge 8 Kommentatoren 13.0k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • O oFbEQnpoLKKl6mbY5e13

    @tt-tom

    Okay, vielen Dank!

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

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

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

    HomoranH 1 Antwort Letzte Antwort
    0
    • paul53P paul53

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

      Blockly_temp.JPG

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

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

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Antwort Letzte Antwort
      0
      • W wolfi913

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

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

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

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

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

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        T O 2 Antworten Letzte Antwort
        0
        • O oFbEQnpoLKKl6mbY5e13

          @tt-tom

          Okay, vielen Dank!

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

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

          @ofbeqnpolkkl6mby5e13

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

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

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

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

          T 1 Antwort Letzte Antwort
          1
          • HomoranH Homoran

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

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

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

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

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

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

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

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

            1 Antwort Letzte Antwort
            0
            • T TT-Tom

              @ofbeqnpolkkl6mby5e13

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

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

              @oFbEQnpoLKKl6mbY5e13

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

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

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

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

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

              O 1 Antwort Letzte Antwort
              1
              • T TT-Tom

                @oFbEQnpoLKKl6mbY5e13

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

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

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

                @tt-tom

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

                1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

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

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

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

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

                  @homoran

                  Welches Fazit wollen wir nun ziehen?

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

                  T W HomoranH 3 Antworten Letzte Antwort
                  0
                  • O oFbEQnpoLKKl6mbY5e13

                    @homoran

                    Welches Fazit wollen wir nun ziehen?

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

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

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

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

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

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

                    O 2 Antworten Letzte Antwort
                    1
                    • O oFbEQnpoLKKl6mbY5e13

                      @homoran

                      Welches Fazit wollen wir nun ziehen?

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

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

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

                      Welches Fazit wollen wir nun ziehen?

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

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

                      1 Antwort Letzte Antwort
                      2
                      • O oFbEQnpoLKKl6mbY5e13

                        @homoran

                        Welches Fazit wollen wir nun ziehen?

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

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

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

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

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

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

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

                        DANKE an alle Unterstützer

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        1 Antwort Letzte Antwort
                        3
                        • T TT-Tom

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

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

                          @tt-tom

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

                          1 Antwort Letzte Antwort
                          0
                          • T TT-Tom

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

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

                            @tt-tom

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

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

                            Wäre die Syntax so richtig?

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

                              @tt-tom

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

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

                              Wäre die Syntax so richtig?

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

                              @oFbEQnpoLKKl6mbY5e13
                              Jo passt
                              Link Doku

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

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

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

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


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              700

                              Online

                              32.5k

                              Benutzer

                              81.7k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe