Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Coronavirus Statistics for ioBroker

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Coronavirus Statistics for ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • Uli977
      Uli977 @sigi234 last edited by

      @sigi234 ist vorhanden

      1197a608-f9bc-41fd-8c66-840472906265-image.png

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

        @Uli977 sagte in Test Coronavirus Statistics for ioBroker:

        @sigi234 ist vorhanden

        1197a608-f9bc-41fd-8c66-840472906265-image.png

        ICON LIST

        Uli977 2 Replies Last reply Reply Quote 0
        • Uli977
          Uli977 @sigi234 last edited by

          @sigi234 nä... nicht da

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

            @sigi234 folgendes bei neuinstallation

            e5463136-98a8-452c-bb06-3bf81049f80b-image.png

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

              @Uli977 sagte in Test Coronavirus Statistics for ioBroker:

              @sigi234 nä... nicht da

              Welche Version hast du?

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

                @sigi234 0.1.5

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

                  @Uli977 sagte in Test Coronavirus Statistics for ioBroker:

                  @sigi234 0.1.5

                  UPDATE MACHEN!

                  Screenshot (2075)_LI.jpg

                  Uli977 2 Replies Last reply Reply Quote 0
                  • Uli977
                    Uli977 @sigi234 last edited by

                    @sigi234 geht! Danke! Habe immer auf stable stehen.... hab aber jetzt mal auf latest gesetzt...

                    960634c7-3f79-4e71-9b24-9c01cc54ab8b-image.png

                    Scrounger 1 Reply Last reply Reply Quote 0
                    • Scrounger
                      Scrounger Developer @Uli977 last edited by

                      Hier noch mein IconList Widget mit Material Design Icons:

                      50c14e97-b238-4d0c-b829-630d5e9ece87-grafik.png

                      Widget:

                      [{"tpl":"tplVis-materialdesign-Icon-List","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","wrapItems":false,"listItemDataMethod":"inputPerEditor","countListItems":"5","vibrateOnMobilDevices":"50","listLayout":"standard","itemLayout":"vertical","buttonLayout":"round","autoLockAfter":"10","lockIconTop":"5","lockIconLeft":"5","lockFilterGrayscale":"30","lockApplyOnlyOnImage":"true","listType0":"text","showValueLabel0":true,"listType1":"text","showValueLabel1":"true","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"listType2":"text","showValueLabel2":"true","listType3":"text","showValueLabel3":"true","listType4":"text","showValueLabel4":"true","listType5":"text","showValueLabel5":"true","listType6":"text","showValueLabel6":"true","listImage0":"biohazard","label0":"<div class=\"my-corona-title\">Infiziert</div>","subLabel0":"<div class=\"my-corona-value\">{javascript.0.corona.continents.Oceania.cases}</div>","listImage1":"heart-pulse","label1":"<div class=\"my-corona-title\">Genesen</div>","subLabel1":"<div class=\"my-corona-value\">{javascript.0.corona.continents.Oceania.recovered}</div>","listImage2":"seat-flat","label2":"<div class=\"my-corona-title\">Kritisch</div>","valueAppendix2":"","subLabel2":"<div class=\"my-corona-value\">{javascript.0.corona.continents.Oceania.critical}</div>","label3":"<div class=\"my-corona-title\">Todesfälle</div>","listImage3":"grave-stone","subLabel3":"<div class=\"my-corona-value\">{javascript.0.corona.continents.Oceania.deaths}</div>","listImage4":"hospital-box","valueAppendix4":"","label4":"<div class=\"my-corona-title\">Heute<br>Infiziert</div>","subLabel4":"<div class=\"my-corona-value\">{javascript.0.corona.continents.Oceania.todayCases}</div>","listImage5":"skull-crossbones","label5":"<div class=\"my-corona-title\">Heute<br>Todesfälle</div>","subLabel5":"<div class=\"my-corona-value\">{javascript.0.corona.continents.Oceania.todayDeaths}</div>","iconHeight":"35","verticalIconContainerHeight":"","labelFontSize":"10","labelFontFamily":"RobotoCondensed-Regular","subLabelFontSize":"12","subLabelFontFamily":"RobotoCondensed-LightItalic","oid0":"","itemGaps":"0","valueFontSize":"","listImageColor0":"Firebrick","listImageColor1":"green","listImageColor2":"darkorange","listImageColor3":"","listImageColor4":"Firebrick","listImageColor5":"","lockEnabled0":false,"itemBackgroundColor0":""},"style":{"left":"0","top":"60px","width":"100%","height":"96px"},"widgetSet":"materialdesign"}]
                      

                      benötigte CSS Klassen:

                      .my-corona-title {
                          display: flex;
                          align-items: center; 
                          justify-content: center;
                          height: 24px;
                      }
                      
                      .my-corona-value {
                          margin-top: 4px;
                      }
                      
                      Dutchman 1 Reply Last reply Reply Quote 0
                      • Uli977
                        Uli977 @sigi234 last edited by

                        @sigi234 wieso habe ich keine Icons?

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

                          @Uli977 sagte in Test Coronavirus Statistics for ioBroker:

                          @sigi234 wieso habe ich keine Icons?

                          Musst du @stimezo fragen, vielleicht stellt er sie Online.

                          Uli977 1 Reply Last reply Reply Quote 0
                          • Uli977
                            Uli977 @Scrounger last edited by

                            @Scrounger Wäre ja noch toll, wenn man ein Land seiner Wahl noch etwas detaillieren könnte.... Meinst du das geht?

                            sigi234 1 Reply Last reply Reply Quote 0
                            • Dutchman
                              Dutchman Developer Most Active Administrators @Scrounger last edited by

                              @Scrounger sagte in Test Coronavirus Statistics for ioBroker:

                              Hier noch mein IconList Widget mit Material Design Icons:

                              nice, haste lust das als widget setzt hinzuzufügen im adapter ?

                              hier ein beispiel wie wir die anderen gemacht haben :

                              https://github.com/iobroker-community-adapters/ioBroker.coronavirus-statistics/commit/df292cd56e351c6a3bed4ab93d31144b7ade1c4e

                              0 GermanBluefox committed to iobroker-community-adapters/ioBroker.coronavirus-statistics
                              Add widgets
                              1 Reply Last reply Reply Quote 0
                              • sigi234
                                sigi234 Forum Testing Most Active @Uli977 last edited by

                                @Uli977 sagte in Test Coronavirus Statistics for ioBroker:

                                @Scrounger Wäre ja noch toll, wenn man ein Land seiner Wahl noch etwas detaillieren könnte.... Meinst du das geht?

                                Screenshot (2077).png

                                Uli977 1 Reply Last reply Reply Quote 1
                                • Uli977
                                  Uli977 @sigi234 last edited by

                                  @sigi234 kannst du das exportieren?

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

                                    @Uli977 sagte in Test Coronavirus Statistics for ioBroker:

                                    @sigi234 kannst du das exportieren?

                                    View_Corona_Sigi234.txt

                                    Uli977 2 Replies Last reply Reply Quote 1
                                    • Uli977
                                      Uli977 @sigi234 last edited by

                                      @sigi234 Danke! Das habe ich wohl übersehen...

                                      1 Reply Last reply Reply Quote 0
                                      • Scrounger
                                        Scrounger Developer last edited by Scrounger

                                        Sorry hab leider in dem Skript echt nen Schnitzer drin gehabt - bei North / South America ist ein Leerzeichen drin, was bei Ids nicht empfohlen ist.
                                        Bitte nehmt das folgende Skript und löscht alle DPs von North / South America.

                                        const countryJs = require("country-list-js");
                                        
                                        let selector = `[id=coronavirus-statistics.0.*.cases]`
                                        let allCountries = $(selector);
                                        
                                        // Fehlermeldung ausgeben, wenn selector kein result liefert
                                        if (allCountries.length === 0) {
                                            console.error(`no result for selector '${selector}'`)
                                        }
                                        
                                        on({ id: 'coronavirus-statistics.0.global_totals.updated', change: 'any' }, statsForContinents);
                                        
                                        function statsForContinents() {
                                            setTimeout(function () {
                                                console.log('Corona Statistik für Kontinente wird erstellt');
                                        
                                                let countryTranslator = {
                                                    // https://github.com/i-rocky/country-list-js/blob/master/data/names.json
                                                    "Vatican_City": "Vatican",
                                                    "USA": "United States",
                                                    "UK": "United Kingdom",
                                                    "UAE": "United Arab Emirates",
                                                    "US_Virgin_Islands": "U.S. Virgin Islands",
                                                    "St_Vincent_Grenadines": "Saint Vincent and the Grenadines",
                                                    "St_Barth": "Saint Barthelemy",
                                                    "S_Korea": "South Korea",
                                                    "Palestine": "Palestinian Territory",
                                                    "North_Macedonia": "Macedonia",
                                                    "Faeroe_Islands": "Faroe Islands",
                                                    "Eswatini": "Swaziland",
                                                    "Czechia": "Czech Republic",
                                                    "Congo": "Republic of the Congo",
                                                    "CAR": "Central African Republic",
                                                    "DRC": "Democratic Republic of the Congo",
                                                    "Channel_Islands": "France"                             // gehört zu Europa, deshalb Frankreich einfach vergeben
                                                }
                                        
                                                var continentsStats = {};
                                                countryJs.continents().forEach(function (continent, index) {
                                                    continentsStats[continent.replace(" ", "_")] = {
                                                        cases: 0,
                                                        critical: 0,
                                                        deaths: 0,
                                                        recovered: 0,
                                                        todayCases: 0,
                                                        todayDeaths: 0,
                                                    }
                                                });
                                        
                                                continentsStats['America'] = {
                                                    cases: 0,
                                                    critical: 0,
                                                    deaths: 0,
                                                    recovered: 0,
                                                    todayCases: 0,
                                                    todayDeaths: 0,
                                                };
                                        
                                                continentsStats['World'] = {
                                                    critical: 0,
                                                    todayCases: 0,
                                                    todayDeaths: 0,
                                                };
                                        
                                        
                                                for (var i = 0; i <= allCountries.length - 1; i++) {
                                                    let idCases = allCountries[i];
                                                    let idCritical = idCases.replace('.cases', '.critical');
                                                    let idDeaths = idCases.replace('.cases', '.deaths');
                                                    let idRecovered = idCases.replace('.cases', '.recovered');
                                                    let idTodayCases = idCases.replace('.cases', '.todayCases');
                                                    let idTodayDeaths = idCases.replace('.cases', '.todayDeaths');
                                        
                                                    let countryName = idCases.split('.')[2];
                                        
                                                    let country = countryJs.findByName(countryName.replace(/_/g, ' ').replace('é', 'e').replace('ç', 'c'));
                                                    if (country) {
                                                        calcStats(country);
                                                    } else {
                                                        country = countryJs.findByName(countryTranslator[countryName]);
                                                        if (country) {
                                                            calcStats(country);
                                                        } else {
                                                            if (countryName !== 'global_totals' && countryName !== 'Diamond_Princess') {
                                                                console.warn(`${countryName} nicht in gefunden. Korrekter Name muss im skript manuell hinzugefügt werden!`);
                                                            }
                                                        }
                                                    }
                                        
                                                    function calcStats(country) {
                                                        if (country.continent) {
                                                            let continent = country.continent.replace(" ", "_");
                                                            continentsStats[continent].cases = continentsStats[continent].cases + getState(idCases).val;
                                                            continentsStats[continent].critical = continentsStats[continent].critical + getState(idCritical).val;
                                                            continentsStats[continent].deaths = continentsStats[continent].deaths + getState(idDeaths).val;
                                                            continentsStats[continent].recovered = continentsStats[continent].recovered + getState(idRecovered).val;
                                                            continentsStats[continent].todayCases = continentsStats[continent].todayCases + getState(idTodayCases).val;
                                                            continentsStats[continent].todayDeaths = continentsStats[continent].todayDeaths + getState(idTodayDeaths).val;
                                        
                                                            if (country.continent === 'South America' || country.continent === 'North America') {
                                                                continentsStats['America'].cases = continentsStats['America'].cases + getState(idCases).val;
                                                                continentsStats['America'].critical = continentsStats['America'].critical + getState(idCritical).val;
                                                                continentsStats['America'].deaths = continentsStats['America'].deaths + getState(idDeaths).val;
                                                                continentsStats['America'].recovered = continentsStats['America'].recovered + getState(idRecovered).val;
                                                                continentsStats['America'].todayCases = continentsStats['America'].todayCases + getState(idTodayCases).val;
                                                                continentsStats['America'].todayDeaths = continentsStats['America'].todayDeaths + getState(idTodayDeaths).val;
                                                            }
                                        
                                                            continentsStats['World'].critical = continentsStats['World'].critical + getState(idCritical).val;
                                                            continentsStats['World'].todayCases = continentsStats['World'].todayCases + getState(idTodayCases).val;
                                                            continentsStats['World'].todayDeaths = continentsStats['World'].todayDeaths + getState(idTodayDeaths).val;
                                                        } else {
                                                            console.warn(`Für ${countryName} existiert kein Kontinent!`);
                                                        }
                                                    }
                                                }
                                        
                                                for (var continent in continentsStats) {
                                                    for (var prop in continentsStats[continent]) {
                                                        let dpId = `corona.continents.${continent}.${prop}`
                                        
                                                        if (existsState(dpId)) {
                                                            setState(dpId, continentsStats[continent][prop], true);
                                                        } else {
                                                            createState(dpId, continentsStats[continent][prop], {
                                                                name: `${continent} ${prop}`,
                                                                read: true,
                                                                write: false,
                                                                desc: `${continent} ${prop}`,
                                                                type: "number",
                                                                def: 0,
                                                            });
                                                        }
                                                    }
                                                }
                                            }, 30000);
                                        }
                                        
                                        // Bei JS Start ausführen
                                        statsForContinents();
                                        
                                        1 Reply Last reply Reply Quote 1
                                        • Uli977
                                          Uli977 @sigi234 last edited by Uli977

                                          @sigi234

                                          was ist mir hier passiert...
                                          be7f8c9b-566a-49cf-a516-364b0fa8ac95-image.png
                                          warum fehlen die daten der länder

                                          Habe das View auch nochmal neu importiert... trotzdem so....

                                          Scrounger 1 Reply Last reply Reply Quote 0
                                          • Scrounger
                                            Scrounger Developer @Uli977 last edited by

                                            @Uli977
                                            API liefert aktuell keine Daten https://coronavirus-19-api.herokuapp.com/countries

                                            Uli977 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            812
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter installation adapterentwicklung testen
                                            120
                                            1177
                                            254620
                                            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