Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Coronavirus Statistics for ioBroker

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Test Coronavirus Statistics for ioBroker

Scheduled Pinned Locked Moved Tester
adapter installationadapterentwicklungtesten
1.2k Posts 120 Posters 357.3k Views 94 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Sebastian IOS Sebastian IO

    @dutchman wollte danke sagen für die tolle Aufbereitung der Daten.

    Hab mir dadurch ein generisches javascript für die ganzen Infos progammieren können.

    Läuft unter der jarvis vis, mit einem Filter für:
    Länder
    Top5
    Bundesländer
    Kreise und Städte

    Hier mal ein paar Screens:
    corona-1-city-states.png corona-2-states.png corona-3-countries.png corona-4-top5.png

    Danke nochmal und mach weiter so!

    O Online
    O Online
    Oli
    wrote on last edited by
    #835

    @sebastian-io

    wow, sehr coole Arbeit, würde mich auch freuen, wen du das Script zu Verfügung stellen würdest :+1:

    Gruß
    Oliver

    C 1 Reply Last reply
    0
    • O Oli

      @sebastian-io

      wow, sehr coole Arbeit, würde mich auch freuen, wen du das Script zu Verfügung stellen würdest :+1:

      C Offline
      C Offline
      Coffeelover
      wrote on last edited by
      #836

      Hi @sebastian-io
      woher ziehst du die Infos zu den aktuellen Einschränkungen?
      VG

      Sebastian IOS 1 Reply Last reply
      1
      • C Coffeelover

        Hi @sebastian-io
        woher ziehst du die Infos zu den aktuellen Einschränkungen?
        VG

        Sebastian IOS Offline
        Sebastian IOS Offline
        Sebastian IO
        wrote on last edited by
        #837

        @coffeelover aus dem tollen DINA 4 Blatt Plan der Bundesregierung, was ab wann und welcher Inzidenzstufe erlaubt oder Pflicht ist. Ich prüfe ab, welcher Inzidenzwert gerade im Landkreis oder Stadt ist und dann wird die Legende eingeblendet. Habe alles in einen Mapper gepackt, so dass man das im Skript auch sehr schnell anpassen kann, falls sich was ändert.

        C 1 Reply Last reply
        0
        • Sebastian IOS Sebastian IO

          @coffeelover aus dem tollen DINA 4 Blatt Plan der Bundesregierung, was ab wann und welcher Inzidenzstufe erlaubt oder Pflicht ist. Ich prüfe ab, welcher Inzidenzwert gerade im Landkreis oder Stadt ist und dann wird die Legende eingeblendet. Habe alles in einen Mapper gepackt, so dass man das im Skript auch sehr schnell anpassen kann, falls sich was ändert.

          C Offline
          C Offline
          Coffeelover
          wrote on last edited by
          #838

          @sebastian-io D.h. mit Hilfe deines Scripts werden auch diese Infos in Datenpunkte geschrieben, die ich in VIS nutzen könnte? Dann würde ich mich darüber auch sehr freuen.

          Sebastian IOS 1 Reply Last reply
          0
          • C Coffeelover

            @sebastian-io D.h. mit Hilfe deines Scripts werden auch diese Infos in Datenpunkte geschrieben, die ich in VIS nutzen könnte? Dann würde ich mich darüber auch sehr freuen.

            Sebastian IOS Offline
            Sebastian IOS Offline
            Sebastian IO
            wrote on last edited by
            #839

            Script zum Auslesen der corona statistik für jarvis visualisierung

            Mein Setup für jarvis zur Darstellung

            Für die Filter Statelist horizontal
            Für die Ausgabe customHtml
            Für das Aufbereiten des Designs in den Einstellungen Styles (pro)

            das Script wird im javascript adapter hinterlegt:

            const moment = require("moment");
            
            //Datumsformat
            moment.locale('de');
            let fRkiFaktor = 1.00443;
            
            /****** DATENPUNKTE MÜSSEN ERSTELLT WERDEN (Name Pfad frei konfigurierbar)  **********/
            /**role html, type string (Typ = Zeichenkette)  */
            let coronaHtmlDp = '0_userdata.0.vis.jarvis.coronahtml';
            
            // verwendet in function write_corona_stats() und für die Aktivierung der Eventlistener
            /**role switch, type boolean (Typ = Logikwert) */
            /**FILTER: setze den Wert auf false und der ausgewählte Datenpunkt wird nicht angezeigt */
            let filterDp = {
                'states': '0_userdata.0.vis.jarvis.corona.filter.bundeslaender',
                'cities': '0_userdata.0.vis.jarvis.corona.filter.cities',
                'countries': '0_userdata.0.vis.jarvis.corona.filter.countries',
                'top5': '0_userdata.0.vis.jarvis.corona.filter.top5stats',
            }
            /******ENDE DATENPUNKTE MÜSSEN ERSTELLT WERDEN **********/
            
            let countrySelector = '[id=coronavirus-statistics.0.*.population]';
            let oListCountry = $(countrySelector);
            
            let stateSelector = '[id=coronavirus-statistics.0.Germany.Bundesland.*.cases]';
            let oListState = $(stateSelector);
            
            let kreisSelector = '[id=coronavirus-statistics.0.Germany.Kreis.*.BL]';
            let oListKreis = $(kreisSelector);
            
            let stadtSelector = '[id=coronavirus-statistics.0.Germany.Stadt.*.BL]';
            let oListStadt = $(stadtSelector);
            
            //Mapper für Länder und Statistiken top5 und weltweit (nicht benötigte Datenpunkte können auskommentiert werden)
            let oSchemeCountry = {
                'updated': { 'title': 'zuletzt aktualisiert', 'format': 'datetime' },
                'population': { 'title': 'Einwohnerzahl', 'format': 'int' },
                'cases': { 'title': 'Fälle gesamt', 'format': 'int' },
                'active': { 'title': 'Aktuell infiziert', 'format': 'int' },
                'critical': { 'title': 'Im kritischen Zustand', 'format': 'int' },
                'recovered': { 'title': 'Genesene', 'format': 'int' },
                'tests': { 'title': 'Testungen', 'format': 'int' },
                'deaths': { 'title': 'Todesfälle', 'format': 'int' },
                'todayCases': { 'title': 'Heute neu infiziert', 'format': 'int' },
                'todayDeaths': { 'title': 'Heute Todesfälle', 'format': 'int' },
                'todayRecovered': { 'title': 'Heute Genesene', 'format': 'int' },
            };
            
            //Mapper für Bundesländer (nicht benötigte Datenpunkte können auskommentiert werden)
            let oSchemeState = {
                'updated': { 'title': 'zuletzt aktualisiert', 'format': 'datetime' },
                'cases': { 'title': ' COVID-19 Fälle gesamt', 'format': 'int' },
                'cases7_per_100k': { 'title': '7-Tage-Inzidenz', 'format': 'float' },
                'deaths': { 'title': 'COVID-19 Todesfälle', 'format': 'int' },
            
            };
            
            //Mapper für Stadt und Kreise (nicht benötigte Datenpunkte können auskommentiert werden)
            // hat ein title den Eintrag object wird der Name des Datenpunktes verwendet
            let oScheme = {
                'BL': { 'title': 'object', 'format': 'string' },
                'cases': { 'title': 'COVID-19 Fälle gesamt', 'format': 'int' },
                // 'cases_per_100k': { 'title': 'object', 'format': 'float' },
                // 'cases_per_population': { 'title': 'object', 'format': 'float' },
                // 'death_rate': { 'title': 'object', 'format': 'float' },
                'deaths': { 'title': 'COVID-19 Todesfälle', 'format': 'int' },
                'cases7_per_100k': { 'title': '7-Tage-Inzidenz', 'format': 'float' },
            };
            
            //Mapper für grafische Darstellung 7-Tages-Inzidenz verwendet in function calcGefahrInzidenz()
            let oScheme7Tg = {
                'ok': { 'title': 'Status ok', 'bgcolor': 'green', 'color': '#fff' },//wert 0 - 35
                'critical': { 'title': 'Status kritisch', 'bgcolor': 'orange', 'color': '#fff' }, //wert 35 - 50
                'high': { 'title': 'Status hoch', 'bgcolor': 'red', 'color': '#fff' }, // 50 - 100
                'veryhigh': { 'title': 'Status sehr hoch Notbremse aktiviert', 'bgcolor': 'darkred', 'color': '#fff' }// > 100
            };
            
            //Mapper für erlaubte Dinge 7-Tages-Inzidenz verwendet in function calcGefahrInzidenz()
            let oSchemeAllowed = {
                'ok': [// 0 - 35
                    { 'title': 'Privat', 'descr': '3 Haushalte max. zehn Personen, Kinder bis 14 Jahre nicht mitgezählt' },
                    { 'title': 'Geschäfte', 'descr': 'Einzelhandel mit kontrollierten Einlass' },
                    { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten' },
                    { 'title': 'Sport', 'descr': 'Außensport kontaktfrei (max. 10 Personen)' },
                    { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                ],
                'critical': [ // 35 - 50
                    { 'title': 'Privat', 'descr': 'Max 5 Personen aus zwei Haushalten, Kinder bis 14 Jahre nicht mitgezählt' },
                    { 'title': 'Geschäfte', 'descr': 'Einzelhandel mit kontrollierten Einlass' },
                    { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten' },
                    { 'title': 'Sport', 'descr': 'Außensport kontaktfrei (max. 10 Personen)' },
                    { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                ],
                'high': [ // 50 - 100
                    { 'title': 'Privat', 'descr': 'Max 5 Personen aus zwei Haushalten, Kinder bis 14 Jahre nicht mitgezählt' },
                    { 'title': 'Geschäfte', 'descr': 'Einzelhandel Click & Collect oder Click & Meet (40 Quadratmeter pro Person), Kontaktdatenerhebung' },
                    { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten nur mit Terminbuchung' },
                    { 'title': 'Sport', 'descr': 'Individualsport außen, max 5 Personen aus 2 Haushalten' },
                    { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                ],
                'veryhigh': [ // > 100
                    { 'title': 'Privat', 'descr': 'ein Haushalt und eine weitere Person, nächtliche Ausgangssperre' },
                    { 'title': 'Geschäfte', 'descr': 'Einzelhandel geschlossen' },
                    { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten geschlossen' },
                    { 'title': 'Sport', 'descr': 'Individualsport nur allein' },
                    { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                    { 'title': 'Kindergärten und Kitas', 'descr': 'geschlossen, nur Notbetreuung' },
                    { 'title': 'Schulen', 'descr': 'nur Distanzunterricht' },
                ],
            };
            
            //Mapper für Legende Landkreise und Städte
            let oSchemeLegende = {
                'city': [
                    { 'title': 'Hinweis', 'descr': 'Zudem gilt die sogenannte Notbremse: Steigt die 7-Tage-Inzidenz pro 100.000 Einwohner an drei aufeinander folgenden Tagen in einem Landkreis oder einer kreisfreien Stadt über 100, treten die Regeln, die vor dem 8. März gegolten hatten, wieder in Kraft.' }
                ],
            };
            
            //Eventlistener for filter 
            for (const [key, dp] of Object.entries(filterDp)) {
                on({ id: dp }, write_corona_stats);
            };
            
            write_corona_stats();
            
            function write_corona_stats() {
                try {
            
                    let sStateOut = '';
                    let sOutSumGermany = '';
                    //Liste ausgewählter Bundesländer
                    var calcInzidenzSum = 0.00;
                    if (oListState.length > 0) {
                        let bShowStates = getState(filterDp.states).val;
                        sStateOut = '<div class="co-container states">';
            
                        oListState.each((item, index) => {
                            let iStateID = item.replace('.cases', '');
                            if (bShowStates === true) {
                                let sStateName = iStateID.replace('coronavirus-statistics.0.Germany.Bundesland.', '');
                                sStateOut += '<div class="co-container"><div class="co-heading state">' + sStateName + '</div>';
                            }
                            for (const [key, dp] of Object.entries(oSchemeState)) {
                                if (bShowStates === true) {
                                    sStateOut += builElements(key, dp, iStateID, false, '');
                                }
                                if (key === 'cases7_per_100k') {
                                    calcInzidenzSum += parseFloat(getState(iStateID + '.' + key).val);
                                }
                            }//End for
                            if (bShowStates === true) {
                                sStateOut += '</div>';
                            }
                        });
            
                        if (oListState.length === 16) {
                            let calc7IndDe = (calcInzidenzSum / oListState.length * fRkiFaktor);
                            let fCalc7IndDe = calc7IndDe.toFixed(2);
                            let sCalc7IndDe = number_format(calc7IndDe, 2, ',', '.');
            
                            let oReturn = calcGefahrInzidenz(fCalc7IndDe, sCalc7IndDe, false);
                            let valc7IndDe = oReturn.val;
            
                            sOutSumGermany = '<div class="co-entry de-7-inz horizontal"><div class="co-descr">7-Tage-Inzidenz</div><div class="co-val">' + valc7IndDe + '</div></div>';
                        }
                        sStateOut += '</div>';
                    }
            
                    //Liste ausgewählter Länder
                    let sCountryOut = '';
                    if (oListCountry.length > 0) {
                        let bShowTop5 = getState(filterDp.top5).val;
                        let bCountries = getState(filterDp.countries).val;
                        //only countries
                        if (bCountries === true) {
                            sCountryOut = '<div class="co-container countries">';
                            oListCountry.each((item, index) => {
                                let iCountryID = item.replace('.population', '');
                                if ((iCountryID.indexOf("country_Top_5") === -1 && iCountryID.indexOf("global_totals") === -1)) {
                                    let sCountryName = iCountryID.replace('coronavirus-statistics.0.', '');
                                    let sFlag = '<img class="co-flag" src="' + getState(iCountryID + '.flag').val + '"> ';
                                    let sCountryNameTrans = sFlag + sCountryName;
            
                                    if (sCountryName === 'Germany') {
                                        sCountryNameTrans = sFlag + 'Deutschland';
                                    }
                                    sCountryOut += '<div class="co-container country"><div class="co-heading country">' + sCountryNameTrans + '</div>';
            
                                    for (const [key, dp] of Object.entries(oSchemeCountry)) {
                                        sCountryOut += builElements(key, dp, iCountryID, false, 'horizontal');
                                    }//End for
            
                                    if (sCountryName === 'Germany') {
                                        sCountryOut += sOutSumGermany;
                                    }
                                    sCountryOut += '</div>';
                                }
                            });
                            sCountryOut += '</div>';
                        }
            
                        //only stats
                        if (bShowTop5 === true) {
                            sCountryOut += '<div class="co-container stats">';
                            oListCountry.each((item, index) => {
                                let iCountryID = item.replace('.population', '');
                                if (iCountryID.indexOf("country_Top_5") > -1 || iCountryID.indexOf("global_totals") > -1) {
                                    let sCountryName = iCountryID.replace('coronavirus-statistics.0.', '');
                                    let sFlag = '';
                                    if (iCountryID.indexOf("global_totals") === -1) {
                                        sFlag = '<img class="co-flag" src="' + getState(iCountryID + '.flag').val + '"> ';
                                    }
                                    let sCountryNameTrans = sFlag + sCountryName;
            
                                    if (sCountryName.indexOf("country_Top_5") > -1) {
                                        let obj = getObject(iCountryID);
                                        sCountryNameTrans = sFlag + obj.common.name;
                                    } else if (sCountryName.indexOf("global_totals") > -1) {
                                        sCountryNameTrans = 'Weltweit gesamt';
                                    }
                                    sCountryOut += '<div class="co-container country"><div class="co-heading stats">' + sCountryNameTrans + '</div>';
            
                                    for (const [key, dp] of Object.entries(oSchemeCountry)) {
                                        sCountryOut += builElements(key, dp, iCountryID, false, '');
                                    }//End for
            
                                    sCountryOut += '</div>';
                                }
                            });
                            sCountryOut += '</div>';
                        }
                    }
            
                    //Liste Landkreise
                    let sCityCountiesOut = '';
                    if (oListKreis.length > 0 && getState(filterDp.cities).val === true) {
            
                        oListKreis.each((item, index) => {
                            let iKreisID = item.replace('.BL', '');
                            let sKreisName = iKreisID.replace('coronavirus-statistics.0.Germany.Kreis.', '');
                            sCityCountiesOut += '<div class="co-container"><div class="co-heading county">' + 'Kreis ' + sKreisName + '</div>';
            
                            for (const [key, dp] of Object.entries(oScheme)) {
                                sCityCountiesOut += builElements(key, dp, iKreisID, true, '');
                            }//End for
            
                            sCityCountiesOut += '</div>';
                        });//end each
                    }
            
                    //Liste kreisfreie Städte
                    if (oListStadt.length > 0 && getState(filterDp.cities).val === true) {
                        oListStadt.each((item, index) => {
                            let iStadtID = item.replace('.BL', '');
                            let sStadtName = iStadtID.replace('coronavirus-statistics.0.Germany.Stadt.', '');
                            sCityCountiesOut += '<div class="co-container"><div class="co-heading city">' + 'Stadt ' + sStadtName + '</div>';
            
                            for (const [key, dp] of Object.entries(oScheme)) {
                                sCityCountiesOut += builElements(key, dp, iStadtID, true, '');
                            }//End for
            
                            sCityCountiesOut += '</div>';
                        });//end each
                    }
            
                    if (sCityCountiesOut !== '') {
                        let sLegende = '<div class="co-legende">';
                        for (const [key, element] of Object.entries(oSchemeLegende.city)) {
                            sLegende += '<b>' + element.title + '</b>: ' + element.descr;
                        };
                        sLegende += '</div>';
                        sCityCountiesOut = '<div class="co-container cities-counties">' + sCityCountiesOut + sLegende + '</div>';
                    }
            
                    var sHtml = '<div class="co-overview">';
                    sHtml += sCountryOut + sStateOut + sCityCountiesOut;
            
                    setState(coronaHtmlDp, sHtml);
            
                } catch (err) {
                    console.error('[CoronaStatus] error: ' + err.message + ', stack: ' + err.stack);
                }
            }
            
            function builElements(key, dp, dpId, bAllow, cssClass) {
                let descr = '';
                let val = '';
                let sList = '';
                let sOut = '';
            
                if (dp.title === 'object') {
                    let obj = getObject(dpId + '.' + key);
                    descr = obj.common.name;
                } else {
                    descr = dp.title
                }
            
                if (dp.format === 'string') {
                    val = getState(dpId + '.' + key).val;
                } else if (dp.format === 'datetime') {
                    let valDate = getState(dpId + '.' + key).val;
                    val = moment(valDate).format('DD.MM.YYYY HH:mm');
                } else if (dp.format === 'int') {
                    val = getState(dpId + '.' + key).val;
                    val = number_format(val, 0, '', '.');
                } else if (dp.format === 'float') {
                    let fVal = parseFloat(getState(dpId + '.' + key).val).toFixed(2);
                    val = number_format(fVal, 2, ',', '.');
                    if (key === 'cases7_per_100k') {
                        let oReturn = calcGefahrInzidenz(fVal, val, bAllow);
                        val = oReturn.val;
                        sList = (oReturn.list !== '') ? '<div class="co-allowed-list">' + oReturn.list + '</div>' : '';
                    }
                }
            
                sOut = '<div class="co-entry co-dp-' + key + ' ' + cssClass + '"><div class="co-descr">' + descr + '</div><div class="co-val">' + val + '</div></div>';
            
                if (sList !== '') {
                    sOut += sList;
                }
            
                return sOut;
            }
            
            function calcGefahrInzidenz(fVal, sVal, isAllowed) {
                let iVal = parseInt(fVal);
                let val = '';
                let sListAllowed = '';
            
                if (iVal < 35) {
                    val = '<span class="badge" title="' + oScheme7Tg.ok.title + '" style="background-color:' + oScheme7Tg.ok.bgcolor + ';color:' + oScheme7Tg.ok.color + ';">' + sVal + '</span>';
                    if (isAllowed === true) {
                        sListAllowed = '<ul class="co-list">';
                        for (const [key, element] of Object.entries(oSchemeAllowed.ok)) {
                            sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                        };
                        sListAllowed += '</ul>';
                    }
                } else if (iVal >= 35 && iVal < 50) {
                    val = '<span class="badge" title="' + oScheme7Tg.critical.title + '" style="background-color:' + oScheme7Tg.critical.bgcolor + ';color:' + oScheme7Tg.critical.color + ';">' + sVal + '</span>';
                    if (isAllowed === true) {
                        sListAllowed = '<ul class="co-list">';
                        for (const [key, element] of Object.entries(oSchemeAllowed.critical)) {
                            sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                        };
                        sListAllowed += '</ul>';
                    }
                } else if (iVal >= 50 && iVal < 100) {
                    val = '<span class="badge" title="' + oScheme7Tg.high.title + '" style="background-color:' + oScheme7Tg.high.bgcolor + ';color:' + oScheme7Tg.high.color + ';">' + sVal + '</span>';
                    if (isAllowed === true) {
                        sListAllowed = '<ul class="co-list">';
                        for (const [key, element] of Object.entries(oSchemeAllowed.high)) {
                            sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                        };
                        sListAllowed += '</ul>';
                    }
                } else if (iVal >= 100) {
                    val = '<span class="badge" title="' + oScheme7Tg.veryhigh.title + '" style="background-color:' + oScheme7Tg.veryhigh.bgcolor + ';color:' + oScheme7Tg.veryhigh.color + ';">' + sVal + '</span>';
                    if (isAllowed === true) {
                        sListAllowed = '<ul class="co-list">';
                        for (const [key, element] of Object.entries(oSchemeAllowed.veryhigh)) {
                            sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                        };
                        sListAllowed += '</ul>';
                    }
                }
                let oReturn = { 'val': val, 'list': sListAllowed };
            
                return oReturn;
            }
            
            //taken from https://gist.github.com/VassilisPallas/d73632e9de4794b7dd10b7408f7948e8/bf17eccef8521b4e5869bdc6a5b09a771356fbff
            function number_format(intFloatNumber, decimals, dec_point, thousands_point) {
            
                if (intFloatNumber == null || !isFinite(intFloatNumber)) {
                    throw new TypeError("number is not valid");
                }
            
                if (!decimals) {
                    let len = intFloatNumber.toString().split('.').length;
                    decimals = len > 1 ? len : 0;
                }
            
                dec_point = (!dec_point) ? '.' : dec_point;
                thousands_point = (!thousands_point) ? '.' : thousands_point;
            
                intFloatNumber = parseFloat(intFloatNumber).toFixed(decimals);
                intFloatNumber = intFloatNumber.replace(".", dec_point);
            
                var splitNum = intFloatNumber.split(dec_point);
                splitNum[0] = splitNum[0].replace(/\B(?=(\d{3})+(?!\d))/g, thousands_point);
                intFloatNumber = splitNum.join(dec_point);
            
                return intFloatNumber;
            }
            
            

            Das erforderliche Css für das Design:

            /*corona*/
            .co-overview{
            position: relative;
            width: 100% ;
            display: inline-block;
            box-sizing:border-box;
            }
            
            .co-container{
            position: relative;
            width: calc(25% - 20px);
            display: inline-block;
            box-sizing:border-box;
            margin:10px;
            vertical-align:text-top;
            background-color:#f4f4f4;
            border-radius:8px;
            
            }
            
            .co-container.stats,
            .co-container.cities-counties,
            .co-container.countries,
            .co-container.states{
            width: 100%;
            background-color:#fff;
            margin:0;
            padding:0;
            }
            
            .co-container.stats .co-container{
            width:calc(33.333% - 20px);
            margin:10px;
            }
            
            .co-container.stats .co-container,
            .co-container.countries .co-container,
            .co-container.cities-counties .co-container,
            .co-container.states .co-container{
            box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);
            background-color:#fff;
            }
            
            
            .co-container.country{
            width: calc(100% - 20px);
            }
            .co-legende{
            width: calc(100% - 20px);
            padding: 10px;
            background: #FFCCBC;
            position: relative;
            margin-left: 10px;
            box-sizing: border-box;
            border-radius:8px;
            box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);
            margin-bottom: 10px;
            margin-top:10px;
            }
            
            .co-heading{
            position: relative;
            width: 100%;
            display: inline-block;
            font-weight:bold;
            padding: 0 5px;
            box-sizing: border-box;
            }
            
            .co-heading.stats,
            .co-heading.country,
            .co-heading.county,
            .co-heading.city,
            .co-heading.state{
            background: #2196F3;
            font-size: 14px;
            line-height: 35px;
            color: #fff;
            font-weight: normal;
            border-top-left-radius: 8px;
            border-top-right-radius: 8px;
            }
            
            .co-heading.stats{
            background:#F57C00;
            }
            .co-heading.country{
            background:#880E4F;
            }
            
            .co-heading.county,
            .co-heading.city{
            background: #00796B;
            }
            
            img.co-flag{
            height:15px;
            width:auto;
            }
            .co-entry{
            position: relative;
            width: 100%;
            display: inline-block;
            padding: 0 10px;
            box-sizing:border-box;
            }
            
            
            .co-entry .badge{
            font-size:12px;
            padding: 0px 4px;
            border-radius: 4px;
            }
            .co-descr{
            position: relative;
            width: 60%;
            display: inline-block;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            }
            .co-val{
            position: relative;
            width: 40%;
            display: inline-block;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            text-align:right;
            }
            
            .co-container.states .co-entry.co-dp-updated,
            .co-container.stats .co-entry.co-dp-updated{
            font-size:11px;
            }
            .co-container.countries .co-entry.co-dp-updated.horizontal{
            font-size:14px;
            }
            
            .co-entry.horizontal{
            width: calc(16.6666% - 20px);
            margin: 17px 10px;
            background:#fff;
            border-radius:8px;
            padding:0;
            box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);
            }
            
            .co-entry.horizontal .co-descr,
            .co-entry.horizontal .co-val{
            width:100%;
            text-align:center;
            }
            .co-entry.horizontal .co-val{
            font-weight:bold;
            }
            .co-entry.horizontal .co-descr{
            background: #880E4F;
            font-size: 14px;
            line-height: 35px;
            color: #fff;
            font-weight: normal;
            border-top-left-radius: 8px;
            border-top-right-radius: 8px;
            }
            
            .co-allowed-list{
            position: relative;
            width: 100%;
            display: inline-block;
            padding: 10px;
            background-color: #EAEAB9;
            border-bottom-left-radius: 8px;
            box-sizing: border-box;
            margin-top: 10px;
            border-bottom-right-radius: 8px;
            }
            .co-list{
            margin:0;
            padding:0;
            list-style:none;
            position:relative;
            width:100%;
            display:inline-block;
            }
            
            .co-list li{
            position:relative;
            width:100%;
            font-size:14px;
            line-height:18px;
            marign-bottom:4px;
            }
            
            /*corona*/
            @media (max-width: 768px) {
            .co-container.stats .co-container {
                width: calc(50% - 20px);
            }
            .co-container{
            width: calc(50% - 20px);
            }
            }
            @media (max-width: 536px) {
            
            .co-container{
            width: calc(100% - 20px);
            }
            
            .co-container.stats .co-container {
                width: calc(100% - 20px);
            }
            .co-entry.horizontal {
                width: calc(50% - 20px);
            }
            }
            
            

            Have fun!

            sigi234S ? 2 Replies Last reply
            3
            • Sebastian IOS Sebastian IO

              Script zum Auslesen der corona statistik für jarvis visualisierung

              Mein Setup für jarvis zur Darstellung

              Für die Filter Statelist horizontal
              Für die Ausgabe customHtml
              Für das Aufbereiten des Designs in den Einstellungen Styles (pro)

              das Script wird im javascript adapter hinterlegt:

              const moment = require("moment");
              
              //Datumsformat
              moment.locale('de');
              let fRkiFaktor = 1.00443;
              
              /****** DATENPUNKTE MÜSSEN ERSTELLT WERDEN (Name Pfad frei konfigurierbar)  **********/
              /**role html, type string (Typ = Zeichenkette)  */
              let coronaHtmlDp = '0_userdata.0.vis.jarvis.coronahtml';
              
              // verwendet in function write_corona_stats() und für die Aktivierung der Eventlistener
              /**role switch, type boolean (Typ = Logikwert) */
              /**FILTER: setze den Wert auf false und der ausgewählte Datenpunkt wird nicht angezeigt */
              let filterDp = {
                  'states': '0_userdata.0.vis.jarvis.corona.filter.bundeslaender',
                  'cities': '0_userdata.0.vis.jarvis.corona.filter.cities',
                  'countries': '0_userdata.0.vis.jarvis.corona.filter.countries',
                  'top5': '0_userdata.0.vis.jarvis.corona.filter.top5stats',
              }
              /******ENDE DATENPUNKTE MÜSSEN ERSTELLT WERDEN **********/
              
              let countrySelector = '[id=coronavirus-statistics.0.*.population]';
              let oListCountry = $(countrySelector);
              
              let stateSelector = '[id=coronavirus-statistics.0.Germany.Bundesland.*.cases]';
              let oListState = $(stateSelector);
              
              let kreisSelector = '[id=coronavirus-statistics.0.Germany.Kreis.*.BL]';
              let oListKreis = $(kreisSelector);
              
              let stadtSelector = '[id=coronavirus-statistics.0.Germany.Stadt.*.BL]';
              let oListStadt = $(stadtSelector);
              
              //Mapper für Länder und Statistiken top5 und weltweit (nicht benötigte Datenpunkte können auskommentiert werden)
              let oSchemeCountry = {
                  'updated': { 'title': 'zuletzt aktualisiert', 'format': 'datetime' },
                  'population': { 'title': 'Einwohnerzahl', 'format': 'int' },
                  'cases': { 'title': 'Fälle gesamt', 'format': 'int' },
                  'active': { 'title': 'Aktuell infiziert', 'format': 'int' },
                  'critical': { 'title': 'Im kritischen Zustand', 'format': 'int' },
                  'recovered': { 'title': 'Genesene', 'format': 'int' },
                  'tests': { 'title': 'Testungen', 'format': 'int' },
                  'deaths': { 'title': 'Todesfälle', 'format': 'int' },
                  'todayCases': { 'title': 'Heute neu infiziert', 'format': 'int' },
                  'todayDeaths': { 'title': 'Heute Todesfälle', 'format': 'int' },
                  'todayRecovered': { 'title': 'Heute Genesene', 'format': 'int' },
              };
              
              //Mapper für Bundesländer (nicht benötigte Datenpunkte können auskommentiert werden)
              let oSchemeState = {
                  'updated': { 'title': 'zuletzt aktualisiert', 'format': 'datetime' },
                  'cases': { 'title': ' COVID-19 Fälle gesamt', 'format': 'int' },
                  'cases7_per_100k': { 'title': '7-Tage-Inzidenz', 'format': 'float' },
                  'deaths': { 'title': 'COVID-19 Todesfälle', 'format': 'int' },
              
              };
              
              //Mapper für Stadt und Kreise (nicht benötigte Datenpunkte können auskommentiert werden)
              // hat ein title den Eintrag object wird der Name des Datenpunktes verwendet
              let oScheme = {
                  'BL': { 'title': 'object', 'format': 'string' },
                  'cases': { 'title': 'COVID-19 Fälle gesamt', 'format': 'int' },
                  // 'cases_per_100k': { 'title': 'object', 'format': 'float' },
                  // 'cases_per_population': { 'title': 'object', 'format': 'float' },
                  // 'death_rate': { 'title': 'object', 'format': 'float' },
                  'deaths': { 'title': 'COVID-19 Todesfälle', 'format': 'int' },
                  'cases7_per_100k': { 'title': '7-Tage-Inzidenz', 'format': 'float' },
              };
              
              //Mapper für grafische Darstellung 7-Tages-Inzidenz verwendet in function calcGefahrInzidenz()
              let oScheme7Tg = {
                  'ok': { 'title': 'Status ok', 'bgcolor': 'green', 'color': '#fff' },//wert 0 - 35
                  'critical': { 'title': 'Status kritisch', 'bgcolor': 'orange', 'color': '#fff' }, //wert 35 - 50
                  'high': { 'title': 'Status hoch', 'bgcolor': 'red', 'color': '#fff' }, // 50 - 100
                  'veryhigh': { 'title': 'Status sehr hoch Notbremse aktiviert', 'bgcolor': 'darkred', 'color': '#fff' }// > 100
              };
              
              //Mapper für erlaubte Dinge 7-Tages-Inzidenz verwendet in function calcGefahrInzidenz()
              let oSchemeAllowed = {
                  'ok': [// 0 - 35
                      { 'title': 'Privat', 'descr': '3 Haushalte max. zehn Personen, Kinder bis 14 Jahre nicht mitgezählt' },
                      { 'title': 'Geschäfte', 'descr': 'Einzelhandel mit kontrollierten Einlass' },
                      { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten' },
                      { 'title': 'Sport', 'descr': 'Außensport kontaktfrei (max. 10 Personen)' },
                      { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                  ],
                  'critical': [ // 35 - 50
                      { 'title': 'Privat', 'descr': 'Max 5 Personen aus zwei Haushalten, Kinder bis 14 Jahre nicht mitgezählt' },
                      { 'title': 'Geschäfte', 'descr': 'Einzelhandel mit kontrollierten Einlass' },
                      { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten' },
                      { 'title': 'Sport', 'descr': 'Außensport kontaktfrei (max. 10 Personen)' },
                      { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                  ],
                  'high': [ // 50 - 100
                      { 'title': 'Privat', 'descr': 'Max 5 Personen aus zwei Haushalten, Kinder bis 14 Jahre nicht mitgezählt' },
                      { 'title': 'Geschäfte', 'descr': 'Einzelhandel Click & Collect oder Click & Meet (40 Quadratmeter pro Person), Kontaktdatenerhebung' },
                      { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten nur mit Terminbuchung' },
                      { 'title': 'Sport', 'descr': 'Individualsport außen, max 5 Personen aus 2 Haushalten' },
                      { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                  ],
                  'veryhigh': [ // > 100
                      { 'title': 'Privat', 'descr': 'ein Haushalt und eine weitere Person, nächtliche Ausgangssperre' },
                      { 'title': 'Geschäfte', 'descr': 'Einzelhandel geschlossen' },
                      { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten geschlossen' },
                      { 'title': 'Sport', 'descr': 'Individualsport nur allein' },
                      { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                      { 'title': 'Kindergärten und Kitas', 'descr': 'geschlossen, nur Notbetreuung' },
                      { 'title': 'Schulen', 'descr': 'nur Distanzunterricht' },
                  ],
              };
              
              //Mapper für Legende Landkreise und Städte
              let oSchemeLegende = {
                  'city': [
                      { 'title': 'Hinweis', 'descr': 'Zudem gilt die sogenannte Notbremse: Steigt die 7-Tage-Inzidenz pro 100.000 Einwohner an drei aufeinander folgenden Tagen in einem Landkreis oder einer kreisfreien Stadt über 100, treten die Regeln, die vor dem 8. März gegolten hatten, wieder in Kraft.' }
                  ],
              };
              
              //Eventlistener for filter 
              for (const [key, dp] of Object.entries(filterDp)) {
                  on({ id: dp }, write_corona_stats);
              };
              
              write_corona_stats();
              
              function write_corona_stats() {
                  try {
              
                      let sStateOut = '';
                      let sOutSumGermany = '';
                      //Liste ausgewählter Bundesländer
                      var calcInzidenzSum = 0.00;
                      if (oListState.length > 0) {
                          let bShowStates = getState(filterDp.states).val;
                          sStateOut = '<div class="co-container states">';
              
                          oListState.each((item, index) => {
                              let iStateID = item.replace('.cases', '');
                              if (bShowStates === true) {
                                  let sStateName = iStateID.replace('coronavirus-statistics.0.Germany.Bundesland.', '');
                                  sStateOut += '<div class="co-container"><div class="co-heading state">' + sStateName + '</div>';
                              }
                              for (const [key, dp] of Object.entries(oSchemeState)) {
                                  if (bShowStates === true) {
                                      sStateOut += builElements(key, dp, iStateID, false, '');
                                  }
                                  if (key === 'cases7_per_100k') {
                                      calcInzidenzSum += parseFloat(getState(iStateID + '.' + key).val);
                                  }
                              }//End for
                              if (bShowStates === true) {
                                  sStateOut += '</div>';
                              }
                          });
              
                          if (oListState.length === 16) {
                              let calc7IndDe = (calcInzidenzSum / oListState.length * fRkiFaktor);
                              let fCalc7IndDe = calc7IndDe.toFixed(2);
                              let sCalc7IndDe = number_format(calc7IndDe, 2, ',', '.');
              
                              let oReturn = calcGefahrInzidenz(fCalc7IndDe, sCalc7IndDe, false);
                              let valc7IndDe = oReturn.val;
              
                              sOutSumGermany = '<div class="co-entry de-7-inz horizontal"><div class="co-descr">7-Tage-Inzidenz</div><div class="co-val">' + valc7IndDe + '</div></div>';
                          }
                          sStateOut += '</div>';
                      }
              
                      //Liste ausgewählter Länder
                      let sCountryOut = '';
                      if (oListCountry.length > 0) {
                          let bShowTop5 = getState(filterDp.top5).val;
                          let bCountries = getState(filterDp.countries).val;
                          //only countries
                          if (bCountries === true) {
                              sCountryOut = '<div class="co-container countries">';
                              oListCountry.each((item, index) => {
                                  let iCountryID = item.replace('.population', '');
                                  if ((iCountryID.indexOf("country_Top_5") === -1 && iCountryID.indexOf("global_totals") === -1)) {
                                      let sCountryName = iCountryID.replace('coronavirus-statistics.0.', '');
                                      let sFlag = '<img class="co-flag" src="' + getState(iCountryID + '.flag').val + '"> ';
                                      let sCountryNameTrans = sFlag + sCountryName;
              
                                      if (sCountryName === 'Germany') {
                                          sCountryNameTrans = sFlag + 'Deutschland';
                                      }
                                      sCountryOut += '<div class="co-container country"><div class="co-heading country">' + sCountryNameTrans + '</div>';
              
                                      for (const [key, dp] of Object.entries(oSchemeCountry)) {
                                          sCountryOut += builElements(key, dp, iCountryID, false, 'horizontal');
                                      }//End for
              
                                      if (sCountryName === 'Germany') {
                                          sCountryOut += sOutSumGermany;
                                      }
                                      sCountryOut += '</div>';
                                  }
                              });
                              sCountryOut += '</div>';
                          }
              
                          //only stats
                          if (bShowTop5 === true) {
                              sCountryOut += '<div class="co-container stats">';
                              oListCountry.each((item, index) => {
                                  let iCountryID = item.replace('.population', '');
                                  if (iCountryID.indexOf("country_Top_5") > -1 || iCountryID.indexOf("global_totals") > -1) {
                                      let sCountryName = iCountryID.replace('coronavirus-statistics.0.', '');
                                      let sFlag = '';
                                      if (iCountryID.indexOf("global_totals") === -1) {
                                          sFlag = '<img class="co-flag" src="' + getState(iCountryID + '.flag').val + '"> ';
                                      }
                                      let sCountryNameTrans = sFlag + sCountryName;
              
                                      if (sCountryName.indexOf("country_Top_5") > -1) {
                                          let obj = getObject(iCountryID);
                                          sCountryNameTrans = sFlag + obj.common.name;
                                      } else if (sCountryName.indexOf("global_totals") > -1) {
                                          sCountryNameTrans = 'Weltweit gesamt';
                                      }
                                      sCountryOut += '<div class="co-container country"><div class="co-heading stats">' + sCountryNameTrans + '</div>';
              
                                      for (const [key, dp] of Object.entries(oSchemeCountry)) {
                                          sCountryOut += builElements(key, dp, iCountryID, false, '');
                                      }//End for
              
                                      sCountryOut += '</div>';
                                  }
                              });
                              sCountryOut += '</div>';
                          }
                      }
              
                      //Liste Landkreise
                      let sCityCountiesOut = '';
                      if (oListKreis.length > 0 && getState(filterDp.cities).val === true) {
              
                          oListKreis.each((item, index) => {
                              let iKreisID = item.replace('.BL', '');
                              let sKreisName = iKreisID.replace('coronavirus-statistics.0.Germany.Kreis.', '');
                              sCityCountiesOut += '<div class="co-container"><div class="co-heading county">' + 'Kreis ' + sKreisName + '</div>';
              
                              for (const [key, dp] of Object.entries(oScheme)) {
                                  sCityCountiesOut += builElements(key, dp, iKreisID, true, '');
                              }//End for
              
                              sCityCountiesOut += '</div>';
                          });//end each
                      }
              
                      //Liste kreisfreie Städte
                      if (oListStadt.length > 0 && getState(filterDp.cities).val === true) {
                          oListStadt.each((item, index) => {
                              let iStadtID = item.replace('.BL', '');
                              let sStadtName = iStadtID.replace('coronavirus-statistics.0.Germany.Stadt.', '');
                              sCityCountiesOut += '<div class="co-container"><div class="co-heading city">' + 'Stadt ' + sStadtName + '</div>';
              
                              for (const [key, dp] of Object.entries(oScheme)) {
                                  sCityCountiesOut += builElements(key, dp, iStadtID, true, '');
                              }//End for
              
                              sCityCountiesOut += '</div>';
                          });//end each
                      }
              
                      if (sCityCountiesOut !== '') {
                          let sLegende = '<div class="co-legende">';
                          for (const [key, element] of Object.entries(oSchemeLegende.city)) {
                              sLegende += '<b>' + element.title + '</b>: ' + element.descr;
                          };
                          sLegende += '</div>';
                          sCityCountiesOut = '<div class="co-container cities-counties">' + sCityCountiesOut + sLegende + '</div>';
                      }
              
                      var sHtml = '<div class="co-overview">';
                      sHtml += sCountryOut + sStateOut + sCityCountiesOut;
              
                      setState(coronaHtmlDp, sHtml);
              
                  } catch (err) {
                      console.error('[CoronaStatus] error: ' + err.message + ', stack: ' + err.stack);
                  }
              }
              
              function builElements(key, dp, dpId, bAllow, cssClass) {
                  let descr = '';
                  let val = '';
                  let sList = '';
                  let sOut = '';
              
                  if (dp.title === 'object') {
                      let obj = getObject(dpId + '.' + key);
                      descr = obj.common.name;
                  } else {
                      descr = dp.title
                  }
              
                  if (dp.format === 'string') {
                      val = getState(dpId + '.' + key).val;
                  } else if (dp.format === 'datetime') {
                      let valDate = getState(dpId + '.' + key).val;
                      val = moment(valDate).format('DD.MM.YYYY HH:mm');
                  } else if (dp.format === 'int') {
                      val = getState(dpId + '.' + key).val;
                      val = number_format(val, 0, '', '.');
                  } else if (dp.format === 'float') {
                      let fVal = parseFloat(getState(dpId + '.' + key).val).toFixed(2);
                      val = number_format(fVal, 2, ',', '.');
                      if (key === 'cases7_per_100k') {
                          let oReturn = calcGefahrInzidenz(fVal, val, bAllow);
                          val = oReturn.val;
                          sList = (oReturn.list !== '') ? '<div class="co-allowed-list">' + oReturn.list + '</div>' : '';
                      }
                  }
              
                  sOut = '<div class="co-entry co-dp-' + key + ' ' + cssClass + '"><div class="co-descr">' + descr + '</div><div class="co-val">' + val + '</div></div>';
              
                  if (sList !== '') {
                      sOut += sList;
                  }
              
                  return sOut;
              }
              
              function calcGefahrInzidenz(fVal, sVal, isAllowed) {
                  let iVal = parseInt(fVal);
                  let val = '';
                  let sListAllowed = '';
              
                  if (iVal < 35) {
                      val = '<span class="badge" title="' + oScheme7Tg.ok.title + '" style="background-color:' + oScheme7Tg.ok.bgcolor + ';color:' + oScheme7Tg.ok.color + ';">' + sVal + '</span>';
                      if (isAllowed === true) {
                          sListAllowed = '<ul class="co-list">';
                          for (const [key, element] of Object.entries(oSchemeAllowed.ok)) {
                              sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                          };
                          sListAllowed += '</ul>';
                      }
                  } else if (iVal >= 35 && iVal < 50) {
                      val = '<span class="badge" title="' + oScheme7Tg.critical.title + '" style="background-color:' + oScheme7Tg.critical.bgcolor + ';color:' + oScheme7Tg.critical.color + ';">' + sVal + '</span>';
                      if (isAllowed === true) {
                          sListAllowed = '<ul class="co-list">';
                          for (const [key, element] of Object.entries(oSchemeAllowed.critical)) {
                              sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                          };
                          sListAllowed += '</ul>';
                      }
                  } else if (iVal >= 50 && iVal < 100) {
                      val = '<span class="badge" title="' + oScheme7Tg.high.title + '" style="background-color:' + oScheme7Tg.high.bgcolor + ';color:' + oScheme7Tg.high.color + ';">' + sVal + '</span>';
                      if (isAllowed === true) {
                          sListAllowed = '<ul class="co-list">';
                          for (const [key, element] of Object.entries(oSchemeAllowed.high)) {
                              sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                          };
                          sListAllowed += '</ul>';
                      }
                  } else if (iVal >= 100) {
                      val = '<span class="badge" title="' + oScheme7Tg.veryhigh.title + '" style="background-color:' + oScheme7Tg.veryhigh.bgcolor + ';color:' + oScheme7Tg.veryhigh.color + ';">' + sVal + '</span>';
                      if (isAllowed === true) {
                          sListAllowed = '<ul class="co-list">';
                          for (const [key, element] of Object.entries(oSchemeAllowed.veryhigh)) {
                              sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                          };
                          sListAllowed += '</ul>';
                      }
                  }
                  let oReturn = { 'val': val, 'list': sListAllowed };
              
                  return oReturn;
              }
              
              //taken from https://gist.github.com/VassilisPallas/d73632e9de4794b7dd10b7408f7948e8/bf17eccef8521b4e5869bdc6a5b09a771356fbff
              function number_format(intFloatNumber, decimals, dec_point, thousands_point) {
              
                  if (intFloatNumber == null || !isFinite(intFloatNumber)) {
                      throw new TypeError("number is not valid");
                  }
              
                  if (!decimals) {
                      let len = intFloatNumber.toString().split('.').length;
                      decimals = len > 1 ? len : 0;
                  }
              
                  dec_point = (!dec_point) ? '.' : dec_point;
                  thousands_point = (!thousands_point) ? '.' : thousands_point;
              
                  intFloatNumber = parseFloat(intFloatNumber).toFixed(decimals);
                  intFloatNumber = intFloatNumber.replace(".", dec_point);
              
                  var splitNum = intFloatNumber.split(dec_point);
                  splitNum[0] = splitNum[0].replace(/\B(?=(\d{3})+(?!\d))/g, thousands_point);
                  intFloatNumber = splitNum.join(dec_point);
              
                  return intFloatNumber;
              }
              
              

              Das erforderliche Css für das Design:

              /*corona*/
              .co-overview{
              position: relative;
              width: 100% ;
              display: inline-block;
              box-sizing:border-box;
              }
              
              .co-container{
              position: relative;
              width: calc(25% - 20px);
              display: inline-block;
              box-sizing:border-box;
              margin:10px;
              vertical-align:text-top;
              background-color:#f4f4f4;
              border-radius:8px;
              
              }
              
              .co-container.stats,
              .co-container.cities-counties,
              .co-container.countries,
              .co-container.states{
              width: 100%;
              background-color:#fff;
              margin:0;
              padding:0;
              }
              
              .co-container.stats .co-container{
              width:calc(33.333% - 20px);
              margin:10px;
              }
              
              .co-container.stats .co-container,
              .co-container.countries .co-container,
              .co-container.cities-counties .co-container,
              .co-container.states .co-container{
              box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);
              background-color:#fff;
              }
              
              
              .co-container.country{
              width: calc(100% - 20px);
              }
              .co-legende{
              width: calc(100% - 20px);
              padding: 10px;
              background: #FFCCBC;
              position: relative;
              margin-left: 10px;
              box-sizing: border-box;
              border-radius:8px;
              box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);
              margin-bottom: 10px;
              margin-top:10px;
              }
              
              .co-heading{
              position: relative;
              width: 100%;
              display: inline-block;
              font-weight:bold;
              padding: 0 5px;
              box-sizing: border-box;
              }
              
              .co-heading.stats,
              .co-heading.country,
              .co-heading.county,
              .co-heading.city,
              .co-heading.state{
              background: #2196F3;
              font-size: 14px;
              line-height: 35px;
              color: #fff;
              font-weight: normal;
              border-top-left-radius: 8px;
              border-top-right-radius: 8px;
              }
              
              .co-heading.stats{
              background:#F57C00;
              }
              .co-heading.country{
              background:#880E4F;
              }
              
              .co-heading.county,
              .co-heading.city{
              background: #00796B;
              }
              
              img.co-flag{
              height:15px;
              width:auto;
              }
              .co-entry{
              position: relative;
              width: 100%;
              display: inline-block;
              padding: 0 10px;
              box-sizing:border-box;
              }
              
              
              .co-entry .badge{
              font-size:12px;
              padding: 0px 4px;
              border-radius: 4px;
              }
              .co-descr{
              position: relative;
              width: 60%;
              display: inline-block;
              overflow: hidden;
              text-overflow: ellipsis;
              white-space: nowrap;
              }
              .co-val{
              position: relative;
              width: 40%;
              display: inline-block;
              overflow: hidden;
              text-overflow: ellipsis;
              white-space: nowrap;
              text-align:right;
              }
              
              .co-container.states .co-entry.co-dp-updated,
              .co-container.stats .co-entry.co-dp-updated{
              font-size:11px;
              }
              .co-container.countries .co-entry.co-dp-updated.horizontal{
              font-size:14px;
              }
              
              .co-entry.horizontal{
              width: calc(16.6666% - 20px);
              margin: 17px 10px;
              background:#fff;
              border-radius:8px;
              padding:0;
              box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);
              }
              
              .co-entry.horizontal .co-descr,
              .co-entry.horizontal .co-val{
              width:100%;
              text-align:center;
              }
              .co-entry.horizontal .co-val{
              font-weight:bold;
              }
              .co-entry.horizontal .co-descr{
              background: #880E4F;
              font-size: 14px;
              line-height: 35px;
              color: #fff;
              font-weight: normal;
              border-top-left-radius: 8px;
              border-top-right-radius: 8px;
              }
              
              .co-allowed-list{
              position: relative;
              width: 100%;
              display: inline-block;
              padding: 10px;
              background-color: #EAEAB9;
              border-bottom-left-radius: 8px;
              box-sizing: border-box;
              margin-top: 10px;
              border-bottom-right-radius: 8px;
              }
              .co-list{
              margin:0;
              padding:0;
              list-style:none;
              position:relative;
              width:100%;
              display:inline-block;
              }
              
              .co-list li{
              position:relative;
              width:100%;
              font-size:14px;
              line-height:18px;
              marign-bottom:4px;
              }
              
              /*corona*/
              @media (max-width: 768px) {
              .co-container.stats .co-container {
                  width: calc(50% - 20px);
              }
              .co-container{
              width: calc(50% - 20px);
              }
              }
              @media (max-width: 536px) {
              
              .co-container{
              width: calc(100% - 20px);
              }
              
              .co-container.stats .co-container {
                  width: calc(100% - 20px);
              }
              .co-entry.horizontal {
                  width: calc(50% - 20px);
              }
              }
              
              

              Have fun!

              sigi234S Online
              sigi234S Online
              sigi234
              Forum Testing Most Active
              wrote on last edited by sigi234
              #840

              @sebastian-io

              Cool, alles erledigt, wie bekomme ich es jetzt in Jarvis?

              Erledigt, aber weiße Schrift auf weißen Hintergrund.

              Screenshot (3471).png

              DARK MODE eingestellt!

              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Immer Daten sichern!

              Sebastian IOS 1 Reply Last reply
              0
              • sigi234S sigi234

                @sebastian-io

                Cool, alles erledigt, wie bekomme ich es jetzt in Jarvis?

                Erledigt, aber weiße Schrift auf weißen Hintergrund.

                Screenshot (3471).png

                DARK MODE eingestellt!

                Sebastian IOS Offline
                Sebastian IOS Offline
                Sebastian IO
                wrote on last edited by
                #841

                @sigi234 du musst nun deine Farben noch in den Einstellungen Css pro anpassen, ich verwende ja das helle Design und da ist die StandardFarbe schwarz:

                Diese Anweisung suchen:

                .co-overview{
                position: relative;
                width: 100% ;
                display: inline-block;
                box-sizing:border-box;
                color:#000;
                }
                
                1 Reply Last reply
                1
                • Sebastian IOS Sebastian IO

                  Script zum Auslesen der corona statistik für jarvis visualisierung

                  Mein Setup für jarvis zur Darstellung

                  Für die Filter Statelist horizontal
                  Für die Ausgabe customHtml
                  Für das Aufbereiten des Designs in den Einstellungen Styles (pro)

                  das Script wird im javascript adapter hinterlegt:

                  const moment = require("moment");
                  
                  //Datumsformat
                  moment.locale('de');
                  let fRkiFaktor = 1.00443;
                  
                  /****** DATENPUNKTE MÜSSEN ERSTELLT WERDEN (Name Pfad frei konfigurierbar)  **********/
                  /**role html, type string (Typ = Zeichenkette)  */
                  let coronaHtmlDp = '0_userdata.0.vis.jarvis.coronahtml';
                  
                  // verwendet in function write_corona_stats() und für die Aktivierung der Eventlistener
                  /**role switch, type boolean (Typ = Logikwert) */
                  /**FILTER: setze den Wert auf false und der ausgewählte Datenpunkt wird nicht angezeigt */
                  let filterDp = {
                      'states': '0_userdata.0.vis.jarvis.corona.filter.bundeslaender',
                      'cities': '0_userdata.0.vis.jarvis.corona.filter.cities',
                      'countries': '0_userdata.0.vis.jarvis.corona.filter.countries',
                      'top5': '0_userdata.0.vis.jarvis.corona.filter.top5stats',
                  }
                  /******ENDE DATENPUNKTE MÜSSEN ERSTELLT WERDEN **********/
                  
                  let countrySelector = '[id=coronavirus-statistics.0.*.population]';
                  let oListCountry = $(countrySelector);
                  
                  let stateSelector = '[id=coronavirus-statistics.0.Germany.Bundesland.*.cases]';
                  let oListState = $(stateSelector);
                  
                  let kreisSelector = '[id=coronavirus-statistics.0.Germany.Kreis.*.BL]';
                  let oListKreis = $(kreisSelector);
                  
                  let stadtSelector = '[id=coronavirus-statistics.0.Germany.Stadt.*.BL]';
                  let oListStadt = $(stadtSelector);
                  
                  //Mapper für Länder und Statistiken top5 und weltweit (nicht benötigte Datenpunkte können auskommentiert werden)
                  let oSchemeCountry = {
                      'updated': { 'title': 'zuletzt aktualisiert', 'format': 'datetime' },
                      'population': { 'title': 'Einwohnerzahl', 'format': 'int' },
                      'cases': { 'title': 'Fälle gesamt', 'format': 'int' },
                      'active': { 'title': 'Aktuell infiziert', 'format': 'int' },
                      'critical': { 'title': 'Im kritischen Zustand', 'format': 'int' },
                      'recovered': { 'title': 'Genesene', 'format': 'int' },
                      'tests': { 'title': 'Testungen', 'format': 'int' },
                      'deaths': { 'title': 'Todesfälle', 'format': 'int' },
                      'todayCases': { 'title': 'Heute neu infiziert', 'format': 'int' },
                      'todayDeaths': { 'title': 'Heute Todesfälle', 'format': 'int' },
                      'todayRecovered': { 'title': 'Heute Genesene', 'format': 'int' },
                  };
                  
                  //Mapper für Bundesländer (nicht benötigte Datenpunkte können auskommentiert werden)
                  let oSchemeState = {
                      'updated': { 'title': 'zuletzt aktualisiert', 'format': 'datetime' },
                      'cases': { 'title': ' COVID-19 Fälle gesamt', 'format': 'int' },
                      'cases7_per_100k': { 'title': '7-Tage-Inzidenz', 'format': 'float' },
                      'deaths': { 'title': 'COVID-19 Todesfälle', 'format': 'int' },
                  
                  };
                  
                  //Mapper für Stadt und Kreise (nicht benötigte Datenpunkte können auskommentiert werden)
                  // hat ein title den Eintrag object wird der Name des Datenpunktes verwendet
                  let oScheme = {
                      'BL': { 'title': 'object', 'format': 'string' },
                      'cases': { 'title': 'COVID-19 Fälle gesamt', 'format': 'int' },
                      // 'cases_per_100k': { 'title': 'object', 'format': 'float' },
                      // 'cases_per_population': { 'title': 'object', 'format': 'float' },
                      // 'death_rate': { 'title': 'object', 'format': 'float' },
                      'deaths': { 'title': 'COVID-19 Todesfälle', 'format': 'int' },
                      'cases7_per_100k': { 'title': '7-Tage-Inzidenz', 'format': 'float' },
                  };
                  
                  //Mapper für grafische Darstellung 7-Tages-Inzidenz verwendet in function calcGefahrInzidenz()
                  let oScheme7Tg = {
                      'ok': { 'title': 'Status ok', 'bgcolor': 'green', 'color': '#fff' },//wert 0 - 35
                      'critical': { 'title': 'Status kritisch', 'bgcolor': 'orange', 'color': '#fff' }, //wert 35 - 50
                      'high': { 'title': 'Status hoch', 'bgcolor': 'red', 'color': '#fff' }, // 50 - 100
                      'veryhigh': { 'title': 'Status sehr hoch Notbremse aktiviert', 'bgcolor': 'darkred', 'color': '#fff' }// > 100
                  };
                  
                  //Mapper für erlaubte Dinge 7-Tages-Inzidenz verwendet in function calcGefahrInzidenz()
                  let oSchemeAllowed = {
                      'ok': [// 0 - 35
                          { 'title': 'Privat', 'descr': '3 Haushalte max. zehn Personen, Kinder bis 14 Jahre nicht mitgezählt' },
                          { 'title': 'Geschäfte', 'descr': 'Einzelhandel mit kontrollierten Einlass' },
                          { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten' },
                          { 'title': 'Sport', 'descr': 'Außensport kontaktfrei (max. 10 Personen)' },
                          { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                      ],
                      'critical': [ // 35 - 50
                          { 'title': 'Privat', 'descr': 'Max 5 Personen aus zwei Haushalten, Kinder bis 14 Jahre nicht mitgezählt' },
                          { 'title': 'Geschäfte', 'descr': 'Einzelhandel mit kontrollierten Einlass' },
                          { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten' },
                          { 'title': 'Sport', 'descr': 'Außensport kontaktfrei (max. 10 Personen)' },
                          { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                      ],
                      'high': [ // 50 - 100
                          { 'title': 'Privat', 'descr': 'Max 5 Personen aus zwei Haushalten, Kinder bis 14 Jahre nicht mitgezählt' },
                          { 'title': 'Geschäfte', 'descr': 'Einzelhandel Click & Collect oder Click & Meet (40 Quadratmeter pro Person), Kontaktdatenerhebung' },
                          { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten nur mit Terminbuchung' },
                          { 'title': 'Sport', 'descr': 'Individualsport außen, max 5 Personen aus 2 Haushalten' },
                          { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                      ],
                      'veryhigh': [ // > 100
                          { 'title': 'Privat', 'descr': 'ein Haushalt und eine weitere Person, nächtliche Ausgangssperre' },
                          { 'title': 'Geschäfte', 'descr': 'Einzelhandel geschlossen' },
                          { 'title': 'Freizeit', 'descr': 'Museen, Galerien, Zoos, Botanische Gärten, Gedenkstätten geschlossen' },
                          { 'title': 'Sport', 'descr': 'Individualsport nur allein' },
                          { 'title': 'Gastronomie', 'descr': 'erst ab 22. März' },
                          { 'title': 'Kindergärten und Kitas', 'descr': 'geschlossen, nur Notbetreuung' },
                          { 'title': 'Schulen', 'descr': 'nur Distanzunterricht' },
                      ],
                  };
                  
                  //Mapper für Legende Landkreise und Städte
                  let oSchemeLegende = {
                      'city': [
                          { 'title': 'Hinweis', 'descr': 'Zudem gilt die sogenannte Notbremse: Steigt die 7-Tage-Inzidenz pro 100.000 Einwohner an drei aufeinander folgenden Tagen in einem Landkreis oder einer kreisfreien Stadt über 100, treten die Regeln, die vor dem 8. März gegolten hatten, wieder in Kraft.' }
                      ],
                  };
                  
                  //Eventlistener for filter 
                  for (const [key, dp] of Object.entries(filterDp)) {
                      on({ id: dp }, write_corona_stats);
                  };
                  
                  write_corona_stats();
                  
                  function write_corona_stats() {
                      try {
                  
                          let sStateOut = '';
                          let sOutSumGermany = '';
                          //Liste ausgewählter Bundesländer
                          var calcInzidenzSum = 0.00;
                          if (oListState.length > 0) {
                              let bShowStates = getState(filterDp.states).val;
                              sStateOut = '<div class="co-container states">';
                  
                              oListState.each((item, index) => {
                                  let iStateID = item.replace('.cases', '');
                                  if (bShowStates === true) {
                                      let sStateName = iStateID.replace('coronavirus-statistics.0.Germany.Bundesland.', '');
                                      sStateOut += '<div class="co-container"><div class="co-heading state">' + sStateName + '</div>';
                                  }
                                  for (const [key, dp] of Object.entries(oSchemeState)) {
                                      if (bShowStates === true) {
                                          sStateOut += builElements(key, dp, iStateID, false, '');
                                      }
                                      if (key === 'cases7_per_100k') {
                                          calcInzidenzSum += parseFloat(getState(iStateID + '.' + key).val);
                                      }
                                  }//End for
                                  if (bShowStates === true) {
                                      sStateOut += '</div>';
                                  }
                              });
                  
                              if (oListState.length === 16) {
                                  let calc7IndDe = (calcInzidenzSum / oListState.length * fRkiFaktor);
                                  let fCalc7IndDe = calc7IndDe.toFixed(2);
                                  let sCalc7IndDe = number_format(calc7IndDe, 2, ',', '.');
                  
                                  let oReturn = calcGefahrInzidenz(fCalc7IndDe, sCalc7IndDe, false);
                                  let valc7IndDe = oReturn.val;
                  
                                  sOutSumGermany = '<div class="co-entry de-7-inz horizontal"><div class="co-descr">7-Tage-Inzidenz</div><div class="co-val">' + valc7IndDe + '</div></div>';
                              }
                              sStateOut += '</div>';
                          }
                  
                          //Liste ausgewählter Länder
                          let sCountryOut = '';
                          if (oListCountry.length > 0) {
                              let bShowTop5 = getState(filterDp.top5).val;
                              let bCountries = getState(filterDp.countries).val;
                              //only countries
                              if (bCountries === true) {
                                  sCountryOut = '<div class="co-container countries">';
                                  oListCountry.each((item, index) => {
                                      let iCountryID = item.replace('.population', '');
                                      if ((iCountryID.indexOf("country_Top_5") === -1 && iCountryID.indexOf("global_totals") === -1)) {
                                          let sCountryName = iCountryID.replace('coronavirus-statistics.0.', '');
                                          let sFlag = '<img class="co-flag" src="' + getState(iCountryID + '.flag').val + '"> ';
                                          let sCountryNameTrans = sFlag + sCountryName;
                  
                                          if (sCountryName === 'Germany') {
                                              sCountryNameTrans = sFlag + 'Deutschland';
                                          }
                                          sCountryOut += '<div class="co-container country"><div class="co-heading country">' + sCountryNameTrans + '</div>';
                  
                                          for (const [key, dp] of Object.entries(oSchemeCountry)) {
                                              sCountryOut += builElements(key, dp, iCountryID, false, 'horizontal');
                                          }//End for
                  
                                          if (sCountryName === 'Germany') {
                                              sCountryOut += sOutSumGermany;
                                          }
                                          sCountryOut += '</div>';
                                      }
                                  });
                                  sCountryOut += '</div>';
                              }
                  
                              //only stats
                              if (bShowTop5 === true) {
                                  sCountryOut += '<div class="co-container stats">';
                                  oListCountry.each((item, index) => {
                                      let iCountryID = item.replace('.population', '');
                                      if (iCountryID.indexOf("country_Top_5") > -1 || iCountryID.indexOf("global_totals") > -1) {
                                          let sCountryName = iCountryID.replace('coronavirus-statistics.0.', '');
                                          let sFlag = '';
                                          if (iCountryID.indexOf("global_totals") === -1) {
                                              sFlag = '<img class="co-flag" src="' + getState(iCountryID + '.flag').val + '"> ';
                                          }
                                          let sCountryNameTrans = sFlag + sCountryName;
                  
                                          if (sCountryName.indexOf("country_Top_5") > -1) {
                                              let obj = getObject(iCountryID);
                                              sCountryNameTrans = sFlag + obj.common.name;
                                          } else if (sCountryName.indexOf("global_totals") > -1) {
                                              sCountryNameTrans = 'Weltweit gesamt';
                                          }
                                          sCountryOut += '<div class="co-container country"><div class="co-heading stats">' + sCountryNameTrans + '</div>';
                  
                                          for (const [key, dp] of Object.entries(oSchemeCountry)) {
                                              sCountryOut += builElements(key, dp, iCountryID, false, '');
                                          }//End for
                  
                                          sCountryOut += '</div>';
                                      }
                                  });
                                  sCountryOut += '</div>';
                              }
                          }
                  
                          //Liste Landkreise
                          let sCityCountiesOut = '';
                          if (oListKreis.length > 0 && getState(filterDp.cities).val === true) {
                  
                              oListKreis.each((item, index) => {
                                  let iKreisID = item.replace('.BL', '');
                                  let sKreisName = iKreisID.replace('coronavirus-statistics.0.Germany.Kreis.', '');
                                  sCityCountiesOut += '<div class="co-container"><div class="co-heading county">' + 'Kreis ' + sKreisName + '</div>';
                  
                                  for (const [key, dp] of Object.entries(oScheme)) {
                                      sCityCountiesOut += builElements(key, dp, iKreisID, true, '');
                                  }//End for
                  
                                  sCityCountiesOut += '</div>';
                              });//end each
                          }
                  
                          //Liste kreisfreie Städte
                          if (oListStadt.length > 0 && getState(filterDp.cities).val === true) {
                              oListStadt.each((item, index) => {
                                  let iStadtID = item.replace('.BL', '');
                                  let sStadtName = iStadtID.replace('coronavirus-statistics.0.Germany.Stadt.', '');
                                  sCityCountiesOut += '<div class="co-container"><div class="co-heading city">' + 'Stadt ' + sStadtName + '</div>';
                  
                                  for (const [key, dp] of Object.entries(oScheme)) {
                                      sCityCountiesOut += builElements(key, dp, iStadtID, true, '');
                                  }//End for
                  
                                  sCityCountiesOut += '</div>';
                              });//end each
                          }
                  
                          if (sCityCountiesOut !== '') {
                              let sLegende = '<div class="co-legende">';
                              for (const [key, element] of Object.entries(oSchemeLegende.city)) {
                                  sLegende += '<b>' + element.title + '</b>: ' + element.descr;
                              };
                              sLegende += '</div>';
                              sCityCountiesOut = '<div class="co-container cities-counties">' + sCityCountiesOut + sLegende + '</div>';
                          }
                  
                          var sHtml = '<div class="co-overview">';
                          sHtml += sCountryOut + sStateOut + sCityCountiesOut;
                  
                          setState(coronaHtmlDp, sHtml);
                  
                      } catch (err) {
                          console.error('[CoronaStatus] error: ' + err.message + ', stack: ' + err.stack);
                      }
                  }
                  
                  function builElements(key, dp, dpId, bAllow, cssClass) {
                      let descr = '';
                      let val = '';
                      let sList = '';
                      let sOut = '';
                  
                      if (dp.title === 'object') {
                          let obj = getObject(dpId + '.' + key);
                          descr = obj.common.name;
                      } else {
                          descr = dp.title
                      }
                  
                      if (dp.format === 'string') {
                          val = getState(dpId + '.' + key).val;
                      } else if (dp.format === 'datetime') {
                          let valDate = getState(dpId + '.' + key).val;
                          val = moment(valDate).format('DD.MM.YYYY HH:mm');
                      } else if (dp.format === 'int') {
                          val = getState(dpId + '.' + key).val;
                          val = number_format(val, 0, '', '.');
                      } else if (dp.format === 'float') {
                          let fVal = parseFloat(getState(dpId + '.' + key).val).toFixed(2);
                          val = number_format(fVal, 2, ',', '.');
                          if (key === 'cases7_per_100k') {
                              let oReturn = calcGefahrInzidenz(fVal, val, bAllow);
                              val = oReturn.val;
                              sList = (oReturn.list !== '') ? '<div class="co-allowed-list">' + oReturn.list + '</div>' : '';
                          }
                      }
                  
                      sOut = '<div class="co-entry co-dp-' + key + ' ' + cssClass + '"><div class="co-descr">' + descr + '</div><div class="co-val">' + val + '</div></div>';
                  
                      if (sList !== '') {
                          sOut += sList;
                      }
                  
                      return sOut;
                  }
                  
                  function calcGefahrInzidenz(fVal, sVal, isAllowed) {
                      let iVal = parseInt(fVal);
                      let val = '';
                      let sListAllowed = '';
                  
                      if (iVal < 35) {
                          val = '<span class="badge" title="' + oScheme7Tg.ok.title + '" style="background-color:' + oScheme7Tg.ok.bgcolor + ';color:' + oScheme7Tg.ok.color + ';">' + sVal + '</span>';
                          if (isAllowed === true) {
                              sListAllowed = '<ul class="co-list">';
                              for (const [key, element] of Object.entries(oSchemeAllowed.ok)) {
                                  sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                              };
                              sListAllowed += '</ul>';
                          }
                      } else if (iVal >= 35 && iVal < 50) {
                          val = '<span class="badge" title="' + oScheme7Tg.critical.title + '" style="background-color:' + oScheme7Tg.critical.bgcolor + ';color:' + oScheme7Tg.critical.color + ';">' + sVal + '</span>';
                          if (isAllowed === true) {
                              sListAllowed = '<ul class="co-list">';
                              for (const [key, element] of Object.entries(oSchemeAllowed.critical)) {
                                  sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                              };
                              sListAllowed += '</ul>';
                          }
                      } else if (iVal >= 50 && iVal < 100) {
                          val = '<span class="badge" title="' + oScheme7Tg.high.title + '" style="background-color:' + oScheme7Tg.high.bgcolor + ';color:' + oScheme7Tg.high.color + ';">' + sVal + '</span>';
                          if (isAllowed === true) {
                              sListAllowed = '<ul class="co-list">';
                              for (const [key, element] of Object.entries(oSchemeAllowed.high)) {
                                  sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                              };
                              sListAllowed += '</ul>';
                          }
                      } else if (iVal >= 100) {
                          val = '<span class="badge" title="' + oScheme7Tg.veryhigh.title + '" style="background-color:' + oScheme7Tg.veryhigh.bgcolor + ';color:' + oScheme7Tg.veryhigh.color + ';">' + sVal + '</span>';
                          if (isAllowed === true) {
                              sListAllowed = '<ul class="co-list">';
                              for (const [key, element] of Object.entries(oSchemeAllowed.veryhigh)) {
                                  sListAllowed += '<li><b>' + element.title + '</b>: ' + element.descr + '</li>';
                              };
                              sListAllowed += '</ul>';
                          }
                      }
                      let oReturn = { 'val': val, 'list': sListAllowed };
                  
                      return oReturn;
                  }
                  
                  //taken from https://gist.github.com/VassilisPallas/d73632e9de4794b7dd10b7408f7948e8/bf17eccef8521b4e5869bdc6a5b09a771356fbff
                  function number_format(intFloatNumber, decimals, dec_point, thousands_point) {
                  
                      if (intFloatNumber == null || !isFinite(intFloatNumber)) {
                          throw new TypeError("number is not valid");
                      }
                  
                      if (!decimals) {
                          let len = intFloatNumber.toString().split('.').length;
                          decimals = len > 1 ? len : 0;
                      }
                  
                      dec_point = (!dec_point) ? '.' : dec_point;
                      thousands_point = (!thousands_point) ? '.' : thousands_point;
                  
                      intFloatNumber = parseFloat(intFloatNumber).toFixed(decimals);
                      intFloatNumber = intFloatNumber.replace(".", dec_point);
                  
                      var splitNum = intFloatNumber.split(dec_point);
                      splitNum[0] = splitNum[0].replace(/\B(?=(\d{3})+(?!\d))/g, thousands_point);
                      intFloatNumber = splitNum.join(dec_point);
                  
                      return intFloatNumber;
                  }
                  
                  

                  Das erforderliche Css für das Design:

                  /*corona*/
                  .co-overview{
                  position: relative;
                  width: 100% ;
                  display: inline-block;
                  box-sizing:border-box;
                  }
                  
                  .co-container{
                  position: relative;
                  width: calc(25% - 20px);
                  display: inline-block;
                  box-sizing:border-box;
                  margin:10px;
                  vertical-align:text-top;
                  background-color:#f4f4f4;
                  border-radius:8px;
                  
                  }
                  
                  .co-container.stats,
                  .co-container.cities-counties,
                  .co-container.countries,
                  .co-container.states{
                  width: 100%;
                  background-color:#fff;
                  margin:0;
                  padding:0;
                  }
                  
                  .co-container.stats .co-container{
                  width:calc(33.333% - 20px);
                  margin:10px;
                  }
                  
                  .co-container.stats .co-container,
                  .co-container.countries .co-container,
                  .co-container.cities-counties .co-container,
                  .co-container.states .co-container{
                  box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);
                  background-color:#fff;
                  }
                  
                  
                  .co-container.country{
                  width: calc(100% - 20px);
                  }
                  .co-legende{
                  width: calc(100% - 20px);
                  padding: 10px;
                  background: #FFCCBC;
                  position: relative;
                  margin-left: 10px;
                  box-sizing: border-box;
                  border-radius:8px;
                  box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);
                  margin-bottom: 10px;
                  margin-top:10px;
                  }
                  
                  .co-heading{
                  position: relative;
                  width: 100%;
                  display: inline-block;
                  font-weight:bold;
                  padding: 0 5px;
                  box-sizing: border-box;
                  }
                  
                  .co-heading.stats,
                  .co-heading.country,
                  .co-heading.county,
                  .co-heading.city,
                  .co-heading.state{
                  background: #2196F3;
                  font-size: 14px;
                  line-height: 35px;
                  color: #fff;
                  font-weight: normal;
                  border-top-left-radius: 8px;
                  border-top-right-radius: 8px;
                  }
                  
                  .co-heading.stats{
                  background:#F57C00;
                  }
                  .co-heading.country{
                  background:#880E4F;
                  }
                  
                  .co-heading.county,
                  .co-heading.city{
                  background: #00796B;
                  }
                  
                  img.co-flag{
                  height:15px;
                  width:auto;
                  }
                  .co-entry{
                  position: relative;
                  width: 100%;
                  display: inline-block;
                  padding: 0 10px;
                  box-sizing:border-box;
                  }
                  
                  
                  .co-entry .badge{
                  font-size:12px;
                  padding: 0px 4px;
                  border-radius: 4px;
                  }
                  .co-descr{
                  position: relative;
                  width: 60%;
                  display: inline-block;
                  overflow: hidden;
                  text-overflow: ellipsis;
                  white-space: nowrap;
                  }
                  .co-val{
                  position: relative;
                  width: 40%;
                  display: inline-block;
                  overflow: hidden;
                  text-overflow: ellipsis;
                  white-space: nowrap;
                  text-align:right;
                  }
                  
                  .co-container.states .co-entry.co-dp-updated,
                  .co-container.stats .co-entry.co-dp-updated{
                  font-size:11px;
                  }
                  .co-container.countries .co-entry.co-dp-updated.horizontal{
                  font-size:14px;
                  }
                  
                  .co-entry.horizontal{
                  width: calc(16.6666% - 20px);
                  margin: 17px 10px;
                  background:#fff;
                  border-radius:8px;
                  padding:0;
                  box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);
                  }
                  
                  .co-entry.horizontal .co-descr,
                  .co-entry.horizontal .co-val{
                  width:100%;
                  text-align:center;
                  }
                  .co-entry.horizontal .co-val{
                  font-weight:bold;
                  }
                  .co-entry.horizontal .co-descr{
                  background: #880E4F;
                  font-size: 14px;
                  line-height: 35px;
                  color: #fff;
                  font-weight: normal;
                  border-top-left-radius: 8px;
                  border-top-right-radius: 8px;
                  }
                  
                  .co-allowed-list{
                  position: relative;
                  width: 100%;
                  display: inline-block;
                  padding: 10px;
                  background-color: #EAEAB9;
                  border-bottom-left-radius: 8px;
                  box-sizing: border-box;
                  margin-top: 10px;
                  border-bottom-right-radius: 8px;
                  }
                  .co-list{
                  margin:0;
                  padding:0;
                  list-style:none;
                  position:relative;
                  width:100%;
                  display:inline-block;
                  }
                  
                  .co-list li{
                  position:relative;
                  width:100%;
                  font-size:14px;
                  line-height:18px;
                  marign-bottom:4px;
                  }
                  
                  /*corona*/
                  @media (max-width: 768px) {
                  .co-container.stats .co-container {
                      width: calc(50% - 20px);
                  }
                  .co-container{
                  width: calc(50% - 20px);
                  }
                  }
                  @media (max-width: 536px) {
                  
                  .co-container{
                  width: calc(100% - 20px);
                  }
                  
                  .co-container.stats .co-container {
                      width: calc(100% - 20px);
                  }
                  .co-entry.horizontal {
                      width: calc(50% - 20px);
                  }
                  }
                  
                  

                  Have fun!

                  ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by A Former User
                  #842

                  @sebastian-io

                  ich hab leider noch Probleme mit deinem Script:

                  2021-03-13 11:34:25.788 - info: javascript.0 (23599) Start javascript script.js.Jarvis_Corona
                  2021-03-13 11:34:25.815 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg7_per_100k.updated" not found (3)
                  2021-03-13 11:34:25.817 - warn: javascript.0 (23599) at builElements (script.js.Jarvis_Corona:301:23)
                  2021-03-13 11:34:25.817 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:145:38
                  2021-03-13 11:34:25.817 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                  2021-03-13 11:34:25.818 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                  2021-03-13 11:34:25.818 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                  2021-03-13 11:34:25.819 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg7_per_100k.cases" not found (3)
                  2021-03-13 11:34:25.820 - warn: javascript.0 (23599) at builElements (script.js.Jarvis_Corona:304:15)
                  2021-03-13 11:34:25.820 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:145:38
                  2021-03-13 11:34:25.820 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                  2021-03-13 11:34:25.821 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                  2021-03-13 11:34:25.821 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                  2021-03-13 11:34:25.822 - error: javascript.0 (23599) script.js.Jarvis_Corona: [CoronaStatus] error: number is not valid, stack: TypeError: number is not valid
                  at number_format (script.js.Jarvis_Corona:376:15)
                  at builElements (script.js.Jarvis_Corona:305:15)
                  at script.js.Jarvis_Corona:145:38
                  at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                  at write_corona_stats (script.js.Jarvis_Corona:137:24)
                  at script.js.Jarvis_Corona:124:1
                  at Script.runInContext (vm.js:143:18)
                  at Script.runInNewContext (vm.js:148:17)
                  at execute (/opt/iobroker/node_modules/iobroker.javascript/main.js:1320:27)
                  at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1504:38)
                  2021-03-13 11:34:25.822 - info: javascript.0 (23599) script.js.Jarvis_Corona: registered 4 subscriptions and 0 schedules
                  

                  Datenpunkte sind wie folgt angepasst im Script:

                  /****** DATENPUNKTE MÜSSEN ERSTELLT WERDEN (Name Pfad frei konfigurierbar)  **********/
                  /**role html, type string (Typ = Zeichenkette)  */
                  let coronaHtmlDp = '0_userdata.0.jarvis.corona.coronahtml';
                   
                  // verwendet in function write_corona_stats() und für die Aktivierung der Eventlistener
                  /**role switch, type boolean (Typ = Logikwert) */
                  /**FILTER: setze den Wert auf false und der ausgewählte Datenpunkt wird nicht angezeigt */
                  let filterDp = {
                      'states': '0_userdata.0.jarvis.corona.filter.bundeslaender',
                      'cities': '0_userdata.0.jarvis.corona.filter.cities',
                      'countries': '0_userdata.0.jarvis.corona.filter.countries',
                      'top5': '0_userdata.0.jarvis.corona.filter.top5stats',
                  

                  Hier die Datenpunkte unter Objekte:

                  Corona.PNG

                  Und hier die RAW-Einstellungen von coronahtml:

                  {
                   "from": "system.adapter.admin.0",
                   "user": "system.user.admin",
                   "ts": 1615629811323,
                   "common": {
                     "name": "coronahtml",
                     "role": "html",
                     "type": "string",
                     "desc": "Manuell erzeugt",
                     "def": "",
                     "read": true,
                     "write": true
                   },
                   "native": {},
                   "acl": {
                     "object": 1638,
                     "owner": "system.user.admin",
                     "ownerGroup": "system.group.administrator",
                     "state": 1638
                   },
                   "_id": "0_userdata.0.jarvis.corona.coronahtml",
                   "type": "state"
                  }
                  

                  Ich hab sicherlich irgendwo nen Fehler, bin aber was Javascript angeht nen Laie, vielleicht siehst du es wo mein Problem liegt?

                  Edit: Welche Adapterversion vom Covid-Adapter hast du installiert?

                  Sebastian IOS 1 Reply Last reply
                  0
                  • ? A Former User

                    @sebastian-io

                    ich hab leider noch Probleme mit deinem Script:

                    2021-03-13 11:34:25.788 - info: javascript.0 (23599) Start javascript script.js.Jarvis_Corona
                    2021-03-13 11:34:25.815 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg7_per_100k.updated" not found (3)
                    2021-03-13 11:34:25.817 - warn: javascript.0 (23599) at builElements (script.js.Jarvis_Corona:301:23)
                    2021-03-13 11:34:25.817 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:145:38
                    2021-03-13 11:34:25.817 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                    2021-03-13 11:34:25.818 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                    2021-03-13 11:34:25.818 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                    2021-03-13 11:34:25.819 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg7_per_100k.cases" not found (3)
                    2021-03-13 11:34:25.820 - warn: javascript.0 (23599) at builElements (script.js.Jarvis_Corona:304:15)
                    2021-03-13 11:34:25.820 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:145:38
                    2021-03-13 11:34:25.820 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                    2021-03-13 11:34:25.821 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                    2021-03-13 11:34:25.821 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                    2021-03-13 11:34:25.822 - error: javascript.0 (23599) script.js.Jarvis_Corona: [CoronaStatus] error: number is not valid, stack: TypeError: number is not valid
                    at number_format (script.js.Jarvis_Corona:376:15)
                    at builElements (script.js.Jarvis_Corona:305:15)
                    at script.js.Jarvis_Corona:145:38
                    at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                    at write_corona_stats (script.js.Jarvis_Corona:137:24)
                    at script.js.Jarvis_Corona:124:1
                    at Script.runInContext (vm.js:143:18)
                    at Script.runInNewContext (vm.js:148:17)
                    at execute (/opt/iobroker/node_modules/iobroker.javascript/main.js:1320:27)
                    at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1504:38)
                    2021-03-13 11:34:25.822 - info: javascript.0 (23599) script.js.Jarvis_Corona: registered 4 subscriptions and 0 schedules
                    

                    Datenpunkte sind wie folgt angepasst im Script:

                    /****** DATENPUNKTE MÜSSEN ERSTELLT WERDEN (Name Pfad frei konfigurierbar)  **********/
                    /**role html, type string (Typ = Zeichenkette)  */
                    let coronaHtmlDp = '0_userdata.0.jarvis.corona.coronahtml';
                     
                    // verwendet in function write_corona_stats() und für die Aktivierung der Eventlistener
                    /**role switch, type boolean (Typ = Logikwert) */
                    /**FILTER: setze den Wert auf false und der ausgewählte Datenpunkt wird nicht angezeigt */
                    let filterDp = {
                        'states': '0_userdata.0.jarvis.corona.filter.bundeslaender',
                        'cities': '0_userdata.0.jarvis.corona.filter.cities',
                        'countries': '0_userdata.0.jarvis.corona.filter.countries',
                        'top5': '0_userdata.0.jarvis.corona.filter.top5stats',
                    

                    Hier die Datenpunkte unter Objekte:

                    Corona.PNG

                    Und hier die RAW-Einstellungen von coronahtml:

                    {
                     "from": "system.adapter.admin.0",
                     "user": "system.user.admin",
                     "ts": 1615629811323,
                     "common": {
                       "name": "coronahtml",
                       "role": "html",
                       "type": "string",
                       "desc": "Manuell erzeugt",
                       "def": "",
                       "read": true,
                       "write": true
                     },
                     "native": {},
                     "acl": {
                       "object": 1638,
                       "owner": "system.user.admin",
                       "ownerGroup": "system.group.administrator",
                       "state": 1638
                     },
                     "_id": "0_userdata.0.jarvis.corona.coronahtml",
                     "type": "state"
                    }
                    

                    Ich hab sicherlich irgendwo nen Fehler, bin aber was Javascript angeht nen Laie, vielleicht siehst du es wo mein Problem liegt?

                    Edit: Welche Adapterversion vom Covid-Adapter hast du installiert?

                    Sebastian IOS Offline
                    Sebastian IOS Offline
                    Sebastian IO
                    wrote on last edited by
                    #843

                    @ash2k zeig mal deine angelegten datenpunkte im script?
                    der log sagt dass du hinter deinen bundesländern ein punkt fehlt

                    falsch

                    Fehler coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg7_per_100k.cases
                    

                    richtig

                    coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg.7_per_100k.cases
                    
                    ? 1 Reply Last reply
                    0
                    • Sebastian IOS Sebastian IO

                      @ash2k zeig mal deine angelegten datenpunkte im script?
                      der log sagt dass du hinter deinen bundesländern ein punkt fehlt

                      falsch

                      Fehler coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg7_per_100k.cases
                      

                      richtig

                      coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg.7_per_100k.cases
                      
                      ? Offline
                      ? Offline
                      A Former User
                      wrote on last edited by A Former User
                      #844

                      @sebastian-io

                      welche meinst du jetzt genau die oben im Beitrag nicht zu sehen sind?!?

                      unter dem Spoiler "Datenpunkte" steht der Ausschnitt aus dem Script, meinst du die?

                      Ansonsten ist das hier zum Beispiel der Pfad unter Objekte zu den Bundeslaender:

                      0_userdata.0.jarvis.corona.filter.bundeslaender

                      Sebastian IOS 1 Reply Last reply
                      0
                      • ? A Former User

                        @sebastian-io

                        welche meinst du jetzt genau die oben im Beitrag nicht zu sehen sind?!?

                        unter dem Spoiler "Datenpunkte" steht der Ausschnitt aus dem Script, meinst du die?

                        Ansonsten ist das hier zum Beispiel der Pfad unter Objekte zu den Bundeslaender:

                        0_userdata.0.jarvis.corona.filter.bundeslaender

                        Sebastian IOS Offline
                        Sebastian IOS Offline
                        Sebastian IO
                        wrote on last edited by
                        #845

                        @ash2k ich verwende die Version 0.6.3 von den Corona Statistik Adapter

                        Was hast du in den Einstellungen des Corona Statistik Adapters konfiguriert?

                        ? 1 Reply Last reply
                        0
                        • Sebastian IOS Sebastian IO

                          @ash2k ich verwende die Version 0.6.3 von den Corona Statistik Adapter

                          Was hast du in den Einstellungen des Corona Statistik Adapters konfiguriert?

                          ? Offline
                          ? Offline
                          A Former User
                          wrote on last edited by
                          #846

                          @sebastian-io
                          ich hab die 0.6.8 ausm latest installiert

                          hier die Einstellungen, habe vorhin alles mal aktiviert:

                          Covid.PNG

                          Sebastian IOS 1 Reply Last reply
                          0
                          • ? A Former User

                            @sebastian-io
                            ich hab die 0.6.8 ausm latest installiert

                            hier die Einstellungen, habe vorhin alles mal aktiviert:

                            Covid.PNG

                            Sebastian IOS Offline
                            Sebastian IOS Offline
                            Sebastian IO
                            wrote on last edited by
                            #847

                            @ash2k so sieht es bei meinen Einstellungen aus:
                            screen-corona.png

                            ? 1 Reply Last reply
                            0
                            • Sebastian IOS Sebastian IO

                              @ash2k so sieht es bei meinen Einstellungen aus:
                              screen-corona.png

                              ? Offline
                              ? Offline
                              A Former User
                              wrote on last edited by
                              #848

                              @sebastian-io
                              ich bin raus bzw wohl zu doof dafür....

                              habe jetzt den Covid-Adapter komplett gelöscht, alle Objekte gelöscht und den Adapter in der Version 0.6.3 installiert, gleiche Einstellungen gemacht wie bei dir ausser Landkreise alle ausgewählt....

                              Dann dein Script unverändert gelassen und die Datenpunkte in dem Pfad angelegt wie es in deinem Script steht und trotzdem kommen weiterhin die Fehlermeldungen....

                              Das hier sind die angelegten DP:

                               {
                                "0_userdata.0.vis.jarvis.coronahtml": {
                                  "_id": "0_userdata.0.vis.jarvis.coronahtml",
                                  "type": "state",
                                  "common": {
                                    "name": "vis.jarvis.coronahtml",
                                    "role": "html",
                                    "type": "string",
                                    "desc": "Manuell erzeugt",
                                    "def": "",
                                    "read": true,
                                    "write": true
                                  },
                                  "native": {},
                                  "from": "system.adapter.admin.0",
                                  "user": "system.user.admin",
                                  "ts": 1615647045577,
                                  "acl": {
                                    "object": 1636,
                                    "owner": "system.user.admin",
                                    "ownerGroup": "system.group.administrator",
                                    "state": 1636
                                  }
                                },
                                "0_userdata.0.vis.jarvis.corona.filter.bundeslaender": {
                                  "_id": "0_userdata.0.vis.jarvis.corona.filter.bundeslaender",
                                  "type": "state",
                                  "common": {
                                    "name": "vis.jarvis.corona.filter.bundeslaender",
                                    "role": "switch",
                                    "type": "boolean",
                                    "desc": "Manuell erzeugt",
                                    "read": true,
                                    "write": true,
                                    "def": false
                                  },
                                  "native": {},
                                  "from": "system.adapter.admin.0",
                                  "user": "system.user.admin",
                                  "ts": 1615647124353,
                                  "acl": {
                                    "object": 1636,
                                    "owner": "system.user.admin",
                                    "ownerGroup": "system.group.administrator",
                                    "state": 1636
                                  }
                                },
                                "0_userdata.0.vis.jarvis.corona.filter.cities": {
                                  "_id": "0_userdata.0.vis.jarvis.corona.filter.cities",
                                  "type": "state",
                                  "common": {
                                    "name": "vis.jarvis.corona.filter.cities",
                                    "role": "switch",
                                    "type": "boolean",
                                    "desc": "Manuell erzeugt",
                                    "read": true,
                                    "write": true,
                                    "def": false
                                  },
                                  "native": {},
                                  "from": "system.adapter.admin.0",
                                  "user": "system.user.admin",
                                  "ts": 1615647181197,
                                  "acl": {
                                    "object": 1636,
                                    "owner": "system.user.admin",
                                    "ownerGroup": "system.group.administrator",
                                    "state": 1636
                                  }
                                },
                                "0_userdata.0.vis.jarvis.corona.filter.countries": {
                                  "_id": "0_userdata.0.vis.jarvis.corona.filter.countries",
                                  "type": "state",
                                  "common": {
                                    "name": "vis.jarvis.corona.filter.countries",
                                    "role": "switch",
                                    "type": "boolean",
                                    "desc": "Manuell erzeugt",
                                    "read": true,
                                    "write": true,
                                    "def": false
                                  },
                                  "native": {},
                                  "from": "system.adapter.admin.0",
                                  "user": "system.user.admin",
                                  "ts": 1615647212692,
                                  "acl": {
                                    "object": 1636,
                                    "owner": "system.user.admin",
                                    "ownerGroup": "system.group.administrator",
                                    "state": 1636
                                  }
                                },
                                "0_userdata.0.vis.jarvis.corona.filter.top5stats": {
                                  "_id": "0_userdata.0.vis.jarvis.corona.filter.top5stats",
                                  "type": "state",
                                  "common": {
                                    "name": "vis.jarvis.corona.filter.top5stats",
                                    "role": "switch",
                                    "type": "boolean",
                                    "desc": "Manuell erzeugt",
                                    "read": true,
                                    "write": true,
                                    "def": false
                                  },
                                  "native": {},
                                  "from": "system.adapter.admin.0",
                                  "user": "system.user.admin",
                                  "ts": 1615647239518,
                                  "acl": {
                                    "object": 1636,
                                    "owner": "system.user.admin",
                                    "ownerGroup": "system.group.administrator",
                                    "state": 1636
                                  }
                                }
                              }
                              

                              Fehlerlog hat sich zwar irgendwie geändert aber hilft mir auch nich weiter :-(

                              2021-03-13 16:00:30.561 - info: javascript.0 (23599) Start javascript script.js.Jarvis_Corona
                              2021-03-13 16:00:30.632 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.635 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.635 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.636 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.636 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.636 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.638 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.638 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.638 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.638 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.639 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Bayern7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.640 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.640 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.641 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.641 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.641 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Bayern_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.643 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.644 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.644 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.644 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.645 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Berlin7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.647 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.648 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.648 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.648 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.648 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Berlin_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.651 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.651 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.651 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.651 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.652 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Brandenburg7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.654 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.654 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.655 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.655 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.655 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Brandenburg_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.656 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.657 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.657 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.658 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.659 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Bremen7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.661 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.661 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.661 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.662 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.663 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Bremen_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.665 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.665 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.665 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.666 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.666 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Hamburg7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.669 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.670 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.670 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.670 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.678 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Hamburg_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.680 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.680 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.680 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.680 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.681 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Hessen7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.683 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.683 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.683 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.683 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.684 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Hessen_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.685 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.685 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.685 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.686 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.689 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Mecklenburg-Vorpommern7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.690 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.690 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.691 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.691 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.692 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Mecklenburg-Vorpommern_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.693 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.694 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.698 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.699 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.699 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Niedersachsen7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.701 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.701 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.701 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.704 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.705 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Niedersachsen_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.707 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.708 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.708 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.708 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.717 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Nordrhein-Westfalen7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.719 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.719 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.719 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.719 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.719 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Nordrhein-Westfalen_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.725 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.725 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.725 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.726 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.726 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Rheinland-Pfalz7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.728 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.729 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.729 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.729 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.729 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Rheinland-Pfalz_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.741 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.742 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.742 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.742 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.743 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Saarland7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.745 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.745 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.745 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.745 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.745 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Saarland_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.751 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.751 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.754 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.754 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.755 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Sachsen-Anhalt7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.761 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.761 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.761 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.766 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.766 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Sachsen-Anhalt_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.768 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.769 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.769 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.769 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.769 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Sachsen7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.770 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.776 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.776 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.777 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.777 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Sachsen_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.778 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.778 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.779 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.779 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.779 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Schleswig-Holstein7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.781 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.781 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.781 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.781 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.791 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Schleswig-Holstein_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.794 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.794 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.794 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.794 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.795 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Thüringen7_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.796 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.797 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.797 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.797 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.798 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Thüringen_per_100k.cases7_per_100k" not found (3)
                              2021-03-13 16:00:30.802 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                              2021-03-13 16:00:30.802 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                              2021-03-13 16:00:30.802 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                              2021-03-13 16:00:30.802 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                              2021-03-13 16:00:30.803 - info: javascript.0 (23599) script.js.Jarvis_Corona: registered 4 subscriptions and 0 schedules
                              

                              Sebastian IOS 1 Reply Last reply
                              0
                              • NashraN Offline
                                NashraN Offline
                                Nashra
                                Most Active Forum Testing
                                wrote on last edited by Nashra
                                #849

                                @Ash2k
                                die Datenpunkte fehlen noch unter Objekte

                                .798 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Thüringen_per_100k.cases7_per_100k" not found (3)
                                

                                Stoppe den Corona-Adapter mal und dann wieder aktivieren. Danach in Objekte unter

                                coronavirus-statistics.0.Germany.Bundesland.Thüringen.cases7_per_100k
                                

                                nachsehen ob der Dastenpunkt angelegt wurde. Wenn nicht, das Ganze einfach nochmal.
                                Hatte ich auch schonmal das er beim ersten Start nicht direkt alles angelegt hat.

                                Gruß Ralf
                                Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                ? 1 Reply Last reply
                                1
                                • ? A Former User

                                  @sebastian-io
                                  ich bin raus bzw wohl zu doof dafür....

                                  habe jetzt den Covid-Adapter komplett gelöscht, alle Objekte gelöscht und den Adapter in der Version 0.6.3 installiert, gleiche Einstellungen gemacht wie bei dir ausser Landkreise alle ausgewählt....

                                  Dann dein Script unverändert gelassen und die Datenpunkte in dem Pfad angelegt wie es in deinem Script steht und trotzdem kommen weiterhin die Fehlermeldungen....

                                  Das hier sind die angelegten DP:

                                   {
                                    "0_userdata.0.vis.jarvis.coronahtml": {
                                      "_id": "0_userdata.0.vis.jarvis.coronahtml",
                                      "type": "state",
                                      "common": {
                                        "name": "vis.jarvis.coronahtml",
                                        "role": "html",
                                        "type": "string",
                                        "desc": "Manuell erzeugt",
                                        "def": "",
                                        "read": true,
                                        "write": true
                                      },
                                      "native": {},
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1615647045577,
                                      "acl": {
                                        "object": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator",
                                        "state": 1636
                                      }
                                    },
                                    "0_userdata.0.vis.jarvis.corona.filter.bundeslaender": {
                                      "_id": "0_userdata.0.vis.jarvis.corona.filter.bundeslaender",
                                      "type": "state",
                                      "common": {
                                        "name": "vis.jarvis.corona.filter.bundeslaender",
                                        "role": "switch",
                                        "type": "boolean",
                                        "desc": "Manuell erzeugt",
                                        "read": true,
                                        "write": true,
                                        "def": false
                                      },
                                      "native": {},
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1615647124353,
                                      "acl": {
                                        "object": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator",
                                        "state": 1636
                                      }
                                    },
                                    "0_userdata.0.vis.jarvis.corona.filter.cities": {
                                      "_id": "0_userdata.0.vis.jarvis.corona.filter.cities",
                                      "type": "state",
                                      "common": {
                                        "name": "vis.jarvis.corona.filter.cities",
                                        "role": "switch",
                                        "type": "boolean",
                                        "desc": "Manuell erzeugt",
                                        "read": true,
                                        "write": true,
                                        "def": false
                                      },
                                      "native": {},
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1615647181197,
                                      "acl": {
                                        "object": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator",
                                        "state": 1636
                                      }
                                    },
                                    "0_userdata.0.vis.jarvis.corona.filter.countries": {
                                      "_id": "0_userdata.0.vis.jarvis.corona.filter.countries",
                                      "type": "state",
                                      "common": {
                                        "name": "vis.jarvis.corona.filter.countries",
                                        "role": "switch",
                                        "type": "boolean",
                                        "desc": "Manuell erzeugt",
                                        "read": true,
                                        "write": true,
                                        "def": false
                                      },
                                      "native": {},
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1615647212692,
                                      "acl": {
                                        "object": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator",
                                        "state": 1636
                                      }
                                    },
                                    "0_userdata.0.vis.jarvis.corona.filter.top5stats": {
                                      "_id": "0_userdata.0.vis.jarvis.corona.filter.top5stats",
                                      "type": "state",
                                      "common": {
                                        "name": "vis.jarvis.corona.filter.top5stats",
                                        "role": "switch",
                                        "type": "boolean",
                                        "desc": "Manuell erzeugt",
                                        "read": true,
                                        "write": true,
                                        "def": false
                                      },
                                      "native": {},
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1615647239518,
                                      "acl": {
                                        "object": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator",
                                        "state": 1636
                                      }
                                    }
                                  }
                                  

                                  Fehlerlog hat sich zwar irgendwie geändert aber hilft mir auch nich weiter :-(

                                  2021-03-13 16:00:30.561 - info: javascript.0 (23599) Start javascript script.js.Jarvis_Corona
                                  2021-03-13 16:00:30.632 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.635 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.635 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.636 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.636 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.636 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Baden-Württemberg_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.638 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.638 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.638 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.638 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.639 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Bayern7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.640 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.640 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.641 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.641 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.641 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Bayern_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.643 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.644 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.644 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.644 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.645 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Berlin7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.647 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.648 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.648 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.648 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.648 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Berlin_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.651 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.651 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.651 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.651 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.652 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Brandenburg7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.654 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.654 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.655 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.655 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.655 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Brandenburg_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.656 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.657 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.657 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.658 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.659 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Bremen7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.661 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.661 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.661 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.662 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.663 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Bremen_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.665 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.665 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.665 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.666 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.666 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Hamburg7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.669 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.670 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.670 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.670 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.678 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Hamburg_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.680 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.680 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.680 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.680 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.681 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Hessen7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.683 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.683 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.683 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.683 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.684 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Hessen_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.685 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.685 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.685 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.686 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.689 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Mecklenburg-Vorpommern7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.690 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.690 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.691 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.691 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.692 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Mecklenburg-Vorpommern_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.693 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.694 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.698 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.699 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.699 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Niedersachsen7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.701 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.701 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.701 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.704 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.705 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Niedersachsen_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.707 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.708 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.708 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.708 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.717 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Nordrhein-Westfalen7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.719 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.719 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.719 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.719 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.719 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Nordrhein-Westfalen_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.725 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.725 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.725 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.726 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.726 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Rheinland-Pfalz7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.728 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.729 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.729 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.729 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.729 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Rheinland-Pfalz_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.741 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.742 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.742 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.742 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.743 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Saarland7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.745 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.745 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.745 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.745 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.745 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Saarland_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.751 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.751 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.754 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.754 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.755 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Sachsen-Anhalt7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.761 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.761 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.761 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.766 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.766 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Sachsen-Anhalt_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.768 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.769 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.769 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.769 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.769 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Sachsen7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.770 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.776 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.776 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.777 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.777 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Sachsen_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.778 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.778 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.779 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.779 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.779 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Schleswig-Holstein7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.781 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.781 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.781 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.781 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.791 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Schleswig-Holstein_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.794 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.794 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.794 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.794 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.795 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Thüringen7_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.796 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.797 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.797 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.797 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.798 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Thüringen_per_100k.cases7_per_100k" not found (3)
                                  2021-03-13 16:00:30.802 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:148:55
                                  2021-03-13 16:00:30.802 - warn: javascript.0 (23599) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
                                  2021-03-13 16:00:30.802 - warn: javascript.0 (23599) at write_corona_stats (script.js.Jarvis_Corona:137:24)
                                  2021-03-13 16:00:30.802 - warn: javascript.0 (23599) at script.js.Jarvis_Corona:124:1
                                  2021-03-13 16:00:30.803 - info: javascript.0 (23599) script.js.Jarvis_Corona: registered 4 subscriptions and 0 schedules
                                  

                                  Sebastian IOS Offline
                                  Sebastian IOS Offline
                                  Sebastian IO
                                  wrote on last edited by
                                  #850

                                  @ash2k und schaue auch das moment bei deiner javascript instanz unter Haupteinstellungen hinterlegt ist (Zusätzliche NPM-Module)

                                  ? 1 Reply Last reply
                                  0
                                  • NashraN Nashra

                                    @Ash2k
                                    die Datenpunkte fehlen noch unter Objekte

                                    .798 - warn: javascript.0 (23599) getState "coronavirus-statistics.0.Germany.Bundesland.Thüringen_per_100k.cases7_per_100k" not found (3)
                                    

                                    Stoppe den Corona-Adapter mal und dann wieder aktivieren. Danach in Objekte unter

                                    coronavirus-statistics.0.Germany.Bundesland.Thüringen.cases7_per_100k
                                    

                                    nachsehen ob der Dastenpunkt angelegt wurde. Wenn nicht, das Ganze einfach nochmal.
                                    Hatte ich auch schonmal das er beim ersten Start nicht direkt alles angelegt hat.

                                    ? Offline
                                    ? Offline
                                    A Former User
                                    wrote on last edited by
                                    #851

                                    @nashra
                                    der Datenpunkt ist da:

                                    Corona.PNG

                                    Mich macht aber eher im Script stutzig das der Pfad nicht stimmt bei der Fehlermeldung:

                                    Das steht im Fehlerlog:

                                    coronavirus-statistics.0.Germany.Bundesland.Thüringen_per_100k.cases7_per_100k
                                    

                                    und so heisst halt der Pfad im Adapter unter Objekte:

                                    coronavirus-statistics.0.Germany.Bundesland.Thüringen.cases7_per_100k
                                    

                                    Ich habe aber keine Ahnung was ich falsch gemacht haben könnte :-(

                                    Sebastian IOS 1 Reply Last reply
                                    0
                                    • Sebastian IOS Sebastian IO

                                      @ash2k und schaue auch das moment bei deiner javascript instanz unter Haupteinstellungen hinterlegt ist (Zusätzliche NPM-Module)

                                      ? Offline
                                      ? Offline
                                      A Former User
                                      wrote on last edited by
                                      #852

                                      @sebastian-io sagte in Test Coronavirus Statistics for ioBroker:

                                      @ash2k und schaue auch das moment bei deiner javascript instanz unter Haupteinstellungen hinterlegt ist (Zusätzliche NPM-Module)

                                      moment war nicht installiert, brauchte man auch vorher noch für kein Script was ich bislang genutzt habe...danke für den Hinweis, wäre gut wenn du das vielleicht beim nächsten Mal mit dazu schreibst ;-)

                                      Dennoch kommen die gleichen Fehlermeldungen.

                                      1 Reply Last reply
                                      0
                                      • ? A Former User

                                        @nashra
                                        der Datenpunkt ist da:

                                        Corona.PNG

                                        Mich macht aber eher im Script stutzig das der Pfad nicht stimmt bei der Fehlermeldung:

                                        Das steht im Fehlerlog:

                                        coronavirus-statistics.0.Germany.Bundesland.Thüringen_per_100k.cases7_per_100k
                                        

                                        und so heisst halt der Pfad im Adapter unter Objekte:

                                        coronavirus-statistics.0.Germany.Bundesland.Thüringen.cases7_per_100k
                                        

                                        Ich habe aber keine Ahnung was ich falsch gemacht haben könnte :-(

                                        Sebastian IOS Offline
                                        Sebastian IOS Offline
                                        Sebastian IO
                                        wrote on last edited by
                                        #853

                                        @ash2k sagte in Test Coronavirus Statistics for ioBroker:

                                        _per_100k
                                        welche version des js-controllers verwendest du?

                                        ? 2 Replies Last reply
                                        0
                                        • Sebastian IOS Sebastian IO

                                          @ash2k sagte in Test Coronavirus Statistics for ioBroker:

                                          _per_100k
                                          welche version des js-controllers verwendest du?

                                          ? Offline
                                          ? Offline
                                          A Former User
                                          wrote on last edited by
                                          #854

                                          @sebastian-io

                                          diese Woche den 3.2.16 installiert

                                          Controller "js-controller" : 3.2.16   , installed 3.2.16
                                          
                                          Sebastian IOS 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          696

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe