Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Parser Aapter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Parser Aapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mr. Sun last edited by

      Hallo Forum,

      ich versuche mittels Parser Adapter einen Wert aus einer Webseite auszulesen.
      Die URL ist http://www.vibsi.de/style2/ von hier würde ich gerne aktuelle Temperatur auslesen.
      Leier weis ich nicht was unter RegEx eingetragen werden muss.

      Wenn ich die Webseite mittels rechtsklick untersuche, komme ich auf diese Zelle:
      <td rowspan="2" class="table_wert_1a" id="temp_akt">-0.1 °C</td>

      Wäre über jeden Tipp dankbar.

      MfG

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Mr. Sun last edited by paul53

        @mr-sun
        Vorschlag: Installiere den Adapter Weatherunderground und trage als Messstation IVILSB7 ein. Dann sind folgende und weitere Daten als Datenpunkte vorhanden:

        Bild_2022-03-06_191900.png

        M 1 Reply Last reply Reply Quote 0
        • M
          Mr. Sun @paul53 last edited by

          @paul53 said in Parser Aapter:

          IVILSB7

          Hallo, super Adapter. Den kannte ich noch nicht.
          Mir würde es aber reichen, wenn ich nur den einen Wert als Datenpunkt hätte.

          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Mr. Sun last edited by

            @mr-sun

            hilft dir so was:

            [{"temp":"-0.2 °C","min_temp_heute":"-5.1 °C","max_temp_heute":"3.9 °C","luftfeucht":"-0.3 °C","min_luftfeucht_heute":"63 %"}]
            

            script - du musst den dp anlegen (zeichenfolge) und im script angleichen - im instanz setting der javascript instanz muss cheerio unter zusätzliche npm modules

            man kann auch nur einen dp schreiben lassen (temp)- oder alle - ich habe mal nur die ersten 5 ausgelesen

            
            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
            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() { 
               await axios.get('http://www.vibsi.de/style2/', {
                               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)
                        const $ = cheerio.load(result.data)
                                          const list5 = $('*')
                                                             .find("[class*=table_wert]")  //find('.table_wert_1a')
                                                             .toArray()
                                                             .map(element => { return $(element).text()}); log(list5.length +"---"+list5)
            
                                          let dayArr=['Mo','Di','Mi','Do','Fr','Sa','So'];
                                           jsonArr=[];
                                           let i=0
                                  //        for(let i=0;i<5;i++) {//log(list5[i])
                                             
                                                                                              jsonArr.push({
                                                                                                  "temp":    list5[i],
                                                                                                  "min_temp_heute":  list5[i+1],
                                                                                                  "max_temp_heute": list5[i+2],
                                                                                                  "luftfeucht": list5[i+3],
                                                                                                  "min_luftfeucht_heute": list5[i+4]
                                                                                              })
                  
            //} 
            //log(JSON.stringify(jsonArr))   //hier in dp schreiben
            //log("jetzt "+myVarVar);
            setState(myDPunkt,JSON.stringify(jsonArr))
            
                   }).catch((error) => {
                       return error;
                   })}
            
            
            
            
            

            M 1 Reply Last reply Reply Quote 0
            • M
              Mr. Sun @liv-in-sky last edited by

              @liv-in-sky
              Danke für deine Mühe, aber ich steh im Io-Broker noch ganz am Anfang.
              Dachte das es mit dem Parser Adapter am leichtersten geht.
              Ich werd es noch ein bisschen versuchen.

              MfG

              liv-in-sky 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @Mr. Sun last edited by

                @mr-sun geht sicher mit parser adpter auch - da meldet sich sicher noch jmd 🙂 @Homoran kennt sich da sicher aus

                1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators last edited by

                  @liv-in-sky sagte in Parser Aapter:

                  @mr-sun geht sicher mit parser adpter auch - da meldet sich sicher noch jmd 🙂 @Homoran kennt sich da sicher aus

                  dann bräuchte ich aber den vollständigen echten Quelltext. als code im Spoiler.

                  liv-in-sky 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @Homoran last edited by liv-in-sky

                    @homoran

                    geht der link auch - mit "zeige quelltext"
                    http://www.vibsi.de/style2

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @liv-in-sky last edited by

                      @liv-in-sky sagte in Parser Aapter:

                      @homoran

                      geht der link auch - mit "zeige quelltext"
                      http://www.vibsi.de/style2

                      aber nicht am Handy

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @Homoran last edited by

                        @homoran

                        <!DOCTYPE HTML>
                        <html>
                        
                        
                        <head>
                         <title>Wetterstation Vilsbiburg</title>
                         <meta name="description" content="AWEKAS Box website" />
                         <meta name="keywords" content="AWEKAS box" />
                         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                         <link rel="stylesheet" type="text/css" href="css/style.css" />
                         <!-- Stylesheet Anpassung für Wetterlage -->
                         
                        <style type="text/css">
                           .sonne {
                           		background-image: url(images/mond_w_1.png);
                           		position: absolute;
                           		height: 205px;
                           		width: 205px;
                           		top: 0px;
                           		z-index: 1;
                           		overflow: auto;
                           		left: 0px;
                           }
                         body {
                           font: normal .8em arial, sans-serif;
                           color: #555;
                           background-color: #86c3d4;
                           background-image: url(images/back_nacht.png);
                           background-repeat: repeat-x;
                           }
                         #container {
                           background-color: transparent;
                           background-image: url(images/landschaft_wi_na.jpg);
                           background-repeat: repeat-x;
                           background-position: bottom;
                         }
                        
                        #grass {
                        	background: #e4e4e4; 
                         	width: 100%;
                         	height: 100px;
                         	margin-top: -0px;
                         	position: relative; 
                         	z-index: 1;
                        }
                        </style>
                         <!-- modernizr enables HTML5 elements and feature detects -->
                        <script type="text/javascript" src="js/modernizr-1.5.min.js"></script>
                         <script type="text/javascript">
                        
                           		function Ajax()
                           		{
                               var
                           				$http,
                           				$self = arguments.callee;
                        
                               // Zähler
                               var zaehler = document.getElementById('zaehler').value ;
                               zaehler = Math.round(zaehler);
                               if(zaehler==0)zaehler = 5; // Startinitialisierung
                               
                               if(zaehler % 2 >0){
                                   document.getElementById('status').src = "./images/punkt_1.png";
                               }else{
                                   document.getElementById('status').src = "./images/punkt_2.png";
                               }        
                               zaehler = zaehler +1;
                               document.getElementById('zaehler').value = zaehler;
                        
                               if(zaehler >= 7){
                                
                                zaehler = 1;
                                document.getElementById('zaehler').value = zaehler;
                                
                           		   if (window.XMLHttpRequest) {
                           	    			$http = new XMLHttpRequest();
                           	    		} else if (window.ActiveXObject) {
                           	    			try {
                           			    		$http = new ActiveXObject('Msxml2.XMLHTTP');
                           		   		} catch(e) {
                              					$http = new ActiveXObject('Microsoft.XMLHTTP');
                              				}
                              			}
                                
                           	     
                                if ($http) {
                           		   		$http.onreadystatechange = function()
                           		   		{
                           		   			if (/4|^complete$/.test($http.readyState)) {
                           					                    
                                           if($http.status == 200){
                           					        
                                          		//document.getElementById('ReloadThis').innerHTML = $http.responseText;
                           		   				      var answer =$http.responseText;
                                             var splitter = answer.split("||");
                                             document.getElementById('zeit').innerHTML = splitter[0];
                                             document.getElementById('temp_akt').innerHTML = splitter[1];
                                             document.getElementById('temp_min_1d').innerHTML = splitter[2];
                                             document.getElementById('temp_max_1d').innerHTML = splitter[3];
                                             document.getElementById('temp_avg_1d').innerHTML = splitter[4];
                                             document.getElementById('temp_min_zeit_1d').innerHTML = splitter[5];
                                             document.getElementById('temp_max_zeit_1d').innerHTML = splitter[6];
                                             document.getElementById('temp_trend_1d').src = "images/pfeil_" + splitter[7] + ".png";
                                             document.getElementById('feuchte_akt').innerHTML = splitter[8];
                                             document.getElementById('feuchte_min_1d').innerHTML = splitter[9];
                                             document.getElementById('feuchte_max_1d').innerHTML = splitter[10];
                                             document.getElementById('feuchte_avg_1d').innerHTML = splitter[11];
                                             document.getElementById('feuchte_min_zeit_1d').innerHTML = splitter[12];
                                             document.getElementById('feuchte_max_zeit_1d').innerHTML = splitter[13];
                                             document.getElementById('feuchte_trend_1d').src = "images/pfeil_" + splitter[14] + ".png";
                                             document.getElementById('taupunkt_akt').innerHTML = splitter[15];
                                             document.getElementById('taupunkt_min_1d').innerHTML = splitter[16];
                                             document.getElementById('taupunkt_max_1d').innerHTML = splitter[17];
                                             document.getElementById('taupunkt_min_zeit_1d').innerHTML = splitter[18];
                                             document.getElementById('taupunkt_max_zeit_1d').innerHTML = splitter[19];
                                             document.getElementById('luftdruck_akt').innerHTML = splitter[20];
                                             document.getElementById('luftdruck_min_1d').innerHTML = splitter[21];
                                             document.getElementById('luftdruck_max_1d').innerHTML = splitter[22];
                                             document.getElementById('luftdruck_relativ_1d').innerHTML = splitter[23];
                                             document.getElementById('luftdruck_min_zeit_1d').innerHTML = splitter[24];
                                             document.getElementById('luftdruck_max_zeit_1d').innerHTML = splitter[25];
                                             document.getElementById('luftdruck_trend_1d').src = "images/pfeil_" + splitter[26] + ".png";  
                                             document.getElementById('luftdruck_absolut').innerHTML = splitter[27];
                                             document.getElementById('luftdruck_delta_1d').innerHTML = splitter[28];          
                                             document.getElementById('wind_akt').innerHTML = splitter[29];
                                             document.getElementById('wind_max_1d').innerHTML = splitter[30];
                                             document.getElementById('wind_max_richt_1d').innerHTML = splitter[31];
                                             document.getElementById('wind_avg_1d').innerHTML = splitter[32];
                                             document.getElementById('wind_max_zeit_1d').innerHTML = splitter[33];
                                             document.getElementById('boen_akt').innerHTML = splitter[34];
                                             document.getElementById('boen_max_1d').innerHTML = splitter[35];
                                             document.getElementById('boen_max_richt_1d').innerHTML = splitter[36];
                                             document.getElementById('boen_avg_1d').innerHTML = splitter[37];
                                             document.getElementById('boen_max_zeit_1d').innerHTML = splitter[38];                    
                                             document.getElementById('richtung_akt').innerHTML = splitter[39];
                                             document.getElementById('hauptwindrichtung').innerHTML = splitter[40];  
                                             document.getElementById('regen_akt').innerHTML = splitter[41];
                                             document.getElementById('regen_1h').innerHTML = splitter[42];                    
                                             document.getElementById('regen_1m').innerHTML = splitter[43];
                                             document.getElementById('regen_1y').innerHTML = splitter[44];  
                                             document.getElementById('rate_akt').innerHTML = splitter[45];
                                             document.getElementById('rate_max_1d').innerHTML = splitter[46];                    
                                             document.getElementById('rate_max_zeit_1d').innerHTML = splitter[47];
                                 document.getElementById('solar_akt').innerHTML = splitter[48];
                                 document.getElementById('solar_max_1d').innerHTML = splitter[49];
                                 document.getElementById('solar_max_zeit_1d').innerHTML = splitter[50];
                                 document.getElementById('solar_1d').innerHTML = splitter[51];
                                 forcastbild = new Image ( );
                           	   forcastbild.src = "http://www.vibsi.de//forecast.png";
                                  document.getElementById ( 'forcastpic' ).src = forcastbild.src;
                           		document.getElementById('forcasttext').innerHTML = splitter[62];                      document.getElementById('chill_akt').innerHTML = splitter[56];
                                             document.getElementById('chill_min_1d').innerHTML = splitter[57];
                                             document.getElementById('chill_max_1d').innerHTML = splitter[58];
                                             document.getElementById('chill_avg_1d').innerHTML = splitter[59];
                                             document.getElementById('chill_min_zeit_1d').innerHTML = splitter[60];
                                             document.getElementById('chill_max_zeit_1d').innerHTML = splitter[61];
                                             
                                             document.getElementById('richtung_grad').innerHTML = splitter[63];                      
                           				  
                           				            windrichtbild = new Image ( );
                           				            windrichtbild.src = "images/wr_" + splitter[39] + ".png";
                                             document.getElementById ( 'windrpic' ).src = windrichtbild.src;
                                                                                                                                        
                                           }
                                          setTimeout(function(){$self();}, 5000);
                           				   	}
                                    } 
                           				};
                                 
                                 $http.open('GET', '../ajax_index.php?start=' + new Date().getTime(), true);
                         				$http.send(null);
                               }else{
                                 setTimeout(function(){$self();}, 5000);
                               }
                           		}
                        
                        </script>
                        </head>
                        
                        <body onload="javascript:Ajax();">
                        <div id="sonne" class="sonne"></div>
                         <div id="container">
                           <img src="images/spacer.png" alt="sunshine" />
                           <div id="main">
                             <header>
                               <div id="logo">
                                 <div id="logo_text">
                                   <h1><a href="index.php">Wetterstation&nbsp;<span class="logo_colour">Vilsbiburg</span></a></h1>
                                   <h2>powered by&nbsp;<span class="logo_colour"><a href="http://box.awekas.at" target="_blank">AWEKAS Box</a></span></h2>
                                 </div>
                               </div>
                                     <nav>
                                 <ul class="sf-menu" id="nav">
                           		      <li><a href="index.php#">Home</a></li>
                                   <li><a href="statistik.php#">Statistik</a></li>
                                   <li><a href="sonnemond.php#">Sonne/Mond</a></li>
                                   <li><a href="#">Grafiken</a>
                                     <ul>
                                       <li><a href="grafik_akt.php#">Tag</a></li>
                                       <li><a href="grafik_woch.php#">Woche</a></li>
                                       <li><a href="grafik_mon.php#">Monat</a></li>
                                       <li><a href="grafik_jahr.php#">Jahr</a></li>
                                     </ul>
                                   </li>
                                   <li><a href="webcam.php#">Webcam</a></li>                        <li><a href="impressum.php#">Impressum</a></li>
                                 </ul>
                               </nav>
                        
                             </header>
                             <div id="site_content">
                               <div id="sidebar_container">
                                 <div class="sidebar">
                        <table class="sidebartable">
                                   
                                    
                        <tr><td class="vorhersage_header">Wettervorhersage</td></tr><tr><td class="vorhersage_bild" id="forcastpic"><img src="http://www.vibsi.de//forecast.png" alt="Vorhersage" class="fcpic2" ></td></tr><tr><td class="vorhersage_text" id="forcasttext">Zunehmend bewölkt mit geringer Temperaturänderung. Niederschlag möglich innerhalb 24 bis 48 Stunden.</td></tr>          </table>
                                 </div>
                        <div class="sidebar">
                                 <span class="vorhersage_header">Windrichtung</span>
                                   <img src="images/wr_NO.png" alt="Windrichtung" id="windrpic" class="wrpic">
                                   <br>
                                   <span class="wr_text" id="richtung_akt">NO</span>&nbsp;-&nbsp;
                                   <span class="wr_text" id="richtung_grad">40&deg;</span>
                                   <br>
                                   <span class="wr_text_klein">Hauptwindrichtung heute:</span>
                                   <br>
                                 <span class="wr_text_klein" id="hauptwindrichtung">ONO - 68&deg;</span>
                                 </div>
                               </div>
                               <div id="content">
                                 <div class="content">
                                   <table class="databox">
                                     <tr>
                                       <td colspan="5" class="aktualisiert">Wetterwerte von <span id="zeit">06.03.2022 19:07:01</span>&nbsp;<img src="./images/punkt_1.png" alt="status" id="status" class="statuspic"></td>
                                     </tr>
                                     <tr>
                                       <td class="table_148">&nbsp;</td>
                                       <td class="table-aktuell_139">Aktuell</td>
                                       <td class="table-aktuell_110">Minimum Heute</td>
                                       <td class="table-aktuell_110">Maximum Heute</td>
                                       <td class="table-aktuell_112">Mittelwert/ Trend</td>
                                     </tr>
                                     <tr>
                                       <td rowspan="2" class="table_kennzeichnung_1a">Temperatur</td>
                                       <td rowspan="2" class="table_wert_1a" id="temp_akt">-0.1 &deg;C</td>
                                       <td class="table_wert_minmax_1a" id="temp_min_1d">-5.1 &deg;C</td>
                                       <td class="table_wert_minmax_1a" id="temp_max_1d">3.9 &deg;C</td>
                                       <td class="table_wert_minmax_1a" id="temp_avg_1d">-0.3 &deg;C</td>
                                     </tr>
                                     <tr>
                                       <td class="table_minmax_zeit_1a" id="temp_min_zeit_1d">07:09</td>
                                       <td class="table_minmax_zeit_1a" id="temp_max_zeit_1d">14:14</td>
                                       <td class="table_minmax_zeit_1a" id="temp_trend_1d"><img src="images/pfeil_0.png" alt="trend" class="trendpic"></td>
                                     </tr>
                                     <tr>
                                       <td rowspan="2" class="table_kennzeichnung_1b">Luftfeuchtigkeit</td>
                                       <td rowspan="2" class="table_wert_1b" id="feuchte_akt">62 %</td>
                                       <td class="table_wert_minmax_1b" id="feuchte_min_1d">48.0 %</td>
                                       <td class="table_wert_minmax_1b" id="feuchte_max_1d">90.0 %</td>
                                       <td class="table_wert_minmax_1b" id="feuchte_avg_1d">69.8 %</td>
                                     </tr>
                                     <tr>
                                       <td class="table_minmax_zeit_1b" id="feuchte_min_zeit_1d">14:10</td>
                                       <td class="table_minmax_zeit_1b" id="feuchte_max_zeit_1d">07:21</td>
                                       <td class="table_minmax_zeit_1b" id="feuchte_trend_1d"><img src="images/pfeil_-1.png" alt="trend" class="trendpic"></td>
                                     </tr>
                                     <tr>
                                       <td rowspan="2" class="table_kennzeichnung_1a">Taupunkt</td>
                                       <td rowspan="2" class="table_wert_1a" id="taupunkt_akt">-6.5 &deg;C</td>
                                       <td class="table_wert_minmax_1a" id="taupunkt_min_1d">-6.8 &deg;C</td>
                                       <td class="table_wert_minmax_1a" id="taupunkt_max_1d">-3.6 &deg;C</td>
                                       <td rowspan="2" class="table_wert_minmax_1a">&nbsp;</td>
                                     </tr>
                                     <tr>
                                       <td class="table_minmax_zeit_1a" id="taupunkt_min_zeit_1d">07:07</td>
                                       <td class="table_minmax_zeit_1a" id="taupunkt_max_zeit_1d">09:12</td>
                                     </tr>
                                     <tr>
                                       <td rowspan="2" class="table_kennzeichnung_1b">Windchill</td>
                                       <td rowspan="2" class="table_wert_1b" id="chill_akt">-2.8 &deg;C</td>
                                       <td class="table_wert_minmax_1b" id="chill_min_1d">-8.6 &deg;C</td>
                                       <td class="table_wert_minmax_1b" id="chill_max_1d">3.9 &deg;C</td>
                                       <td rowspan="2" class="table_wert_minmax_1b" id="chill_avg_1d">-2.4 &deg;C</td>
                                     </tr>
                                     <tr>
                                       <td class="table_minmax_zeit_1b" id="chill_min_zeit_1d">07:22</td>
                                       <td class="table_minmax_zeit_1b" id="chill_max_zeit_1d">14:15</td>
                                     </tr>
                                     <tr>
                                       <td rowspan="2" class="table_kennzeichnung_1a">Luftdruck <br>
                                         <span class="text-klein">auf Meeresh&ouml;he reduziert</span></td>
                                       <td rowspan="2" class="table_wert_1a" id="luftdruck_akt">1020.9 hPa</td>
                                       <td class="table_wert_minmax_1a" id="luftdruck_min_1d">1016.7 hPa</td>
                                       <td class="table_wert_minmax_1a" id="luftdruck_max_1d">1018.4 hPa</td>
                                       <td class="table_wert_minmax_1a" id="luftdruck_relativ_1d">1017.5 hPa</td>
                                     </tr>
                                     <tr>
                                       <td class="table_minmax_zeit_1a" id="luftdruck_min_zeit_1d">02:53</td>
                                       <td class="table_minmax_zeit_1a" id="luftdruck_max_zeit_1d">09:24</td>
                                       <td class="table_minmax_zeit_1a" id="luftdruck_trend_1d"><img src="images/pfeil_1.png" alt="trend" class="trendpic"></td>
                                     </tr>
                                     <tr>
                                       <td class="table_kennzeichnung_1a_small">Luftdruck absolut</td>
                                       <td class="table_kennzeichnung_1a_small" id="luftdruck_absolut">965.4 hPa</td>
                                       <td colspan="3" class="table_kennzeichnung_1a_small">&nbsp;&Auml;nderung seit 0 Uhr:&nbsp;<span id="luftdruck_delta_1d">1.0 hPa</span></td>
                                     </tr>
                                     <tr>
                                       <td rowspan="2" class="table_kennzeichnung_1b">Wind</td>
                                       <td rowspan="2" class="table_wert_1b" id="wind_akt">6.5 km/h</td>
                                       <td rowspan="2" class="table_wert_minmax_1b">&nbsp;</td>
                                       <td class="table_wert_minmax_1b"><span id="wind_max_1d">16.2 km/h</span> - <span id="wind_max_richt_1d">NO</span></td>
                                       <td rowspan="2" class="table_wert_minmax_1b" id="wind_avg_1d">6.7 km/h</td>
                                     </tr>
                                     <tr>
                                       <td class="table_minmax_zeit_1b" id="wind_max_zeit_1d">10:25</td>
                                     </tr>
                                     <tr>
                                       <td rowspan="2" class="table_kennzeichnung_1a">B&ouml;en</td>
                                       <td rowspan="2" class="table_wert_1a" id="boen_akt">7.9 km/h</td>
                                       <td rowspan="2" class="table_wert_minmax_1a">&nbsp;</td>
                                       <td class="table_wert_minmax_1a"><span id="boen_max_1d">25.9 km/h</span> - <span id="boen_max_richt_1d">O</span></td>
                                       <td rowspan="2" class="table_wert_minmax_1a" id="boen_avg_1d">6.8 km/h</td>
                                     </tr>
                                     <tr>
                                       <td class="table_minmax_zeit_1a" id="boen_max_zeit_1d">10:15</td>
                                     </tr>
                                     <tr>
                                       <td rowspan="2" class="table_kennzeichnung_1b">Regenrate</td>
                                       <td rowspan="2" class="table_wert_1b" id="rate_akt">0.0 mm/h</td>
                                       <td rowspan="2" class="table_wert_minmax_1b">&nbsp;</td>
                                       <td class="table_wert_minmax_1b" id="rate_max_1d">0.0 mm/h</td>
                                       <td class="table_wert_minmax_1b">&nbsp;</td>
                                     </tr>
                                     <tr>
                                       <td class="table_minmax_zeit_1b" id="rate_max_zeit_1d">00:00</td>
                                       <td class="table_wert_2_minmax_1b">&nbsp;</td>
                                     </tr>
                                     <tr>
                                       <td class="table_kennzeichnung_1a">Niederschlag<br>
                                         <span class="text-klein">seit Mitternacht</span></td>
                                       <td class="table_wert_1a" id="regen_akt">0 mm</td>
                                       <td class="table_wert_minmax_1a"><span id="regen_1h">0 mm</span>                  /&nbsp;1h</td>
                                       <td class="table_wert_minmax_1a"><span id="regen_1m">0 mm</span>                  /&nbsp;Mon.</td>
                                       <td class="table_wert_minmax_1a"><span id="regen_1y">85.9 mm</span>                  /&nbsp;Jahr</td>
                                     </tr>
                                     <tr>  <td rowspan="2" class="table_kennzeichnung_1b">Solarstrahlung</td>  <td rowspan="2" class="table_wert_1b" id="solar_akt">0.0 W/m</td>  <td rowspan="2" class="table_wert_minmax_1b">&nbsp;</td>  <td class="table_wert_minmax_1b" id="solar_max_1d">795 W/m&sup2;</td>  <td rowspan="2" class="table_wert_minmax_1b" id="solar_1d">167.4 W/m&sup2;</td> </tr><tr> <td class="table_minmax_zeit_1b" id="solar_max_zeit_1d">12:11</td></tr>            </table>
                                 </div>
                        </div>
                             </div>
                             <footer>
                               <span class="text-footer">Die Wettervorhersage wurde berechnet - alle Daten ohne Gew&auml;hr!</span>
                               <p>Copyright &copy; AWEKAS |<a href="http://www.css3templates.co.uk" target="_blank"> Design css3templates.co.uk</a></p>
                             </footer>
                           </div>
                         </div>
                         <div id="grass"></div>
                         <form><input type="hidden" id="zaehler"></form>
                         <!-- javascript at the bottom for fast page loading -->
                         <script type="text/javascript" src="js/jquery.js"></script>
                         <script type="text/javascript" src="js/jquery.easing-sooper.js"></script>
                         <script type="text/javascript" src="js/jquery.sooperfish.js"></script>
                         <script type="text/javascript">
                           $(document).ready(function() {
                             $('ul.sf-menu').sooperfish();
                           });
                         </script>
                        </body>
                        </html>
                        
                        

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @liv-in-sky last edited by

                          @liv-in-sky Danke

                          @Mr-Sun
                          versuch mal p_akt">([-\d\.]+)

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            Mr. Sun @Homoran last edited by

                            @homoran said in Parser Aapter:

                            p_akt">([-\d.]+)

                            Dankeschön

                            <td rowspan="2" class="table_wert_1a" id="temp_akt">0.5 °C</td>

                            das p_akt"> kapiere ich aber was bedeutet ([-\d.]+)

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @Mr. Sun last edited by Homoran

                              @mr-sun sagte in Parser Aapter:

                              was bedeutet ([-\d.]+)

                              Eine Gruppe () bestehend aus [] mehreren + : -, . oder Ziffern (digits).

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                Mr. Sun @Homoran last edited by

                                @homoran
                                hast du eine Quelle, wo ist sowas nachlesen kann ?
                                Bzw. was muss suchen ?

                                liv-in-sky 2 Replies Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @Mr. Sun last edited by

                                  @mr-sun

                                  das nennt sich regex

                                  es gibt viel dazu im netz

                                  1 Reply Last reply Reply Quote 0
                                  • liv-in-sky
                                    liv-in-sky @Mr. Sun last edited by

                                    @mr-sun das ist die übungsseite - https://regex101.com/

                                    bei youtube gibt es sicher auch was

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      haihappen85 last edited by haihappen85

                                      Hallo,

                                      ich bin auch völlig neu bei dem Thema parser: Habe den Adapter im iobroker installiert aber leider versteh ich trotz aller hilfen im Netz nicht was ich bei RegEx eintragen muss. Würde gerne mit Hilfe von RegEx mir den Wert hinter 17:00 ausgeben lassen. Das Ergebnis bräuchte ich vom Typ Zahl.

                                      https://api.forecast.solar/estimate/watthours/48.288295/11.043492/36/-25/11,5

                                      Der Quellcode sieht wie folgt aus.

                                       <h2>Result</h2><table class="level-0"><tbody><tr><td class="key">2022-03-10 06:32:00</td><td class="value">0</td></tr><tr><td class="key">2022-03-10 06:46:00</td><td class="value">153</td></tr><tr><td class="key">2022-03-10 07:00:00</td><td class="value">919</td></tr><tr><td class="key">2022-03-10 08:00:00</td><td class="value">7363</td></tr><tr><td class="key">2022-03-10 09:00:00</td><td class="value">16218</td></tr><tr><td class="key">2022-03-10 10:00:00</td><td class="value">26070</td></tr><tr><td class="key">2022-03-10 11:00:00</td><td class="value">36358</td></tr><tr><td class="key">2022-03-10 12:00:00</td><td class="value">46200</td></tr><tr><td class="key">2022-03-10 13:00:00</td><td class="value">54378</td></tr><tr><td class="key">2022-03-10 14:00:00</td><td class="value">60742</td></tr><tr><td class="key">2022-03-10 15:00:00</td><td class="value">64838</td></tr><tr><td class="key">2022-03-10 16:00:00</td><td class="value">66617</td></tr><tr><td class="key">2022-03-10 17:00:00</td><td class="value">67139</td></tr><tr><td class="key">2022-03-10 18:00:00</td><td class="value">67208</td></tr><tr><td class="key">2022-03-10 18:10:00</td><td class="value">67210</td></tr><tr><td class="key">2022-03-10 18:19:00</td><td class="value">67210</td></tr><tr><td class="key">2022-03-11 06:30:00</td><td class="value">0</td></tr><tr><td class="key">2022-03-11 06:45:00</td><td class="value">153</td></tr><tr><td class="key">2022-03-11 07:00:00</td><td class="value">909</td></tr><tr><td class="key">2022-03-11 08:00:00</td><td class="value">6437</td></tr><tr><td class="key">2022-03-11 09:00:00</td><td class="value">13558</td></tr><tr><td class="key">2022-03-11 10:00:00</td><td class="value">21620</td></tr><tr><td class="key">2022-03-11 11:00:00</td><td class="value">30210</td></tr><tr><td class="key">2022-03-11 12:00:00</td><td class="value">38614</td></tr><tr><td class="key">2022-03-11 13:00:00</td><td class="value">46008</td></tr><tr><td class="key">2022-03-11 14:00:00</td><td class="value">51793</td></tr><tr><td class="key">2022-03-11 15:00:00</td><td class="value">55556</td></tr><tr><td class="key">2022-03-11 16:00:00</td><td class="value">57312</td></tr><tr><td class="key">2022-03-11 17:00:00</td><td class="value">57870</td></tr><tr><td class="key">2022-03-11 18:00:00</td><td class="value">57940</td></tr><tr><td class="key">2022-03-11 18:11:00</td><td class="value">57942</td></tr><tr><td class="key">2022-03-11 18:21:00</td><td class="value">57942</td></tr></tbody></table></body>
                                      
                                      

                                      Kann mir jemand hierbei helfen?

                                      Vielen Dank schon mal im voraus

                                      Homoran 1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @haihappen85 last edited by Homoran

                                        @haihappen85 sagte in Parser Aapter:

                                        Der Quellcode sieht wie folgt aus.

                                        ist das der echte vollständige Quellcode und nicht die aufgearbeitete HTML-Seite?

                                        @haihappen85 sagte in Parser Aapter:

                                        Würde gerne mit Hilfe von RegEx mir den Wert hinter 17:00 ausgeben lassen.

                                        da ist 2x 17:00:00 im Text.
                                        Welchen Wert brauchst du

                                        ist 17:00:00 statisch oder steht da immer was anderes?

                                        @haihappen85 sagte in Parser Aapter:

                                        Kann mir jemand hierbei helfen?

                                        was hast du denn schon versucht?

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          haihappen85 last edited by haihappen85

                                          also der Text wird mir schon im Parser angezeigt. Aber das ist ja auch nicht so schwer 🙂

                                          Nein das ist nicht der vollständige Code. Sondern der Teil der unter body steht.

                                          Versucht hab ich schon vieles was ich im Netz so gelesen hab. Aber nix davon hat funktioinert weil ich von programmieren leider nicht so viel verstehe. Ich brauch beide werte. Aber über Number kann ich ja dann zählen welchen ich brauche oder?

                                          17:00:00 ist statisch. Eigentlich sollte das immer an der selben Stelle stehen

                                          Homoran 1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @haihappen85 last edited by Homoran

                                            @haihappen85 sagte in Parser Aapter:

                                            Nein das ist nicht der vollständige Code. Sondern der Teil der unter body steht.

                                            das nutzt nichts, da im restlichen Teil ja noch weitere Treffer auf den RegEx sein könnten

                                            @haihappen85 sagte in Parser Aapter:

                                            17:00:00 ist statisch.

                                            wie gesagt gibt es davon 2. Einen heute, einen Morgen

                                            Hab mal den Heute genommen:
                                            17:00[^e]+e">(\d+)

                                            aber bitte den gesamten Quelltext posten

                                            @haihappen85 sagte in Parser Aapter:

                                            Aber nix davon hat funktioinert weil ich von programmieren leider nicht so viel verstehe

                                            Um dir helfen zu können RegExe zu verstehen, wäre es schon interessant zu wissen was du verstanden hast oder was nicht/falsch

                                            @haihappen85 sagte in Parser Aapter:

                                            Aber über Number kann ich ja dann zählen welchen ich brauche oder?

                                            korrekt

                                            H 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            799
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            38
                                            1616
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo