Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Parser Adapter liefert kein Ergebniss

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Parser Adapter liefert kein Ergebniss

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
44 Beiträge 4 Kommentatoren 2.5k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • dirk_1930D dirk_1930

    @liv-in-sky
    Danke für dein Angebot das Script anzupassen.

    Ich habe einen Screenshot von den Log gemacht und die gewünschten Daten markiert. Hoffe das ist OK so...
    Zusätzlich habe ich einzelne Werte mit gelb unterstrichen. Können die jeweils einzeln extrahiert werden?

    Freue mich auf deinen Vorschlag :-)

    cheerio_1.JPG

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #41

    @dirk_1930

    probiere mal das - datenpunkte unter 0_userdata - werden angelegt

    dann müssen wir nur noch wegen dem abfrageinterval was machen - wie oft willst du das abfragen - nicht zu oft, manche seiten mögen das nicht, wenn dauernd solche fragen kommen

    
    const cheerio = require('cheerio');
    const request = require('request');
    const axios=require('axios');
    let jsonArr;
    let myDPunkt="0_userdata.0.CONTROL-OWN.TABELLEN.Vilsbiburg"
    
    let mySchedule1="  33 */8 * * * "; // alle 8 stunden bei minute 33
    
    doStuff()
    holeDaten();
    // schedule(mySchedule1,  function () {
     let myVarVar=mathRandomInt(10, 300);
    // log("startet ");
     setTimeout(function() {
       //  log("jetzt "+myVarVar);
         holeDaten();
    
     }, myVarVar*1000);
    // });
    
    
    function mathRandomInt(a, b) {
     if (a > b) {
       // Swap a and b to ensure a is smaller.
       var c = a;
       a = b;
       b = c;
     }
     return Math.floor(Math.random() * (b - a + 1) + a);
    }
    
    async function holeDaten() { 
       log("jetzt")
       await axios.get(encodeURI('https://www.meteoblue.com/de/wetter/woche/köln_deutschland_2886242'), {
                       headers: { 'User-Agent':`Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36` }
    }).then((result) => {
            // log(result.data);log(result)
                const $ = cheerio.load(result.data)
                                  const list5 = $('*')
                                                     .find('.col-12')                 //find("[class*=re]")  //find('.table_wert_1a')
                                                     .toArray()
                                                     .map(element => { return $(element).text()}); //log(list5.length +"---"+list5)
                                                   //  for (let z=0;z<list5.length;z++){log(list5[z])}
    
                            //  log(list5[5])
          
    //} 
    //log(JSON.stringify(jsonArr))   //hier in dp schreiben
    //log("jetzt "+myVarVar);
    //log(list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,''))
    let helpingHand=list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,'')
    setState("0_userdata.0.KoelnWetter.BerichtLang",list5[10])
    setState("0_userdata.0.KoelnWetter.BerichtKurz",list5[4].replace('Wetterbericht für Köln ',''))
    setState("0_userdata.0.KoelnWetter.UV2Start",helpingHand.replace(/^.*?([0-9][0-9]:[0-9][0-9]).*/,"$1"))
    setState("0_userdata.0.KoelnWetter.UV2End",helpingHand.replace(/^.*?[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1')) //^UV2▲[0-9][0-9]:[0-9][0-9]▼([0-9][0-9]:[0-9][0-9])
    setState("0_userdata.0.KoelnWetter.Mond2Start",helpingHand.replace(/^.*?\)([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
    setState("0_userdata.0.KoelnWetter.Mond2End",helpingHand.replace(/^.*?\)[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
    setState("0_userdata.0.KoelnWetter.MondGrad",helpingHand.replace(/^.*?\((.*?)\).*/gm,'$1'))
    
           }).catch((error) => {
               return error;
           })}
    
    async function doStuff() {
      
       
        if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtLang"))) {
           await createStateAsync("0_userdata.0.KoelnWetter.BerichtLang",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
        if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtKurz"))) {
           await createStateAsync("0_userdata.0.KoelnWetter.BerichtKurz",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
        if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2Start"))) {
           await createStateAsync("0_userdata.0.KoelnWetter.UV2Start",{type: "string", name: "UV2Start", role: "value", read: true, write: true, } ); } 
        if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2End"))) {
           await createStateAsync("0_userdata.0.KoelnWetter.UV2End",{type: "string", name: "UV2End", role: "value", read: true, write: true, } ); }           
        if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2End"))) {
           await createStateAsync("0_userdata.0.KoelnWetter.Mond2End",{type: "string", name: "Mond2End", role: "value", read: true, write: true, } ); }
        if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2Start"))) {
           await createStateAsync("0_userdata.0.KoelnWetter.Mond2Start",{type: "string", name: "Mond2Start", role: "value", read: true, write: true, } ); }  
        if (!(await existsStateAsync("0_userdata.0.KoelnWetter.MondGrad"))) {
           await createStateAsync("0_userdata.0.KoelnWetter.MondGrad",{type: "string", name: "MondGrad", role: "value", read: true, write: true, } ); }      
    
    
    
    }
    
    ![Image 2.png](/assets/uploads/files/1646986580738-image-2.png) 
    
    
    
    
    
    
    

    Image 2.png

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    dirk_1930D 1 Antwort Letzte Antwort
    0
    • liv-in-skyL liv-in-sky

      @dirk_1930

      probiere mal das - datenpunkte unter 0_userdata - werden angelegt

      dann müssen wir nur noch wegen dem abfrageinterval was machen - wie oft willst du das abfragen - nicht zu oft, manche seiten mögen das nicht, wenn dauernd solche fragen kommen

      
      const cheerio = require('cheerio');
      const request = require('request');
      const axios=require('axios');
      let jsonArr;
      let myDPunkt="0_userdata.0.CONTROL-OWN.TABELLEN.Vilsbiburg"
      
      let mySchedule1="  33 */8 * * * "; // alle 8 stunden bei minute 33
      
      doStuff()
      holeDaten();
      // schedule(mySchedule1,  function () {
       let myVarVar=mathRandomInt(10, 300);
      // log("startet ");
       setTimeout(function() {
         //  log("jetzt "+myVarVar);
           holeDaten();
      
       }, myVarVar*1000);
      // });
      
      
      function mathRandomInt(a, b) {
       if (a > b) {
         // Swap a and b to ensure a is smaller.
         var c = a;
         a = b;
         b = c;
       }
       return Math.floor(Math.random() * (b - a + 1) + a);
      }
      
      async function holeDaten() { 
         log("jetzt")
         await axios.get(encodeURI('https://www.meteoblue.com/de/wetter/woche/köln_deutschland_2886242'), {
                         headers: { 'User-Agent':`Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36` }
      }).then((result) => {
              // log(result.data);log(result)
                  const $ = cheerio.load(result.data)
                                    const list5 = $('*')
                                                       .find('.col-12')                 //find("[class*=re]")  //find('.table_wert_1a')
                                                       .toArray()
                                                       .map(element => { return $(element).text()}); //log(list5.length +"---"+list5)
                                                     //  for (let z=0;z<list5.length;z++){log(list5[z])}
      
                              //  log(list5[5])
            
      //} 
      //log(JSON.stringify(jsonArr))   //hier in dp schreiben
      //log("jetzt "+myVarVar);
      //log(list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,''))
      let helpingHand=list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,'')
      setState("0_userdata.0.KoelnWetter.BerichtLang",list5[10])
      setState("0_userdata.0.KoelnWetter.BerichtKurz",list5[4].replace('Wetterbericht für Köln ',''))
      setState("0_userdata.0.KoelnWetter.UV2Start",helpingHand.replace(/^.*?([0-9][0-9]:[0-9][0-9]).*/,"$1"))
      setState("0_userdata.0.KoelnWetter.UV2End",helpingHand.replace(/^.*?[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1')) //^UV2▲[0-9][0-9]:[0-9][0-9]▼([0-9][0-9]:[0-9][0-9])
      setState("0_userdata.0.KoelnWetter.Mond2Start",helpingHand.replace(/^.*?\)([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
      setState("0_userdata.0.KoelnWetter.Mond2End",helpingHand.replace(/^.*?\)[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
      setState("0_userdata.0.KoelnWetter.MondGrad",helpingHand.replace(/^.*?\((.*?)\).*/gm,'$1'))
      
             }).catch((error) => {
                 return error;
             })}
      
      async function doStuff() {
        
         
          if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtLang"))) {
             await createStateAsync("0_userdata.0.KoelnWetter.BerichtLang",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
          if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtKurz"))) {
             await createStateAsync("0_userdata.0.KoelnWetter.BerichtKurz",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
          if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2Start"))) {
             await createStateAsync("0_userdata.0.KoelnWetter.UV2Start",{type: "string", name: "UV2Start", role: "value", read: true, write: true, } ); } 
          if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2End"))) {
             await createStateAsync("0_userdata.0.KoelnWetter.UV2End",{type: "string", name: "UV2End", role: "value", read: true, write: true, } ); }           
          if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2End"))) {
             await createStateAsync("0_userdata.0.KoelnWetter.Mond2End",{type: "string", name: "Mond2End", role: "value", read: true, write: true, } ); }
          if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2Start"))) {
             await createStateAsync("0_userdata.0.KoelnWetter.Mond2Start",{type: "string", name: "Mond2Start", role: "value", read: true, write: true, } ); }  
          if (!(await existsStateAsync("0_userdata.0.KoelnWetter.MondGrad"))) {
             await createStateAsync("0_userdata.0.KoelnWetter.MondGrad",{type: "string", name: "MondGrad", role: "value", read: true, write: true, } ); }      
      
      
      
      }
      
      ![Image 2.png](/assets/uploads/files/1646986580738-image-2.png) 
      
      
      
      
      
      
      

      Image 2.png

      dirk_1930D Offline
      dirk_1930D Offline
      dirk_1930
      schrieb am zuletzt editiert von dirk_1930
      #42

      @liv-in-sky
      Das klappt... Habe noch in Zeile 53 - list5[11] gesetzt...

      Ich habe noch ein paar technische Fragen, damit ich etwas dazu lerne ;-)
      Du hast in Zeile 52 Zeichen ersetzt. Wie hast du vorher gesehen, was im Original steht - damit die Ersetzung ersichtlich ist?
      Zwischen Zeile 57 und 61 ergänzt du am ende "$1" bzw. gm, "$1". Was bedeutet das?

      Das Abfrageintervall sollte alle 6 Stunden sein.

      liv-in-skyL 1 Antwort Letzte Antwort
      0
      • dirk_1930D dirk_1930

        @liv-in-sky
        Das klappt... Habe noch in Zeile 53 - list5[11] gesetzt...

        Ich habe noch ein paar technische Fragen, damit ich etwas dazu lerne ;-)
        Du hast in Zeile 52 Zeichen ersetzt. Wie hast du vorher gesehen, was im Original steht - damit die Ersetzung ersichtlich ist?
        Zwischen Zeile 57 und 61 ergänzt du am ende "$1" bzw. gm, "$1". Was bedeutet das?

        Das Abfrageintervall sollte alle 6 Stunden sein.

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #43

        @dirk_1930

        $1 bedeutet - das du in dem regex etwas in (...) setzt und das dann eine variable ist - die erste klammer ist $1 - bzw das gesuchte

        bei regex text(..)text(....)text hast du dann 2 variablen - also $1 und $2

        irgendwie sieht man das nicht richtig - was da ankommt - aber aus erfahrung nehme ich meistens die \n (neue zeile) raus . hier , bei dir, habe ich einfach alle leerzeichen eliminiert - damit ich mal eine zeile habe , damit ist es einfacher für mich, alles zu finden

        script alle 6 studen:

        
        const cheerio = require('cheerio');
        const request = require('request');
        const axios=require('axios');
        let jsonArr;
        let myDPunkt="0_userdata.0.CONTROL-OWN.TABELLEN.Vilsbiburg"
        
        let mySchedule1="  3 */6 * * * "; // alle 6 stunden bei minute 3
        
        doStuff()
        holeDaten();
         schedule(mySchedule1,  function () {
         let myVarVar=mathRandomInt(1, 30);
        // log("startet ");
         setTimeout(function() {          // variert die sekunden der abfrage, damit nicht immer die selbe ip zur absolut selben zeit eine abfrage stellt ))
          //   log("jetzt "+myVarVar);
             holeDaten();
        
         }, myVarVar*1000);
         });
        
        
        function mathRandomInt(a, b) {
         if (a > b) {
           // Swap a and b to ensure a is smaller.
           var c = a;
           a = b;
           b = c;
         }
         return Math.floor(Math.random() * (b - a + 1) + a);
        }
        
        async function holeDaten() { 
           log("Hole Wetterdaten aus Koeln")
           await axios.get(encodeURI('https://www.meteoblue.com/de/wetter/woche/köln_deutschland_2886242'), {
                           headers: { 'User-Agent':`Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36` }
        }).then((result) => {
                // log(result.data);log(result)
                    const $ = cheerio.load(result.data)
                                      const list5 = $('*')
                                                         .find('.col-12')                 //find("[class*=re]")  //find('.table_wert_1a')
                                                         .toArray()
                                                         .map(element => { return $(element).text()}); //log(list5.length +"---"+list5)
                                                       //  for (let z=0;z<list5.length;z++){log(list5[z])}
        
                                //  log(list5[5])
              
        //} 
        //log(JSON.stringify(jsonArr))   //hier in dp schreiben
        //log("jetzt "+myVarVar);
        //log(list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,''))
        let helpingHand=list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,'')
        setState("0_userdata.0.KoelnWetter.BerichtLang",list5[10])
        setState("0_userdata.0.KoelnWetter.BerichtKurz",list5[4].replace('Wetterbericht für Köln ',''))
        setState("0_userdata.0.KoelnWetter.UV2Start",helpingHand.replace(/^.*?([0-9][0-9]:[0-9][0-9]).*/,"$1"))
        setState("0_userdata.0.KoelnWetter.UV2End",helpingHand.replace(/^.*?[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1')) //^UV2▲[0-9][0-9]:[0-9][0-9]▼([0-9][0-9]:[0-9][0-9])
        setState("0_userdata.0.KoelnWetter.Mond2Start",helpingHand.replace(/^.*?\)([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
        setState("0_userdata.0.KoelnWetter.Mond2End",helpingHand.replace(/^.*?\)[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
        setState("0_userdata.0.KoelnWetter.MondGrad",helpingHand.replace(/^.*?\((.*?)\).*/gm,'$1'))
        
               }).catch((error) => {
                   return error;
               })}
        
        async function doStuff() {
          
           
            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtLang"))) {
               await createStateAsync("0_userdata.0.KoelnWetter.BerichtLang",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtKurz"))) {
               await createStateAsync("0_userdata.0.KoelnWetter.BerichtKurz",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2Start"))) {
               await createStateAsync("0_userdata.0.KoelnWetter.UV2Start",{type: "string", name: "UV2Start", role: "value", read: true, write: true, } ); } 
            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2End"))) {
               await createStateAsync("0_userdata.0.KoelnWetter.UV2End",{type: "string", name: "UV2End", role: "value", read: true, write: true, } ); }           
            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2End"))) {
               await createStateAsync("0_userdata.0.KoelnWetter.Mond2End",{type: "string", name: "Mond2End", role: "value", read: true, write: true, } ); }
            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2Start"))) {
               await createStateAsync("0_userdata.0.KoelnWetter.Mond2Start",{type: "string", name: "Mond2Start", role: "value", read: true, write: true, } ); }  
            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.MondGrad"))) {
               await createStateAsync("0_userdata.0.KoelnWetter.MondGrad",{type: "string", name: "MondGrad", role: "value", read: true, write: true, } ); }      
        
        
        
        }
        
        
        
        
        
        
        

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        dirk_1930D 1 Antwort Letzte Antwort
        0
        • liv-in-skyL liv-in-sky

          @dirk_1930

          $1 bedeutet - das du in dem regex etwas in (...) setzt und das dann eine variable ist - die erste klammer ist $1 - bzw das gesuchte

          bei regex text(..)text(....)text hast du dann 2 variablen - also $1 und $2

          irgendwie sieht man das nicht richtig - was da ankommt - aber aus erfahrung nehme ich meistens die \n (neue zeile) raus . hier , bei dir, habe ich einfach alle leerzeichen eliminiert - damit ich mal eine zeile habe , damit ist es einfacher für mich, alles zu finden

          script alle 6 studen:

          
          const cheerio = require('cheerio');
          const request = require('request');
          const axios=require('axios');
          let jsonArr;
          let myDPunkt="0_userdata.0.CONTROL-OWN.TABELLEN.Vilsbiburg"
          
          let mySchedule1="  3 */6 * * * "; // alle 6 stunden bei minute 3
          
          doStuff()
          holeDaten();
           schedule(mySchedule1,  function () {
           let myVarVar=mathRandomInt(1, 30);
          // log("startet ");
           setTimeout(function() {          // variert die sekunden der abfrage, damit nicht immer die selbe ip zur absolut selben zeit eine abfrage stellt ))
            //   log("jetzt "+myVarVar);
               holeDaten();
          
           }, myVarVar*1000);
           });
          
          
          function mathRandomInt(a, b) {
           if (a > b) {
             // Swap a and b to ensure a is smaller.
             var c = a;
             a = b;
             b = c;
           }
           return Math.floor(Math.random() * (b - a + 1) + a);
          }
          
          async function holeDaten() { 
             log("Hole Wetterdaten aus Koeln")
             await axios.get(encodeURI('https://www.meteoblue.com/de/wetter/woche/köln_deutschland_2886242'), {
                             headers: { 'User-Agent':`Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36` }
          }).then((result) => {
                  // log(result.data);log(result)
                      const $ = cheerio.load(result.data)
                                        const list5 = $('*')
                                                           .find('.col-12')                 //find("[class*=re]")  //find('.table_wert_1a')
                                                           .toArray()
                                                           .map(element => { return $(element).text()}); //log(list5.length +"---"+list5)
                                                         //  for (let z=0;z<list5.length;z++){log(list5[z])}
          
                                  //  log(list5[5])
                
          //} 
          //log(JSON.stringify(jsonArr))   //hier in dp schreiben
          //log("jetzt "+myVarVar);
          //log(list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,''))
          let helpingHand=list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,'')
          setState("0_userdata.0.KoelnWetter.BerichtLang",list5[10])
          setState("0_userdata.0.KoelnWetter.BerichtKurz",list5[4].replace('Wetterbericht für Köln ',''))
          setState("0_userdata.0.KoelnWetter.UV2Start",helpingHand.replace(/^.*?([0-9][0-9]:[0-9][0-9]).*/,"$1"))
          setState("0_userdata.0.KoelnWetter.UV2End",helpingHand.replace(/^.*?[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1')) //^UV2▲[0-9][0-9]:[0-9][0-9]▼([0-9][0-9]:[0-9][0-9])
          setState("0_userdata.0.KoelnWetter.Mond2Start",helpingHand.replace(/^.*?\)([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
          setState("0_userdata.0.KoelnWetter.Mond2End",helpingHand.replace(/^.*?\)[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
          setState("0_userdata.0.KoelnWetter.MondGrad",helpingHand.replace(/^.*?\((.*?)\).*/gm,'$1'))
          
                 }).catch((error) => {
                     return error;
                 })}
          
          async function doStuff() {
            
             
              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtLang"))) {
                 await createStateAsync("0_userdata.0.KoelnWetter.BerichtLang",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtKurz"))) {
                 await createStateAsync("0_userdata.0.KoelnWetter.BerichtKurz",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2Start"))) {
                 await createStateAsync("0_userdata.0.KoelnWetter.UV2Start",{type: "string", name: "UV2Start", role: "value", read: true, write: true, } ); } 
              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2End"))) {
                 await createStateAsync("0_userdata.0.KoelnWetter.UV2End",{type: "string", name: "UV2End", role: "value", read: true, write: true, } ); }           
              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2End"))) {
                 await createStateAsync("0_userdata.0.KoelnWetter.Mond2End",{type: "string", name: "Mond2End", role: "value", read: true, write: true, } ); }
              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2Start"))) {
                 await createStateAsync("0_userdata.0.KoelnWetter.Mond2Start",{type: "string", name: "Mond2Start", role: "value", read: true, write: true, } ); }  
              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.MondGrad"))) {
                 await createStateAsync("0_userdata.0.KoelnWetter.MondGrad",{type: "string", name: "MondGrad", role: "value", read: true, write: true, } ); }      
          
          
          
          }
          
          
          
          
          
          
          

          dirk_1930D Offline
          dirk_1930D Offline
          dirk_1930
          schrieb am zuletzt editiert von dirk_1930
          #44

          @liv-in-sky
          Sehr cool das ganze mit den regular Expressions. Wenn man einmal verstanden hat, wie die aufgebaut sind ist das ja ganz schön mächtig.
          Nochmals danke für all eure verschiedenen Lösungsansätze.
          Werde jetzt mal alleine weiter machen bis zur nächsten Frage… :blush:

          1 Antwort Letzte Antwort
          0
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          317

          Online

          32.7k

          Benutzer

          82.4k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe