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.
    • paul53
      paul53 @bergjet last edited by

      @bergjet sagte:

      Error in request callback: SyntaxError: Unexpected token u in JSON at position 0

      Das wird ein Script sein, in dem per request() ein JSON abgeholt werden soll.

      liv-in-sky 1 Reply Last reply Reply Quote 0
      • 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

                          912
                          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