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.
    • bergjet
      bergjet @liv-in-sky last edited by

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

      @bergjet der fehler erinnert mich an ein script, indem die coronazahlen von österreich in eine tabelle geschrieben werden - könnte das sein

      Das könnte sein. Kurz davor steht was von Corona Zahlen

      2020-12-25 14:52:25.204 - info: homee.0 (803) initialize 1 homeegrams
      2020-12-25 14:52:52.929 - info: javascript.0 (1321) script.js.common.Büro_Bewegung: Büro Bewegung DEBUG
      2020-12-25 14:57:00.002 - info: javascript.0 (1321) script.js.common.Garten_Sicherheit_Abschaltung: Strahler abschalten Sicherheit
      2020-12-25 15:00:00.067 - info: host.raspberrypi instance system.adapter.daswetter.0 started with pid 7532
      2020-12-25 15:00:00.163 - error: javascript.0 (1321) Error in request callback: SyntaxError: Unexpected token u in JSON at position 0
      2020-12-25 15:00:00.164 - error: javascript.0 (1321) Request error: Error: write EPROTO 3069269664:error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small:../deps/openssl/openssl/ssl/statem/statem_clnt.c:2150:
      2020-12-25 15:00:00.361 - info: web.0 (3312) <==Disconnect system.user.admin from ::ffff:192.168.1.34 vis.0
      2020-12-25 15:00:00.456 - info: web.0 (3312) <==Disconnect system.user.admin from ::ffff:192.168.1.36 vis.0
      2020-12-25 15:00:02.445 - info: daswetter.0 (7532) starting. Version 3.0.4 in /opt/iobroker/node_modules/iobroker.daswetter, node: v12.20.0, js-controller: 3.1.6
      2020-12-25 15:00:02.655 - info: web.0 (3312) ==>Connected system.user.admin from ::ffff:192.168.1.34
      2020-12-25 15:00:02.684 - info: web.0 (3312) ==>Connected system.user.admin from ::ffff:192.168.1.36
      2020-12-25 15:00:04.096 - info: host.raspberrypi instance system.adapter.coronavirus-statistics.0 started with pid 7716
      2020-12-25 15:00:06.409 - info: coronavirus-statistics.0 (7716) starting. Version 0.6.3 in /opt/iobroker/node_modules/iobroker.coronavirus-statistics, node: v12.20.0, js-controller: 3.1.6
      2020-12-25 15:00:13.538 - info: daswetter.0 (7532) Terminated (NO_ERROR): Without reason
      2020-12-25 15:00:14.057 - info: host.raspberrypi instance system.adapter.daswetter.0 terminated with code 0 (NO_ERROR)
      2020-12-25 15:00:18.643 - info: coronavirus-statistics.0 (7716) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
      
      
      liv-in-sky 1 Reply Last reply Reply Quote 0
      • 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

                            914
                            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