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 Adapter OpenLigaDB

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Test Adapter OpenLigaDB

Scheduled Pinned Locked Moved Tester
adapteropenligadbtest
702 Posts 57 Posters 151.6k Views 50 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.
  • OliverIOO Offline
    OliverIOO Offline
    OliverIO
    wrote on last edited by OliverIO
    #535

    Hier eine Lösung um in einen Datenpunk die Ergebnisse der Lieblingsvereine des aktuellen Spieltags in einen Datenpunkt zu schreiben.
    Ziel war diesen Text als Laufschrift auf einem LED-Laufband laufen zu lassen.
    Alternativ kann er natürlich auch in einem Widget laufen.
    Es fehlt noch der Trigger für die Änderung des Datenpunkts allmatches.
    Allerdings sollte man das nicht zu oft aktualisieren lassen, da sich (wie bei den börsenkursen) evtl mal openliga beschwert und ggfs. den Zugriff sperrt

    // hier konfigurieren start
    let gameday= getState("openligadb.0.bl1.2023.currgameday").val;
    let allmatches = JSON.parse(getState("openligadb.0.bl1.2023.allmatches").val);
    let highlight="vfb;bayern"; //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
    let dp="0_userdata.0.test.test1"; // name des datenpunkts in dem der ergebnistext landen soll
    let separator=" | "; // zeichen, die die einzelnen ergebnisse voneinander trennen
    // hier konfigurieren ende
    
    console.log("matches:"+allmatches.length);
    console.log("gameday:"+gameday);
    console.log("highlight:"+highlight);
    
    let results = filterFavGames(allmatches,gameday,highlight,true);
    console.log("result:"+results.join(separator));
    setState(dp,results.join(separator));
    
    function filterFavGames(allmatches,gameday,highlight,short=false) {
        if (!Array.isArray(allmatches)) return [];
        gameday = parseInt(gameday);
        
        let results =  allmatches.reduce(function(result,item){
            var found;
            item.short=short;
            if (gameday == item.group.groupOrderID) found=item;
            if (found && (checkFavorites(item.team1.teamName,highlight) || checkFavorites(item.team2.teamName,highlight)) ) result.push(prepareResultString(item));
            return result;
        },[]);
        return results;
    }
    function getResult(results) {
        if (results.length==0) return {};
        results = results.reduce(function(acc,cur){
            if (cur.resultTypeID>(acc.resultTypeID||0)) acc = cur;
            return acc;
        },{});
        return results;
    }
    function checkFavorites(value,favorites,sep) {
        sep = typeof sep !== 'undefined' ? sep : ";";
        var favorite = favorites.split(sep);
        return favorite.reduce(function(acc,cur){
            if (cur=='') return acc;
            return acc || value.toLowerCase().indexOf(cur.toLowerCase())>=0; 
        },false);
    }
    function prepareResultString(item){
        var team1name = item.short ? item.team1.shortName : item.team1.teamName;
        var team2name = item.short ? item.team2.shortName : item.team2.teamName;
        var result = getResult(item.matchResults);
        var team1result = result.hasOwnProperty('pointsTeam1') ? result.pointsTeam1 : '-';
        var team2result = result.hasOwnProperty('pointsTeam2') ? result.pointsTeam2 : '-';    
        return team1name + " "+team1result + " : " + team2result + " "+team2name;
    }
    
    
    

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    F 2 Replies Last reply
    0
    • K Offline
      K Offline
      kafibo
      wrote on last edited by
      #536

      Hallo,

      bei mir wird nichts angezeigt, egal welches Widget ich nehme ! Manchmal ist kurz was zusehen aber auch gleich wieder weg.
      Folgende Fehler erscheinen dann im Log:

      
      web.0
      2023-10-09 11:35:03.183	error	Error: can't create states object for openligadb.0.bl1.2023.currgameday(SyntaxError: "[object Object]" is not valid JSON): "SyntaxError: \"[object Object]\" is not valid JSON\n at JSON.parse (<anonymous>)\n at Object.createWidget (http://192.168.0.145:8082/vis-2/widgets/openligadb/js/openligadb.js:43:58)\n at a.onChange (http://192.168.0.145:8082/vis-2/widgets/openligadb/js/openligadb.js:53:52)\n at t.dispatch (http://192.168.0.145:8082/vis-2/lib/js/can.custom.js:272:72)\n at Object.stop (http://192.168.0.145:8082/vis-2/lib/js/can.custom.js:720:96)\n at a._setAttrs (http://192.168.0.145:8082/vis-2/lib/js/can.custom.js:972:28)\n at a.attr (http://192.168.0.145:8082/vis-2/lib/js/can.custom.js:894:29)\n at n.onStateChange (http://192.168.0.145:8082/vis-2/static/js/836.f4766b84.chunk.js:1:236354)\n at http://192.168.0.145:8082/vis-2/static/js/main.b6e16d06.js:2:768031\n at Array.forEach (<anonymous>)\n at t.value (http://192.168.0.145:8082/vis-2/static/js/main.b6e16d06.js:2:768006)\n at http://192.168.0.145:8082/vis-2/static/js/main.b6e16d06.js:2:758531\n at sentryWrapped (http://192.168.0.145:8082/vis-2/widgets/materialdesign/lib/raw/sentry/bundle.min.js:2:53837)"
      
      web.0
      2023-10-09 11:32:05.882	warn	Read-only state "openligadb.0.bl1.2023.currgameday" has been written without ack-flag with value "[object Object]"
      
      web.0
      2023-10-09 11:32:05.879	warn	Read-only state "openligadb.0.bl1.2023.allmatches" has been written without ack-flag with value "[object Object]"
      

      Adapter Version: 1.3.4 (Adapter ist auch Grün)
      Admin: 6.10.4
      JS Controller 5.0.12
      Node JS: 18.18.0

      Hat jemand einen Tipp für mich?

      OliverIOO 1 Reply Last reply
      0
      • K kafibo

        Hallo,

        bei mir wird nichts angezeigt, egal welches Widget ich nehme ! Manchmal ist kurz was zusehen aber auch gleich wieder weg.
        Folgende Fehler erscheinen dann im Log:

        
        web.0
        2023-10-09 11:35:03.183	error	Error: can't create states object for openligadb.0.bl1.2023.currgameday(SyntaxError: "[object Object]" is not valid JSON): "SyntaxError: \"[object Object]\" is not valid JSON\n at JSON.parse (<anonymous>)\n at Object.createWidget (http://192.168.0.145:8082/vis-2/widgets/openligadb/js/openligadb.js:43:58)\n at a.onChange (http://192.168.0.145:8082/vis-2/widgets/openligadb/js/openligadb.js:53:52)\n at t.dispatch (http://192.168.0.145:8082/vis-2/lib/js/can.custom.js:272:72)\n at Object.stop (http://192.168.0.145:8082/vis-2/lib/js/can.custom.js:720:96)\n at a._setAttrs (http://192.168.0.145:8082/vis-2/lib/js/can.custom.js:972:28)\n at a.attr (http://192.168.0.145:8082/vis-2/lib/js/can.custom.js:894:29)\n at n.onStateChange (http://192.168.0.145:8082/vis-2/static/js/836.f4766b84.chunk.js:1:236354)\n at http://192.168.0.145:8082/vis-2/static/js/main.b6e16d06.js:2:768031\n at Array.forEach (<anonymous>)\n at t.value (http://192.168.0.145:8082/vis-2/static/js/main.b6e16d06.js:2:768006)\n at http://192.168.0.145:8082/vis-2/static/js/main.b6e16d06.js:2:758531\n at sentryWrapped (http://192.168.0.145:8082/vis-2/widgets/materialdesign/lib/raw/sentry/bundle.min.js:2:53837)"
        
        web.0
        2023-10-09 11:32:05.882	warn	Read-only state "openligadb.0.bl1.2023.currgameday" has been written without ack-flag with value "[object Object]"
        
        web.0
        2023-10-09 11:32:05.879	warn	Read-only state "openligadb.0.bl1.2023.allmatches" has been written without ack-flag with value "[object Object]"
        

        Adapter Version: 1.3.4 (Adapter ist auch Grün)
        Admin: 6.10.4
        JS Controller 5.0.12
        Node JS: 18.18.0

        Hat jemand einen Tipp für mich?

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        wrote on last edited by OliverIO
        #537

        @kafibo
        Die Fehlermeldung sagt das du in den datenpunkt currgameday reinschreibst.
        Irgendwas ist falsch konfiguriert/eingetragen
        Zeige deine Einstellungen bitte

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        K 2 Replies Last reply
        0
        • OliverIOO OliverIO

          @kafibo
          Die Fehlermeldung sagt das du in den datenpunkt currgameday reinschreibst.
          Irgendwas ist falsch konfiguriert/eingetragen
          Zeige deine Einstellungen bitte

          K Offline
          K Offline
          kafibo
          wrote on last edited by
          #538

          @oliverio
          Bin jetzt auf der Arbeit, geht heute abend erst.

          1 Reply Last reply
          0
          • OliverIOO OliverIO

            Hier eine Lösung um in einen Datenpunk die Ergebnisse der Lieblingsvereine des aktuellen Spieltags in einen Datenpunkt zu schreiben.
            Ziel war diesen Text als Laufschrift auf einem LED-Laufband laufen zu lassen.
            Alternativ kann er natürlich auch in einem Widget laufen.
            Es fehlt noch der Trigger für die Änderung des Datenpunkts allmatches.
            Allerdings sollte man das nicht zu oft aktualisieren lassen, da sich (wie bei den börsenkursen) evtl mal openliga beschwert und ggfs. den Zugriff sperrt

            // hier konfigurieren start
            let gameday= getState("openligadb.0.bl1.2023.currgameday").val;
            let allmatches = JSON.parse(getState("openligadb.0.bl1.2023.allmatches").val);
            let highlight="vfb;bayern"; //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
            let dp="0_userdata.0.test.test1"; // name des datenpunkts in dem der ergebnistext landen soll
            let separator=" | "; // zeichen, die die einzelnen ergebnisse voneinander trennen
            // hier konfigurieren ende
            
            console.log("matches:"+allmatches.length);
            console.log("gameday:"+gameday);
            console.log("highlight:"+highlight);
            
            let results = filterFavGames(allmatches,gameday,highlight,true);
            console.log("result:"+results.join(separator));
            setState(dp,results.join(separator));
            
            function filterFavGames(allmatches,gameday,highlight,short=false) {
                if (!Array.isArray(allmatches)) return [];
                gameday = parseInt(gameday);
                
                let results =  allmatches.reduce(function(result,item){
                    var found;
                    item.short=short;
                    if (gameday == item.group.groupOrderID) found=item;
                    if (found && (checkFavorites(item.team1.teamName,highlight) || checkFavorites(item.team2.teamName,highlight)) ) result.push(prepareResultString(item));
                    return result;
                },[]);
                return results;
            }
            function getResult(results) {
                if (results.length==0) return {};
                results = results.reduce(function(acc,cur){
                    if (cur.resultTypeID>(acc.resultTypeID||0)) acc = cur;
                    return acc;
                },{});
                return results;
            }
            function checkFavorites(value,favorites,sep) {
                sep = typeof sep !== 'undefined' ? sep : ";";
                var favorite = favorites.split(sep);
                return favorite.reduce(function(acc,cur){
                    if (cur=='') return acc;
                    return acc || value.toLowerCase().indexOf(cur.toLowerCase())>=0; 
                },false);
            }
            function prepareResultString(item){
                var team1name = item.short ? item.team1.shortName : item.team1.teamName;
                var team2name = item.short ? item.team2.shortName : item.team2.teamName;
                var result = getResult(item.matchResults);
                var team1result = result.hasOwnProperty('pointsTeam1') ? result.pointsTeam1 : '-';
                var team2result = result.hasOwnProperty('pointsTeam2') ? result.pointsTeam2 : '-';    
                return team1name + " "+team1result + " : " + team2result + " "+team2name;
            }
            
            
            
            F Offline
            F Offline
            Felsdrache
            wrote on last edited by
            #539

            @oliverio
            Hallo Oliver das funktioniert bei mir gut.
            Ich hatte mir allerdings gewünscht das immer nur die aktuelle laufenden Spiele gezeigt werden.
            Falls man sich nicht auf Fussball einigen kann werden mir dann zumindest die Spielstände gezeigt.

            Das bekomme ich sicherlich auch noch händisch in den Griff.

            Nach Beendigung des Spiel den Datenpunkt auf " " zu setzten wäre auch wenn nicht mache ich das dann wenn er sich 90 Minuten nicht mehr ändert.
            Ansonsten Danke danke danke das ist allemal besser als ich es so irgendwo gefunden habe.

            P.S ä ö ü kann die Matrix nicht aber das muss mein Problem sein

            Gruss aus dem Rheinland Achim

            1 Reply Last reply
            0
            • OliverIOO OliverIO

              @kafibo
              Die Fehlermeldung sagt das du in den datenpunkt currgameday reinschreibst.
              Irgendwas ist falsch konfiguriert/eingetragen
              Zeige deine Einstellungen bitte

              K Offline
              K Offline
              kafibo
              wrote on last edited by kafibo
              #540

              @oliverio

              Also ich habe immer die beiden Datenpunkte angegeben die dort gefordert sind, aber wie gesagt blinkt es nur ab und zu auf.
              Meine Einstellungen:
              adaptereinstellung.png

              spieltag.png

              tabelle.png

              tabelle2.png

              Und ich habe keinen Datenpunkt beschrieben.

              1 Reply Last reply
              0
              • OliverIOO Offline
                OliverIOO Offline
                OliverIO
                wrote on last edited by
                #541

                @kafibo

                sorry, das sieht nach vis-2 aus.
                da gibt es aktuell noch keinen support dafür

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                K 1 Reply Last reply
                0
                • OliverIOO OliverIO

                  @kafibo

                  sorry, das sieht nach vis-2 aus.
                  da gibt es aktuell noch keinen support dafür

                  K Offline
                  K Offline
                  kafibo
                  wrote on last edited by
                  #542

                  @oliverio
                  Ja das ist es. Kein Problem, ich dachte halt das es funktioniert.
                  Dann warte ich bis VIS-2 unterstützt wird.

                  OliverIOO 1 Reply Last reply
                  0
                  • K kafibo

                    @oliverio
                    Ja das ist es. Kein Problem, ich dachte halt das es funktioniert.
                    Dann warte ich bis VIS-2 unterstützt wird.

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    wrote on last edited by
                    #543

                    @kafibo

                    ich habe das gerade mal ausprobiert.
                    wenn man die liga löscht
                    und wieder neu einträgt
                    dann bspw ein table widget hinzufügt und
                    den datenpunkt allmatches auswählt, dann funktioniert es.
                    auch den curgameday datenpunkt kann man hinzufügen.

                    sobald man aber den datenpunkt ändert(leerzeichen am anfang einfügen), überschreibt iobroker mir den datenpunkt, so das die daten daraus nicht mehr ausgewertet werdne können.

                    da muss ich mal prüfen, evtl ist es auch ein vis-2 fehler, da ich selbst die datenpunkte von vis aus nicht beschreibe.
                    da aber nun der ganze vis-unterbau komplett anders ist und das sozusagen nur eine kompatibilitätsschicht ist, so das eigentlich die alten vis sachen weiter funktionieren sollen, kann es durch aus sein, das da was nicht so unterstützt wird wie früher.
                    das bekommen wir aber hin, kann allerdings ein wenig dauern.

                    daher, solange kein vis-2 support

                    https://github.com/oweitman/ioBroker.openligadb/issues/463

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    K 1 Reply Last reply
                    0
                    • OliverIOO OliverIO

                      @kafibo

                      ich habe das gerade mal ausprobiert.
                      wenn man die liga löscht
                      und wieder neu einträgt
                      dann bspw ein table widget hinzufügt und
                      den datenpunkt allmatches auswählt, dann funktioniert es.
                      auch den curgameday datenpunkt kann man hinzufügen.

                      sobald man aber den datenpunkt ändert(leerzeichen am anfang einfügen), überschreibt iobroker mir den datenpunkt, so das die daten daraus nicht mehr ausgewertet werdne können.

                      da muss ich mal prüfen, evtl ist es auch ein vis-2 fehler, da ich selbst die datenpunkte von vis aus nicht beschreibe.
                      da aber nun der ganze vis-unterbau komplett anders ist und das sozusagen nur eine kompatibilitätsschicht ist, so das eigentlich die alten vis sachen weiter funktionieren sollen, kann es durch aus sein, das da was nicht so unterstützt wird wie früher.
                      das bekommen wir aber hin, kann allerdings ein wenig dauern.

                      daher, solange kein vis-2 support

                      https://github.com/oweitman/ioBroker.openligadb/issues/463

                      K Offline
                      K Offline
                      kafibo
                      wrote on last edited by kafibo
                      #544

                      @oliverio
                      Alles Gut, ist ja nicht Lebensnotwendig !
                      Ich habe das eben auch nochmal probiert, die Tabelle erscheint auch ,aber wenn man die Tabelle verschieben oder die Größe ändern will verschwindet die Tabelle auch wieder.

                      Edit: Ich habe nochmal probiert. Wenn ich den Datenpunkt currgameday nicht ausfülle und dafür den Datenpunkt Erweiterte Einstellung / showgameday dann funktioniert es. Fehler werden im Log aber trotzdem ausgegeben !!!

                      1 Reply Last reply
                      0
                      • OliverIOO OliverIO

                        Hier eine Lösung um in einen Datenpunk die Ergebnisse der Lieblingsvereine des aktuellen Spieltags in einen Datenpunkt zu schreiben.
                        Ziel war diesen Text als Laufschrift auf einem LED-Laufband laufen zu lassen.
                        Alternativ kann er natürlich auch in einem Widget laufen.
                        Es fehlt noch der Trigger für die Änderung des Datenpunkts allmatches.
                        Allerdings sollte man das nicht zu oft aktualisieren lassen, da sich (wie bei den börsenkursen) evtl mal openliga beschwert und ggfs. den Zugriff sperrt

                        // hier konfigurieren start
                        let gameday= getState("openligadb.0.bl1.2023.currgameday").val;
                        let allmatches = JSON.parse(getState("openligadb.0.bl1.2023.allmatches").val);
                        let highlight="vfb;bayern"; //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
                        let dp="0_userdata.0.test.test1"; // name des datenpunkts in dem der ergebnistext landen soll
                        let separator=" | "; // zeichen, die die einzelnen ergebnisse voneinander trennen
                        // hier konfigurieren ende
                        
                        console.log("matches:"+allmatches.length);
                        console.log("gameday:"+gameday);
                        console.log("highlight:"+highlight);
                        
                        let results = filterFavGames(allmatches,gameday,highlight,true);
                        console.log("result:"+results.join(separator));
                        setState(dp,results.join(separator));
                        
                        function filterFavGames(allmatches,gameday,highlight,short=false) {
                            if (!Array.isArray(allmatches)) return [];
                            gameday = parseInt(gameday);
                            
                            let results =  allmatches.reduce(function(result,item){
                                var found;
                                item.short=short;
                                if (gameday == item.group.groupOrderID) found=item;
                                if (found && (checkFavorites(item.team1.teamName,highlight) || checkFavorites(item.team2.teamName,highlight)) ) result.push(prepareResultString(item));
                                return result;
                            },[]);
                            return results;
                        }
                        function getResult(results) {
                            if (results.length==0) return {};
                            results = results.reduce(function(acc,cur){
                                if (cur.resultTypeID>(acc.resultTypeID||0)) acc = cur;
                                return acc;
                            },{});
                            return results;
                        }
                        function checkFavorites(value,favorites,sep) {
                            sep = typeof sep !== 'undefined' ? sep : ";";
                            var favorite = favorites.split(sep);
                            return favorite.reduce(function(acc,cur){
                                if (cur=='') return acc;
                                return acc || value.toLowerCase().indexOf(cur.toLowerCase())>=0; 
                            },false);
                        }
                        function prepareResultString(item){
                            var team1name = item.short ? item.team1.shortName : item.team1.teamName;
                            var team2name = item.short ? item.team2.shortName : item.team2.teamName;
                            var result = getResult(item.matchResults);
                            var team1result = result.hasOwnProperty('pointsTeam1') ? result.pointsTeam1 : '-';
                            var team2result = result.hasOwnProperty('pointsTeam2') ? result.pointsTeam2 : '-';    
                            return team1name + " "+team1result + " : " + team2result + " "+team2name;
                        }
                        
                        
                        
                        F Offline
                        F Offline
                        Felsdrache
                        wrote on last edited by
                        #545

                        @oliverio Hallo gibt es eine Möglichkeit rauszufiltern wer aktuell grade spielt?

                        OliverIOO 1 Reply Last reply
                        0
                        • F Felsdrache

                          @oliverio Hallo gibt es eine Möglichkeit rauszufiltern wer aktuell grade spielt?

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          wrote on last edited by
                          #546

                          @felsdrache

                          ja, dazu müsste man in meinem script in zeile 24 die filterbedingung erweitern, so das das aktuelle datums/zeitobjekt von javascript innerhalb der angegebenen spielzeit liegt.

                          ungetestet:

                          // hier konfigurieren start
                          let gameday= getState("openligadb.0.bl1.2023.currgameday").val;
                          let allmatches = JSON.parse(getState("openligadb.0.bl1.2023.allmatches").val);
                          let highlight="vfb;bayern"; //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
                          let dp="0_userdata.0.test.test1"; // name des datenpunkts in dem der ergebnistext landen soll
                          let separator=" | "; // zeichen, die die einzelnen ergebnisse voneinander trennen
                          let spieldauerMinutes=120;
                          // hier konfigurieren ende
                           
                          console.log("matches:"+allmatches.length);
                          console.log("gameday:"+gameday);
                          console.log("highlight:"+highlight);
                           
                          let results = filterFavGames(allmatches,gameday,highlight,true);
                          console.log("result:"+results.join(separator));
                          setState(dp,results.join(separator));
                           
                          
                          function filterFavGames(allmatches,gameday,highlight,short=false) {
                              if (!Array.isArray(allmatches)) return [];
                              gameday = parseInt(gameday);
                              
                              let results =  allmatches.reduce(function(result,item){
                                  var found;
                                  item.short=short;
                                  if (
                                      gameday == item.group.groupOrderID && 
                                      new Date()>new Date(item.matchDateTime) && 
                                      new Date(new Date(item.matchDateTime).getDate()+spieldauerMinutes*60000) >new Date()
                                      ) found=item;
                                  if (found && (checkFavorites(item.team1.teamName,highlight) || checkFavorites(item.team2.teamName,highlight)) ) result.push(prepareResultString(item));
                                  return result;
                              },[]);
                              return results;
                          }
                          
                          
                          
                          function getResult(results) {
                              if (results.length==0) return {};
                              results = results.reduce(function(acc,cur){
                                  if (cur.resultTypeID>(acc.resultTypeID||0)) acc = cur;
                                  return acc;
                              },{});
                              return results;
                          }
                          function checkFavorites(value,favorites,sep) {
                              sep = typeof sep !== 'undefined' ? sep : ";";
                              var favorite = favorites.split(sep);
                              return favorite.reduce(function(acc,cur){
                                  if (cur=='') return acc;
                                  return acc || value.toLowerCase().indexOf(cur.toLowerCase())>=0; 
                              },false);
                          }
                          function prepareResultString(item){
                              var team1name = item.short ? item.team1.shortName : item.team1.teamName;
                              var team2name = item.short ? item.team2.shortName : item.team2.teamName;
                              var result = getResult(item.matchResults);
                              var team1result = result.hasOwnProperty('pointsTeam1') ? result.pointsTeam1 : '-';
                              var team2result = result.hasOwnProperty('pointsTeam2') ? result.pointsTeam2 : '-';    
                              return team1name + " "+team1result + " : " + team2result + " "+team2name;
                          }
                           
                           
                          
                          

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          F 1 Reply Last reply
                          0
                          • OliverIOO OliverIO

                            @felsdrache

                            ja, dazu müsste man in meinem script in zeile 24 die filterbedingung erweitern, so das das aktuelle datums/zeitobjekt von javascript innerhalb der angegebenen spielzeit liegt.

                            ungetestet:

                            // hier konfigurieren start
                            let gameday= getState("openligadb.0.bl1.2023.currgameday").val;
                            let allmatches = JSON.parse(getState("openligadb.0.bl1.2023.allmatches").val);
                            let highlight="vfb;bayern"; //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
                            let dp="0_userdata.0.test.test1"; // name des datenpunkts in dem der ergebnistext landen soll
                            let separator=" | "; // zeichen, die die einzelnen ergebnisse voneinander trennen
                            let spieldauerMinutes=120;
                            // hier konfigurieren ende
                             
                            console.log("matches:"+allmatches.length);
                            console.log("gameday:"+gameday);
                            console.log("highlight:"+highlight);
                             
                            let results = filterFavGames(allmatches,gameday,highlight,true);
                            console.log("result:"+results.join(separator));
                            setState(dp,results.join(separator));
                             
                            
                            function filterFavGames(allmatches,gameday,highlight,short=false) {
                                if (!Array.isArray(allmatches)) return [];
                                gameday = parseInt(gameday);
                                
                                let results =  allmatches.reduce(function(result,item){
                                    var found;
                                    item.short=short;
                                    if (
                                        gameday == item.group.groupOrderID && 
                                        new Date()>new Date(item.matchDateTime) && 
                                        new Date(new Date(item.matchDateTime).getDate()+spieldauerMinutes*60000) >new Date()
                                        ) found=item;
                                    if (found && (checkFavorites(item.team1.teamName,highlight) || checkFavorites(item.team2.teamName,highlight)) ) result.push(prepareResultString(item));
                                    return result;
                                },[]);
                                return results;
                            }
                            
                            
                            
                            function getResult(results) {
                                if (results.length==0) return {};
                                results = results.reduce(function(acc,cur){
                                    if (cur.resultTypeID>(acc.resultTypeID||0)) acc = cur;
                                    return acc;
                                },{});
                                return results;
                            }
                            function checkFavorites(value,favorites,sep) {
                                sep = typeof sep !== 'undefined' ? sep : ";";
                                var favorite = favorites.split(sep);
                                return favorite.reduce(function(acc,cur){
                                    if (cur=='') return acc;
                                    return acc || value.toLowerCase().indexOf(cur.toLowerCase())>=0; 
                                },false);
                            }
                            function prepareResultString(item){
                                var team1name = item.short ? item.team1.shortName : item.team1.teamName;
                                var team2name = item.short ? item.team2.shortName : item.team2.teamName;
                                var result = getResult(item.matchResults);
                                var team1result = result.hasOwnProperty('pointsTeam1') ? result.pointsTeam1 : '-';
                                var team2result = result.hasOwnProperty('pointsTeam2') ? result.pointsTeam2 : '-';    
                                return team1name + " "+team1result + " : " + team2result + " "+team2name;
                            }
                             
                             
                            
                            
                            F Offline
                            F Offline
                            Felsdrache
                            wrote on last edited by
                            #547

                            @oliverio
                            Danke

                            F 1 Reply Last reply
                            0
                            • F Felsdrache

                              @oliverio
                              Danke

                              F Offline
                              F Offline
                              Felsdrache
                              wrote on last edited by
                              #548

                              @felsdrache Tach zusammen also mit der Frauenbundesliga funktiniert es schonmal nicht.

                              Oder liegt es an meinen Einstellungen?

                              // hier konfigurieren start
                              
                              let gameday= getState("openligadb.0.bl1f.2023.currgameday").val;
                              
                              let allmatches = JSON.parse(getState("openligadb.0.bl1f.2023.allmatches").val);
                              
                              
                              let highlight="Köln" //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
                              
                              // let highlight="vfb;bayern"; //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
                              
                              let dp="0_userdata.0.openliga.1_Liga_Frauen"; // name des datenpunkts in dem der ergebnistext landen soll
                               // let dp="0_userdata.0.test.test1"; // name des datenpunkts in dem der ergebnistext landen soll
                              
                              let separator=" | "; // zeichen, die die einzelnen ergebnisse voneinander trennen
                              
                              let spieldauerMinutes=120;
                              
                              // hier konfigurieren ende
                              
                               
                              
                              console.log("matches:"+allmatches.length);
                              
                              console.log("gameday:"+gameday);
                              
                              console.log("highlight:"+highlight);
                              
                               
                              
                              let results = filterFavGames(allmatches,gameday,highlight,true);
                              
                              console.log("result:"+results.join(separator));
                              
                              setState(dp,results.join(separator));
                              
                               
                              
                               
                              
                              function filterFavGames(allmatches,gameday,highlight,short=false) {
                              
                                  if (!Array.isArray(allmatches)) return [];
                              
                                  gameday = parseInt(gameday);
                              
                                  
                              
                                  let results =  allmatches.reduce(function(result,item){
                              
                                      var found;
                              
                                      item.short=short;
                              
                                      if (
                              
                                          gameday == item.group.groupOrderID && 
                              
                                          new Date()>new Date(item.matchDateTime) && 
                              
                                          new Date(new Date(item.matchDateTime).getDate()+spieldauerMinutes*60000) >new Date()
                              
                                          ) found=item;
                              
                                      if (found && (checkFavorites(item.team1.teamName,highlight) || checkFavorites(item.team2.teamName,highlight)) ) result.push(prepareResultString(item));
                              
                                      return result;
                              
                                  },[]);
                              
                                  return results;
                              
                              }
                              
                               
                              
                               
                              
                               
                              
                              function getResult(results) {
                              
                                  if (results.length==0) return {};
                              
                                  results = results.reduce(function(acc,cur){
                              
                                      if (cur.resultTypeID>(acc.resultTypeID||0)) acc = cur;
                              
                                      return acc;
                              
                                  },{});
                              
                                  return results;
                              
                              }
                              
                              function checkFavorites(value,favorites,sep) {
                              
                                  sep = typeof sep !== 'undefined' ? sep : ";";
                              
                                  var favorite = favorites.split(sep);
                              
                                  return favorite.reduce(function(acc,cur){
                              
                                      if (cur=='') return acc;
                              
                                      return acc || value.toLowerCase().indexOf(cur.toLowerCase())>=0; 
                              
                                  },false);
                              
                              }
                              
                              function prepareResultString(item){
                              
                                  var team1name = item.short ? item.team1.shortName : item.team1.teamName;
                              
                                  var team2name = item.short ? item.team2.shortName : item.team2.teamName;
                              
                                  var result = getResult(item.matchResults);
                              
                                  var team1result = result.hasOwnProperty('pointsTeam1') ? result.pointsTeam1 : '-';
                              
                                  var team2result = result.hasOwnProperty('pointsTeam2') ? result.pointsTeam2 : '-';    
                              
                                  return team1name + " "+team1result + " : " + team2result + " "+team2name;
                              
                              }
                              
                              
                              OliverIOO 1 Reply Last reply
                              0
                              • F Felsdrache

                                @felsdrache Tach zusammen also mit der Frauenbundesliga funktiniert es schonmal nicht.

                                Oder liegt es an meinen Einstellungen?

                                // hier konfigurieren start
                                
                                let gameday= getState("openligadb.0.bl1f.2023.currgameday").val;
                                
                                let allmatches = JSON.parse(getState("openligadb.0.bl1f.2023.allmatches").val);
                                
                                
                                let highlight="Köln" //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
                                
                                // let highlight="vfb;bayern"; //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
                                
                                let dp="0_userdata.0.openliga.1_Liga_Frauen"; // name des datenpunkts in dem der ergebnistext landen soll
                                 // let dp="0_userdata.0.test.test1"; // name des datenpunkts in dem der ergebnistext landen soll
                                
                                let separator=" | "; // zeichen, die die einzelnen ergebnisse voneinander trennen
                                
                                let spieldauerMinutes=120;
                                
                                // hier konfigurieren ende
                                
                                 
                                
                                console.log("matches:"+allmatches.length);
                                
                                console.log("gameday:"+gameday);
                                
                                console.log("highlight:"+highlight);
                                
                                 
                                
                                let results = filterFavGames(allmatches,gameday,highlight,true);
                                
                                console.log("result:"+results.join(separator));
                                
                                setState(dp,results.join(separator));
                                
                                 
                                
                                 
                                
                                function filterFavGames(allmatches,gameday,highlight,short=false) {
                                
                                    if (!Array.isArray(allmatches)) return [];
                                
                                    gameday = parseInt(gameday);
                                
                                    
                                
                                    let results =  allmatches.reduce(function(result,item){
                                
                                        var found;
                                
                                        item.short=short;
                                
                                        if (
                                
                                            gameday == item.group.groupOrderID && 
                                
                                            new Date()>new Date(item.matchDateTime) && 
                                
                                            new Date(new Date(item.matchDateTime).getDate()+spieldauerMinutes*60000) >new Date()
                                
                                            ) found=item;
                                
                                        if (found && (checkFavorites(item.team1.teamName,highlight) || checkFavorites(item.team2.teamName,highlight)) ) result.push(prepareResultString(item));
                                
                                        return result;
                                
                                    },[]);
                                
                                    return results;
                                
                                }
                                
                                 
                                
                                 
                                
                                 
                                
                                function getResult(results) {
                                
                                    if (results.length==0) return {};
                                
                                    results = results.reduce(function(acc,cur){
                                
                                        if (cur.resultTypeID>(acc.resultTypeID||0)) acc = cur;
                                
                                        return acc;
                                
                                    },{});
                                
                                    return results;
                                
                                }
                                
                                function checkFavorites(value,favorites,sep) {
                                
                                    sep = typeof sep !== 'undefined' ? sep : ";";
                                
                                    var favorite = favorites.split(sep);
                                
                                    return favorite.reduce(function(acc,cur){
                                
                                        if (cur=='') return acc;
                                
                                        return acc || value.toLowerCase().indexOf(cur.toLowerCase())>=0; 
                                
                                    },false);
                                
                                }
                                
                                function prepareResultString(item){
                                
                                    var team1name = item.short ? item.team1.shortName : item.team1.teamName;
                                
                                    var team2name = item.short ? item.team2.shortName : item.team2.teamName;
                                
                                    var result = getResult(item.matchResults);
                                
                                    var team1result = result.hasOwnProperty('pointsTeam1') ? result.pointsTeam1 : '-';
                                
                                    var team2result = result.hasOwnProperty('pointsTeam2') ? result.pointsTeam2 : '-';    
                                
                                    return team1name + " "+team1result + " : " + team2result + " "+team2name;
                                
                                }
                                
                                
                                OliverIOO Offline
                                OliverIOO Offline
                                OliverIO
                                wrote on last edited by
                                #549

                                @felsdrache sagte in Test Adapter OpenLigaDB v0.0.x:

                                bl1f

                                mein auto hat gerade auch ein Problem, an was könnte es den liegen?

                                etwas mehr bitte zur Problembeschreibung.
                                Woran machst du fest, das es nicht funktioniert?
                                Ich habe es gerade ausprobiert und es steht ordnungsgemäß
                                Bremen - : - Köln
                                drin.
                                Es wurden noch keine Tore erfasst, falls da bereits welche gefallen sind.

                                Meine Adapter und Widgets
                                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                Links im Profil

                                F 1 Reply Last reply
                                0
                                • OliverIOO OliverIO

                                  @felsdrache sagte in Test Adapter OpenLigaDB v0.0.x:

                                  bl1f

                                  mein auto hat gerade auch ein Problem, an was könnte es den liegen?

                                  etwas mehr bitte zur Problembeschreibung.
                                  Woran machst du fest, das es nicht funktioniert?
                                  Ich habe es gerade ausprobiert und es steht ordnungsgemäß
                                  Bremen - : - Köln
                                  drin.
                                  Es wurden noch keine Tore erfasst, falls da bereits welche gefallen sind.

                                  F Offline
                                  F Offline
                                  Felsdrache
                                  wrote on last edited by
                                  #550

                                  @oliverio Bin grade unterwegs aber mit dem Script wie ich es geändert habe Stand bei mir halt kein aktives Spiel.
                                  Ich will ja nicht ausschließen das es an mir liegt. Deshalb habe ich Script ja reingtellt.
                                  Gruss Achim

                                  OliverIOO 1 Reply Last reply
                                  0
                                  • F Felsdrache

                                    @oliverio Bin grade unterwegs aber mit dem Script wie ich es geändert habe Stand bei mir halt kein aktives Spiel.
                                    Ich will ja nicht ausschließen das es an mir liegt. Deshalb habe ich Script ja reingtellt.
                                    Gruss Achim

                                    OliverIOO Offline
                                    OliverIOO Offline
                                    OliverIO
                                    wrote on last edited by
                                    #551

                                    @felsdrache

                                    Aber wie gesagt musst du dazuschreiben was genau nicht tut.
                                    Gibt es Fehlermeldung?
                                    Wenn keine Fehlermeldung dann wie gesagt woran du festmachst das es nicht tut.

                                    Meine Adapter und Widgets
                                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                    Links im Profil

                                    F 1 Reply Last reply
                                    0
                                    • OliverIOO OliverIO

                                      @felsdrache

                                      Aber wie gesagt musst du dazuschreiben was genau nicht tut.
                                      Gibt es Fehlermeldung?
                                      Wenn keine Fehlermeldung dann wie gesagt woran du festmachst das es nicht tut.

                                      F Offline
                                      F Offline
                                      Felsdrache
                                      wrote on last edited by Felsdrache
                                      #552

                                      @oliverio Nein keine Fehlermeldung sondern result:" "
                                      aktuell müsste ja Leverkusen Freiburg angezeigt werden

                                      Dann muss ja irgendwas in meinem geänderten Script nicht passen.
                                      Ich finde aber keinen Fehler.

                                      // hier konfigurieren start
                                      
                                      let gameday= getState("openligadb.0.bl1f.2023.currgameday").val;
                                      
                                      let allmatches = JSON.parse(getState("openligadb.0.bl1f.2023.allmatches").val);
                                      
                                      // let highlight="vfb;bayern"; //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
                                      
                                      let highlight="Leverkusen"; //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
                                      
                                      let dp="0_userdata.0.openliga.1LigaFrauen"; // name des datenpunkts in dem der ergebnistext landen soll
                                      
                                      // let dp="0_userdata.0.test.test1"; // name des datenpunkts in dem der ergebnistext landen soll
                                      
                                      let separator=" | "; // zeichen, die die einzelnen ergebnisse voneinander trennen
                                      
                                      let spieldauerMinutes=120;
                                      
                                      // hier konfigurieren ende
                                      
                                       
                                      
                                      console.log("matches:"+allmatches.length);
                                      
                                      console.log("gameday:"+gameday);
                                      
                                      console.log("highlight:"+highlight);
                                      
                                       
                                      
                                      let results = filterFavGames(allmatches,gameday,highlight,true);
                                      
                                      console.log("result:"+results.join(separator));
                                      
                                      setState(dp,results.join(separator));
                                      
                                       
                                      
                                       
                                      
                                      function filterFavGames(allmatches,gameday,highlight,short=false) {
                                      
                                          if (!Array.isArray(allmatches)) return [];
                                      
                                          gameday = parseInt(gameday);
                                      
                                          
                                      
                                          let results =  allmatches.reduce(function(result,item){
                                      
                                              var found;
                                      
                                              item.short=short;
                                      
                                              if (
                                      
                                                  gameday == item.group.groupOrderID && 
                                      
                                                  new Date()>new Date(item.matchDateTime) && 
                                      
                                                  new Date(new Date(item.matchDateTime).getDate()+spieldauerMinutes*60000) >new Date()
                                      
                                                  ) found=item;
                                      
                                              if (found && (checkFavorites(item.team1.teamName,highlight) || checkFavorites(item.team2.teamName,highlight)) ) result.push(prepareResultString(item));
                                      
                                              return result;
                                      
                                          },[]);
                                      
                                          return results;
                                      
                                      }
                                      
                                       
                                      
                                       
                                      
                                       
                                      
                                      function getResult(results) {
                                      
                                          if (results.length==0) return {};
                                      
                                          results = results.reduce(function(acc,cur){
                                      
                                              if (cur.resultTypeID>(acc.resultTypeID||0)) acc = cur;
                                      
                                              return acc;
                                      
                                          },{});
                                      
                                          return results;
                                      
                                      }
                                      
                                      function checkFavorites(value,favorites,sep) {
                                      
                                          sep = typeof sep !== 'undefined' ? sep : ";";
                                      
                                          var favorite = favorites.split(sep);
                                      
                                          return favorite.reduce(function(acc,cur){
                                      
                                              if (cur=='') return acc;
                                      
                                              return acc || value.toLowerCase().indexOf(cur.toLowerCase())>=0; 
                                      
                                          },false);
                                      
                                      }
                                      
                                      function prepareResultString(item){
                                      
                                          var team1name = item.short ? item.team1.shortName : item.team1.teamName;
                                      
                                          var team2name = item.short ? item.team2.shortName : item.team2.teamName;
                                      
                                          var result = getResult(item.matchResults);
                                      
                                          var team1result = result.hasOwnProperty('pointsTeam1') ? result.pointsTeam1 : '-';
                                      
                                          var team2result = result.hasOwnProperty('pointsTeam2') ? result.pointsTeam2 : '-';    
                                      
                                          return team1name + " "+team1result + " : " + team2result + " "+team2name;
                                      
                                      }
                                      
                                      

                                      15.10.2023, 19:14:17.119 [info ]: javascript.0 (2275) Stop script script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen
                                      15.10.2023, 19:14:17.126 [info ]: javascript.0 (2275) Start javascript script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen
                                      15.10.2023, 19:14:17.131 [info ]: javascript.0 (2275) script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen: matches:132
                                      15.10.2023, 19:14:17.131 [info ]: javascript.0 (2275) script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen: gameday:4
                                      15.10.2023, 19:14:17.131 [info ]: javascript.0 (2275) script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen: highlight:Leverkusen
                                      15.10.2023, 19:14:17.132 [info ]: javascript.0 (2275) script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen: result:
                                      15.10.2023, 19:14:17.132 [info ]: javascript.0 (2275) script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions

                                      
                                       
                                      
                                       
                                      
                                       
                                      
                                      
                                      OliverIOO 1 Reply Last reply
                                      0
                                      • F Felsdrache

                                        @oliverio Nein keine Fehlermeldung sondern result:" "
                                        aktuell müsste ja Leverkusen Freiburg angezeigt werden

                                        Dann muss ja irgendwas in meinem geänderten Script nicht passen.
                                        Ich finde aber keinen Fehler.

                                        // hier konfigurieren start
                                        
                                        let gameday= getState("openligadb.0.bl1f.2023.currgameday").val;
                                        
                                        let allmatches = JSON.parse(getState("openligadb.0.bl1f.2023.allmatches").val);
                                        
                                        // let highlight="vfb;bayern"; //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
                                        
                                        let highlight="Leverkusen"; //suchstrings für die lieblingsvereine, dessen ergebnisse herausgesucht werden sollen. mehrere mit ; getrennt
                                        
                                        let dp="0_userdata.0.openliga.1LigaFrauen"; // name des datenpunkts in dem der ergebnistext landen soll
                                        
                                        // let dp="0_userdata.0.test.test1"; // name des datenpunkts in dem der ergebnistext landen soll
                                        
                                        let separator=" | "; // zeichen, die die einzelnen ergebnisse voneinander trennen
                                        
                                        let spieldauerMinutes=120;
                                        
                                        // hier konfigurieren ende
                                        
                                         
                                        
                                        console.log("matches:"+allmatches.length);
                                        
                                        console.log("gameday:"+gameday);
                                        
                                        console.log("highlight:"+highlight);
                                        
                                         
                                        
                                        let results = filterFavGames(allmatches,gameday,highlight,true);
                                        
                                        console.log("result:"+results.join(separator));
                                        
                                        setState(dp,results.join(separator));
                                        
                                         
                                        
                                         
                                        
                                        function filterFavGames(allmatches,gameday,highlight,short=false) {
                                        
                                            if (!Array.isArray(allmatches)) return [];
                                        
                                            gameday = parseInt(gameday);
                                        
                                            
                                        
                                            let results =  allmatches.reduce(function(result,item){
                                        
                                                var found;
                                        
                                                item.short=short;
                                        
                                                if (
                                        
                                                    gameday == item.group.groupOrderID && 
                                        
                                                    new Date()>new Date(item.matchDateTime) && 
                                        
                                                    new Date(new Date(item.matchDateTime).getDate()+spieldauerMinutes*60000) >new Date()
                                        
                                                    ) found=item;
                                        
                                                if (found && (checkFavorites(item.team1.teamName,highlight) || checkFavorites(item.team2.teamName,highlight)) ) result.push(prepareResultString(item));
                                        
                                                return result;
                                        
                                            },[]);
                                        
                                            return results;
                                        
                                        }
                                        
                                         
                                        
                                         
                                        
                                         
                                        
                                        function getResult(results) {
                                        
                                            if (results.length==0) return {};
                                        
                                            results = results.reduce(function(acc,cur){
                                        
                                                if (cur.resultTypeID>(acc.resultTypeID||0)) acc = cur;
                                        
                                                return acc;
                                        
                                            },{});
                                        
                                            return results;
                                        
                                        }
                                        
                                        function checkFavorites(value,favorites,sep) {
                                        
                                            sep = typeof sep !== 'undefined' ? sep : ";";
                                        
                                            var favorite = favorites.split(sep);
                                        
                                            return favorite.reduce(function(acc,cur){
                                        
                                                if (cur=='') return acc;
                                        
                                                return acc || value.toLowerCase().indexOf(cur.toLowerCase())>=0; 
                                        
                                            },false);
                                        
                                        }
                                        
                                        function prepareResultString(item){
                                        
                                            var team1name = item.short ? item.team1.shortName : item.team1.teamName;
                                        
                                            var team2name = item.short ? item.team2.shortName : item.team2.teamName;
                                        
                                            var result = getResult(item.matchResults);
                                        
                                            var team1result = result.hasOwnProperty('pointsTeam1') ? result.pointsTeam1 : '-';
                                        
                                            var team2result = result.hasOwnProperty('pointsTeam2') ? result.pointsTeam2 : '-';    
                                        
                                            return team1name + " "+team1result + " : " + team2result + " "+team2name;
                                        
                                        }
                                        
                                        

                                        15.10.2023, 19:14:17.119 [info ]: javascript.0 (2275) Stop script script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen
                                        15.10.2023, 19:14:17.126 [info ]: javascript.0 (2275) Start javascript script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen
                                        15.10.2023, 19:14:17.131 [info ]: javascript.0 (2275) script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen: matches:132
                                        15.10.2023, 19:14:17.131 [info ]: javascript.0 (2275) script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen: gameday:4
                                        15.10.2023, 19:14:17.131 [info ]: javascript.0 (2275) script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen: highlight:Leverkusen
                                        15.10.2023, 19:14:17.132 [info ]: javascript.0 (2275) script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen: result:
                                        15.10.2023, 19:14:17.132 [info ]: javascript.0 (2275) script.js.common.Test.Openliga_Aktuelle_Spiele_Frauen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions

                                        
                                         
                                        
                                         
                                        
                                         
                                        
                                        
                                        OliverIOO Offline
                                        OliverIOO Offline
                                        OliverIO
                                        wrote on last edited by
                                        #553

                                        @felsdrache

                                        Du musst jetzt bis zum Wochenende warten. Bin im Ausland aktuell.

                                        Meine Adapter und Widgets
                                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                        Links im Profil

                                        F 1 Reply Last reply
                                        0
                                        • OliverIOO OliverIO

                                          @felsdrache

                                          Du musst jetzt bis zum Wochenende warten. Bin im Ausland aktuell.

                                          F Offline
                                          F Offline
                                          Felsdrache
                                          wrote on last edited by
                                          #554

                                          @oliverio ja gerne ist ja nix was die Welt verändert. Trotzdem nochmal vielen Danknfür deine Arbeit.

                                          F 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

                                          903

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          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