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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Coronavirus Statistics for ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • Scrounger
      Scrounger Developer last edited by

      Hab mein Skript noch erweitert um:

      • Kontinent Amerika (Zusammenfassung von Nord- & Süd Amerika)
      • Welt, fehlende Werte für todayCases & todayDeaths

      Skript:

      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] = {
                      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'] = {
                  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) {
                          continentsStats[country.continent].cases = continentsStats[country.continent].cases + getState(idCases).val;
                          continentsStats[country.continent].critical = continentsStats[country.continent].critical + getState(idCritical).val;
                          continentsStats[country.continent].deaths = continentsStats[country.continent].deaths + getState(idDeaths).val;
                          continentsStats[country.continent].recovered = continentsStats[country.continent].recovered + getState(idRecovered).val;
                          continentsStats[country.continent].todayCases = continentsStats[country.continent].todayCases + getState(idTodayCases).val;
                          continentsStats[country.continent].todayDeaths = continentsStats[country.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'].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 0
      • Uli977
        Uli977 @sigi234 last edited by Uli977

        @sigi234 stellst du das View mal zur Verfügung?
        Inkl der nötigen Icons und ggf. Skripte wenn erforderlich.

        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 stellst du das View mal zur Verfügung?
          Inkl der nötigen Icons und ggf. Skripte wenn erforderlich.

          https://forum.iobroker.net/topic/28717/vis-von-sigi234/180

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

            @sigi234 Danke!

            Aber was habe ich vergessen?

            1f23f323-8004-4221-9194-e67b8832f98b-image.png

            vis-materialdesign.0 ist installiert

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

              @Uli977 sagte in Test Coronavirus Statistics for ioBroker:

              @sigi234 Danke!

              Aber was habe ich vergessen?

              vis-materialdesign.0 ist installiert

              Das Skript von @Scrounger ?

              Soweit ich weis baut das @Dutchman aber ein.

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

                @sigi234

                6ad5cb5c-642e-48bc-9842-c4f7c60395b2-image.png

                Wo finde ich diese Liste?

                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:

                  Wo finde ich diese lIste?

                  Das musst du im JS Adapter eintragen und Adapter neu starten!

                  Screenshot (2068)_LI.jpg

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

                    @sigi234 sagte in Test Coronavirus Statistics for ioBroker:

                    Soweit ich weis baut das @Dutchman aber ein.

                    das design, nope die sache mit den Kontinenten kommt noch

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

                      @sigi234 wieder was gelernt!

                      Aber das View ist immer noch leer...

                      af68c13b-e3fc-499c-ac34-e95bc31a7d07-image.png

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

                        @Uli977

                        Kommen die Daten an?

                        Screenshot (2070).png

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

                          @sigi234 Ja, kommen an

                          1a618ea2-2987-47b9-8647-3d92a8688afa-image.png

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

                            @Uli977

                            MD Widget Richtig installiert?

                            Screenshot (2073)_LI.jpg

                            Uli977 1 Reply Last reply Reply Quote 0
                            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            423
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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