Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Corona-Ampel Österreich in VIS anzeigen

    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

    Corona-Ampel Österreich in VIS anzeigen

    This topic has been deleted. Only users with topic management privileges can see it.
    • sigi234
      sigi234 Forum Testing Most Active @liv-in-sky last edited by

      @liv-in-sky

      Wie immer perfekt.👍

      Screenshot (772)_LI.jpg

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

        @liv-in-sky Danke. Allerdings wird bei mir alles rot angezeigt. !

        Bildschirmfoto 2020-10-06 um 19.17.39.png

        Ich habe im Script nur die GKZ eingetragen.
        Bildschirmfoto 2020-10-06 um 19.20.19.png

        sigi234 1 Reply Last reply Reply Quote 0
        • sigi234
          sigi234 Forum Testing Most Active @bergjet last edited by

          @bergjet

          var sucheGKZ="deine Gemeinde" (5 stellig)
          var zusatzRegionen=["1","2","3","4","5","6","7","8","9","410"]

          bergjet 1 Reply Last reply Reply Quote 0
          • bergjet
            bergjet @sigi234 last edited by

            @sigi234 Die Farben bleiben alle rot.

            sigi234 1 Reply Last reply Reply Quote 0
            • sigi234
              sigi234 Forum Testing Most Active @bergjet last edited by

              @bergjet sagte in Corona-Ampel Österreich in VIS anzeigen:

              @sigi234 Die Farben bleiben alle rot.

              Wie sehen deine Objekte aus, fahr mal mit der Maus über den Wert jsonTable

              bergjet 1 Reply Last reply Reply Quote 0
              • bergjet
                bergjet @sigi234 last edited by

                @sigi234 said in Corona-Ampel Österreich in VIS anzeigen:

                Wie sehen deine Objekte aus, fahr mal mit der Maus über den Wert jsonTable

                [{"Region":"Bezirk","GKZ":"320","Name":"Scheibbs","Warnstufe":"🔴"},{"Region":"Gemeinde","GKZ":"32013","Name":"Scheibbs","Warnstufe":"🔴"},{"Region":"Gemeinde","GKZ":"32008","Name":"Purgstall an der Erlauf","Warnstufe":"🔴"},{"Region":"Gemeinde","GKZ":"32006","Name":"Oberndorf an der Melk","Warnstufe":"🔴"},{"Region":"Gemeinde","GKZ":"32002","Name":"Göstling an der Ybbs","Warnstufe":"🔴"}]

                sigi234 1 Reply Last reply Reply Quote 0
                • sigi234
                  sigi234 Forum Testing Most Active @bergjet last edited by sigi234

                  @bergjet

                  Hmm.... sollten Orange sein

                  Ok, im Skript Falsch denke ich.

                  case 1: 
                                                 myObj[i].Warnstufe="🟢"
                                                 break;
                                 case 2: 
                                                 myObj[i].Warnstufe="🟡"
                                                 break;
                                 case 3: 
                                                 myObj[i].Warnstufe="🔴"
                                                 break;
                                 case 4   : 
                                                 myObj[i].Warnstufe="depp"
                                                 break;
                  

                  Case 3 sollte Orange sein und Case 4 Rot
                  @liv-in-sky

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

                    @sigi234 Bundesland GKZ=3 grün, wird richtig angezeigt.

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

                      @bergjet

                      schau mal auf die seiten der links - da steht das drin

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

                        @sigi234

                        der "depp" im script gilt mir - da war ich gerade sauer auf mich 🙂

                        es gibt in beiden files (links) keine warnstufe 4

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

                          @liv-in-sky said in Corona-Ampel Österreich in VIS anzeigen:

                          @sigi234

                          der "depp" im script gilt mir - da war ich gerade sauer auf mich 🙂

                          es gibt in beiden files (links) keine warnstufe 4

                          Haha, aber der Bezirk Scheibbs hat Warnstufe 2 und die Gemeinde Scheibbs hat 3.

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

                            @bergjet

                            das sind aber 2 verschiedene einträge - ein neuer stand und ein alter - ich lese nur den neuen aus

                            der neue ist 3 und der alte ist 2 bei gkz 320

                            1 Reply Last reply Reply Quote 0
                            • sigi234
                              sigi234 Forum Testing Most Active @liv-in-sky last edited by

                              @liv-in-sky sagte in Corona-Ampel Österreich in VIS anzeigen:

                              der "depp" im script gilt mir - da war ich gerade sauer auf mich

                              😀

                              Aber Warnstufe 3 ist Orange

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

                                @sigi234 , @bergjet

                                diesmal mit orange - und ohne "depp"

                                //6.10.2020 20:35
                                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="320"
                                var zusatzRegionen=["32006","7","5","32008","320"]
                                
                                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(' 14 */4 * * *', 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="🟢"
                                                               break;
                                               case 2: 
                                                               myObj[i].Warnstufe="🟡"
                                                               break;
                                               case 3: 
                                                               myObj[i].Warnstufe="🟠"
                                                               break;
                                               case 4   : 
                                                               myObj[i].Warnstufe="🔴"
                                                               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()
                                    
                                
                                });
                                
                                
                                
                                

                                sigi234 bergjet 2 Replies Last reply Reply Quote 0
                                • sigi234
                                  sigi234 Forum Testing Most Active @liv-in-sky last edited by

                                  @liv-in-sky

                                  Super, genügt der Austausch von 240-252?

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

                                    @sigi234

                                    du kannst einfach den depp mit dem roten punkt und den roten mit dem orangen ersetzen

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

                                      @liv-in-sky said in Corona-Ampel Österreich in VIS anzeigen:

                                      du kannst einfach den depp mit dem roten punkt und den roten mit dem orangen ersetzen

                                      Danke.
                                      Bildschirmfoto 2020-10-06 um 20.54.17.png

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

                                        @bergjet schaut nicht gut aus in deiner gegend - bleib gesund und immer schön maske tragen

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

                                          @liv-in-sky Deshalb fahre ich morgen nach Italien.

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

                                            @liv-in-sky sagte in Corona-Ampel Österreich in VIS anzeigen:

                                            gäbe es das in DE; ich hätte eigentlich interesse, zu wissen, was in den nachbargebieten von meinem standort los ist (bzw, arbeit verwandschaft,..) -

                                            ich habe mal ein kleines Skript gebastelt, welches die 7-Tage Werte des Covid19 Adapters zusammenfasst, vielleicht ist das etwas für den Anfang

                                            liv-in-sky 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            672
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            corona vis
                                            10
                                            217
                                            19607
                                            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