Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wie kann man feststellen, von wo der Fehler kommt?

    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

    Wie kann man feststellen, von wo der Fehler kommt?

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @bergjet last edited by

      @bergjet suche mal nach corona in den scripten

      bergjet 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @paul53 last edited by

        @paul53

        wenn es um das script geht stimmt das- man mußte unter linux etwas einstellen, weil die seite eine seltsame verschlüsselung hatte

        1 Reply Last reply Reply Quote 0
        • bergjet
          bergjet @liv-in-sky last edited by

          @liv-in-sky sagte in Wie kann man feststellen, von wo der Fehler kommt?:

          suche mal nach corona in den scripten

          Ja, das Script gibt es.

          //6.10.2020 9:00
          const url2 = 'https://corona-ampel.gv.at/sites/corona-ampel.gv.at/files/assets/Warnstufen_Corona_Ampel_aktuell.json';
          const url = 'https://corona-ampel.gv.at/sites/corona-ampel.gv.at/files/assets/Warnstufen_Corona_Ampel_Gemeinden_aktuell.json';
          var warnstufe=0;
          var htmlwidget ='';
          var arrStand="";
          var sucheGKZ="32013"
          var zusatzRegionen=["320","32013","32008"]
           
          var farbwertLevel1 = '#04B404'
          var farbwertLevel2 = '#FFFF00'
          var farbwertLevel3 = '#FF8000'
          var farbwertLevel4 = '#DF0101'
          var warngebiet = ''
          var warnregion="";
          var anzahl=0;
          var gkz=""
          var directory = 'Coronaampel' //javascript.0.xxx
          var tableContent = ''
          var dpSort;
           
          createState(directory  + '.warnstufe', {
             name: 'Corona Warnstufe',
             read: true, 
             write: false, 
             type: "number", 
             def: 0
          });
          createState(directory  + '.anzahl', {
             name: 'Corona Anzahl',
             read: true, 
             write: false, 
             type: "number", 
             def: 0
          });
          createState(directory  + '.Sortierung', {
             name: 'Corona Sortierung',
             read: true, 
             write: true, 
             type: "number", 
             def: 1
          });
          createState(directory  + '.Refresh', {
             name: 'Corona Refresh',
             read: true, 
             write: true, 
             type: "boolean", 
             def: false
          });
           
          createState(directory  + '.warngebiet', {
             name: 'Corona Warngebiet',
             read: true, 
             write: false, 
             type: "string", 
             def: ""
          });
           
          createState(directory  + '.warnfarbe', {
             name: 'Corona Warnfarbe',
             read: true, 
             write: false, 
             type: "string", 
             def: ""
          });
          createState(directory  + '.geholt', {
             name: 'Corona Datum',
             read: true, 
             write: false, 
             type: "string", 
             def: ""
          });
           
          createState(directory  + '.GKZ', {
             name: 'Corona GKZ',
             read: true, 
             write: false, 
             type: "string", 
             def: ""
          });
           
          createState(directory  + '.warnregion', {
             name: 'Corona Region',
             read: true, 
             write: false, 
             type: "string", 
             def: ""
          });
           
          createState(directory  + '.stand', {
             name: 'Corona stand',
             read: true, 
             write: false, 
             type: "string", 
             def: ""
          });
           
          createState(directory  + '.warntabelle', {
             name: 'Corona Tabelle',
             read: true, 
             write: false, 
             type: "string", 
             def: ""
          });
           
           
          createState(directory  + '.jsonTable', {
             name: 'Corona jsonTabelle',
             read: true, 
             write: false, 
             type: "string", 
             def: ""
          });
          var myObj=[];
           
          schedule(' 0 15 * * *', function() { 
          main()
          });
           
          setTimeout(function(){main()},10000);
           
           
           
          function main() {   dpSort=getState(directory+'.Sortierung').val
             myObj=[];
             warnstufe = 0;
             tableContent = ''
             request(url, function(err, response, json) {
           
                 let arr = (JSON.parse(json)[0]).Warnstufen;
                  arrStand = (JSON.parse(json)[0]).Stand;
               //  log(JSON.stringify(arr))
               //  log(arr.flat(1))
                 //log(arrStand.toString())
                 //Loop und suche nach Bezirk
           
                request(url2, function(err, response, json) {
           
                 let arr2 = (JSON.parse(json)[0]).Warnstufen;
              // log(arr.length.toString())
                 arr= arr.concat(arr2)
                //    log(arr.length.toString())
              for(var z = 0; z < zusatzRegionen.length; z++) {    
                  for(let i = 0; i < arr.length; i++) { 
                    if(arr[i].GKZ == zusatzRegionen[z]){
                      myObj.push(arr[i])
                      break;
                      }
                 }
              }
              
              for(let i = 0; i < arr.length; i++) { 
                    if(arr[i].GKZ == sucheGKZ){
                      //log(' Warnstufe für ' + suchwertBezirk + ': ' + arr[i].Warnstufe)
                      warnstufe = Number(arr[i].Warnstufe);
                      gkz=sucheGKZ
                      warnregion=arr[i].Region
                      warngebiet = arr[i].Name 
                     break;}}
           
                 anzahl=arr.length
           
           
           
           
           
                 for(let i = 0; i < arr.length; i++) { 
                     fillTable(arr[i].Region,arr[i].Name,arr[i].Warnstufe,arr[i].GKZ)
                 }
                 finishTable()
           
             
           
           
           
             saveData()
           
             });
             });
           
          }
           
          function fillTable(gebiet,name,warnstufe,gkz){
             if (tableContent == ''){
               tableContent = '<table ><tbody>'  
             }
             tableContent += '<tr><td>' + gebiet + '</td>'
             tableContent += '<td>' + gkz + '</td>'
             tableContent += '<td>' + name + '</td>'
             tableContent += '<td>' + warnstufe + '</td>'
             tableContent += '</tr>';
          }
           
          function finishTable(){
           
             tableContent += '</tbody></table>'
             setState(directory+'.warntabelle',tableContent)
          }
           
          function saveData(){
               sotiereJson(dpSort)    
                     
           
             jsonWarn()
              setState(directory+'.jsonTable',JSON.stringify(myObj))
           
             setState(directory+'.Refresh',false)
             setState(directory+'.anzahl',anzahl)
           //  setState(directory+'.searchbyGKZ',suchGKZactivieren)
             setState(directory+'.warnstufe',warnstufe)
             setState(directory+'.warngebiet',warngebiet)
             setState(directory+'.GKZ',gkz)
             setState(directory+'.warnregion',warnregion)
             setState(directory+'.geholt',formatDate(getDateObject((new Date().getTime())), "hh:mm"))
             setState(directory+'.stand',   formatDate(getDateObject(arrStand.toString()), "TT:MM:JJJJ -  SS:mm"));
             switch (warnstufe) {
                         case 1: 
                                         setState(directory+'.warnfarbe',farbwertLevel1)
                                         break;
                         case 2: 
                                          setState(directory+'.warnfarbe',farbwertLevel2)
                                         break;
                         case 3: 
                                         setState(directory+'.warnfarbe',farbwertLevel3)
                                         break;
                         case 4   : 
                                         setState(directory+'.warnfarbe',farbwertLevel4)
                                         break;
                         default: setState(directory+'.warnfarbe',"");
                         ;
                     }
          }
           
          function jsonWarn(){
           
              for(let i = 0; i < myObj.length; i++) { 
                var istWarnstufe=Number(myObj[i].Warnstufe)
                 switch (istWarnstufe) {
                         case 1: 
                                         myObj[i].Warnstufe="<img src="+"/vis.0/Bilder/Icon/grün.png"+" height=\"30\" width=\"30\">"//"🟢"
                                         break;
                         case 2: 
                                         myObj[i].Warnstufe="<img src="+"/vis.0/Bilder/Icon/gelb.png"+" height=\"30\" width=\"30\">"//"🟡"
                                         break;
                         case 3: 
                                         myObj[i].Warnstufe="<img src="+"/vis.0/Bilder/Icon/orange.png"+" height=\"30\" width=\"30\">"//"🟠"
                                         break;
                         case 4   : 
                                         myObj[i].Warnstufe="<img src="+"/vis.0/Bilder/Icon/rot.png"+" height=\"30\" width=\"30\">"//"🔴"
                                         break;
                         default: myObj[i].Warnstufe="?";
                         ;
                     }
                   }
                   }
                   
           
          function sotiereJson(mySort) {
             // log(mySort.toString())
          switch (mySort) {
                         case 1: 
                                          myObj.sort(function (alpha, beta) {
                                               if (alpha.Region > beta.Region )
                      
                                               return 1;
                                               if (beta.Region > alpha.Region)
                                               return -1;
                                               return 0;
                                            }); 
                                         break;
                         case 2: 
                                         myObj.sort(function (alpha, beta) {
                                              if (Number(alpha.GKZ) > Number(beta.GKZ) )
                                              return 1;
                                             if (Number(beta.GKZ) > Number(alpha.GKZ)  )
                                             return -1;
                                             return 0;
                                                 }); 
                                         break;
                         case 3: 
                                       myObj.sort(function (alpha, beta) {
                                              if (alpha.Name > beta.Name )
                      
                                              return 1;
                                             if (beta.Name > alpha.Name)
                                             return -1;
                                             return 0;
                     });
                                         break;
                         case 4   : 
                                         myObj.sort(function(a, b){
                                         return b.Warnstufe - a.Warnstufe;
                                         });
                                         break;
                         default:        myObj.sort(function(a, b){
                                         return b.Warnstufe - a.Warnstufe;
                                         });
                         ;
                     }
           
           
           
          }
           
          on({id: 'javascript.'+instance+'.'+directory  + '.Sortierung', change: "any"}, function (obj) { 
             
              main()
           
          });
           on({id: 'javascript.'+instance+'.'+directory  + '.Refresh', val: true}, function (obj) { 
             
              main()
              
           
          });
           
           
           
          
          
          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @bergjet last edited by

            @bergjet mit den refresh datenpunkt kannst du es starten und testen - da sollte dann der fehler kommen

            bergjet 1 Reply Last reply Reply Quote 0
            • bergjet
              bergjet @liv-in-sky last edited by

              @liv-in-sky sagte in Wie kann man feststellen, von wo der Fehler kommt?:

              da sollte dann der fehler kommen

              Im Script ist der cron Job auf 15 Uhr eingestellt. Das stimmt mit der Fehlermeldung überein. Also es ist das Script.

              liv-in-sky 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @bergjet last edited by

                @bergjet siehe mal hier - du mußt diese einstellung machen

                bergjet 2 Replies Last reply Reply Quote 0
                • bergjet
                  bergjet @liv-in-sky last edited by

                  @liv-in-sky sagte in Wie kann man feststellen, von wo der Fehler kommt?:

                  siehe mal hier

                  Der Link fehlt. 🙂

                  liv-in-sky 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @bergjet last edited by

                    @bergjet starke leistung 🙂

                    https://forum.iobroker.net/post/486217

                    1 Reply Last reply Reply Quote 0
                    • bergjet
                      bergjet @liv-in-sky last edited by

                      @liv-in-sky sagte in Wie kann man feststellen, von wo der Fehler kommt?:

                      siehe mal hier - du mußt diese einstellung machen

                      Danke, hat funktioniert. Zu meiner Schande, ich habe das schon einmal gemacht nach diesem Vorschlag. Aber ich habe den pi4 neu installiert und das natürlich schon wieder vergessen gehabt.

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @bergjet last edited by

                        @bergjet kein thema - dachte mir schon, dass du neu installiert hast

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        927
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        javascript
                        4
                        16
                        476
                        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