FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Stargazer am 25 Mai 2017, 22:35:55

Titel: HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 25 Mai 2017, 22:35:55
Hallo zusammen,

ich grüble derzeit über den korrekten Regex - Ausdruck für das Extrahieren von Wetterdaten von WeatherLink.com (meine eigene Davis Wetterstation, da das VantagePro Modul Netzwerkprobleme verursacht).

Ich habe für z.B. Barometer folgende Regex, die auch laut regex101.com laufen sollte, am start:

(?s)Barometer.{43}([\d\.]+)


Der Buffer vom MOD sieht so aus:
HTTP/1.1 200 OK Content-Type: text/html Connection: close Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Date: Thu, 25 May 2017 20:31:38 GMT Expires: Thu, 19 Nov 1981 08:52:00 GMT Pragma: no-cache Server: Apache Set-Cookie: PHPSESSID=pvq81g666va9e7fu24qk0aljv2; path=/ Set-Cookie: AWSELB=F1E131E50EF091F2748F3BF05B2028E05203E1C49628C735EEB651B784DE68CF34396B7F5E298CD098FCB854BA0ED0EA18BBD4ECE2B32DDC0760A76BC0A81C6A30A9F01010972122550B7207D3C33B6E04A25A3D27;PATH=/ Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 b451ce1932d9b97c4ef54f2f37ecb931.cloudfront.net (CloudFront) X-Amz-Cf-Id: oJTCmaWpczT7NiBhj89B7oWeU0Db9glSKxYQs66F0ocZ9-xsW_qL5A== <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head><title>Davis | WeatherLink - My Weather Page</title> <!-- Force IE8 into compatibility mode so our shadows display correctly --> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/> <meta http-equiv="refresh" content="300"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="Keywords" content="Davis WeatherLinkIP WeatherLink"> <meta name="Author" content="Andy Schmidt, Jeremaih Jeffress"> <meta name="Robots" content="All"> <meta name="Content-Language" content="English"> <meta name="Copyright" content="&copy; 2017 Davis Instruments"> <link type="image/x-icon" href="/favicon.ico" rel="Shortcut Icon"> <link type="text/css" href="/lib/css/wl2.css" rel="stylesheet"> <link type="text/css" href="/lib/css/colorbox.css" rel="stylesheet"> <link type="text/css" href="/lib/css/jquery-ui-1.8.4.custom.css" rel="stylesheet"> <script type="text/javascript" src="/lib/js/library/jquery-1.7.1.min.js?ver=20170525"></script> <script type="text/javascript" src="/lib/js/library/jquery-ui-1.8.17.custom.min.js?ver=20170525"></script> <script type="text/javascript" src="/lib/js/library/jquery.colorbox.js"></script> <script type="text/javascript" src="/lib/js/library/jquery.validate.min.js"></script> <script type="text/javascript" src="/lib/js/library/lodash.2.4.1.min.js?ver=20170525"></script> <script type="text/javascript" src="/lib/js/classes/Lib.js"></script> <script type="text/javascript" src="/lib/js/classes/FormValidator.js"></script> <script type="text/javascript" src="/lib/js/classes/Dialog.js"></script> <script type="text/javascript" src="/lib/js/classes/cAjaxHandler.js"></script> <script type="text/javascript" src="/lib/js/classes/cAjaxQueue.js"></script> <script type="text/javascript"> $(document).ready(function(){ // This will fade out the message box if there is one. //LIB.fadeOutMessageBox(); //Buttons set with attributes data-link=1 will make the button perform as a link and will look for //the attribruge data-href for the url location to link to. $('body').on('click', 'button[data-link=1]', function(){ window.location.href = $(this).attr('data-href'); }); }); </script> <script type="text/javascript"> //-------------------------------------- function changeUnits() { var oForm = document.forms['frmUnits']; var iType; iType = oForm.selUnits.options[oForm.selUnits.selectedIndex].value; document.location.href = "/user/stargazer/index.php?view=summary&headers=1&type=" + iType; return; } </script> </head> <body> <div id="outerContainer"> <div id="mainContainer"> <!-- Header --> <div style="float: left;"> <a href="http://www.weatherlink.com/"><img src="/images/wl_top.png" width="281" height="46" alt="WeatherLink Logo"></a> </div> <div style="float: left;"> <img src="/images/wl_top-mid.png" width="369" height="46" alt=""> </div> <div style="float: left;"> <a href="http://www.davisnet.com" target="_blank"><img src="/images/wl_top-davis.png" width="112" height="46" alt="Davis Logo"></a> </div> <br clear="all" /> <!-- START: TOP NAVIGATION --> <table align="center" width="760" class="header" border="0" cellspacing="0" cellpadding="0" summary=""> <tr> <td height="25" class="NavLeft"> <a href="http://www.davisnet.com/support/weather/faq/index.asp?ProdFam=15&amp;submit=Get+Information" target="_blank">FAQ's</a> | <a href="http://www.davisnet.com/weather/products/weather_product.asp?pnum=06555#price" target="_blank">Order Now</a> | <a href="/register.php">Register</a> </td> <td height="25" class="NavRight"> <a href="/user/stargazer/index.php?view=main&amp;headers=1">My Weather</a> | <a href="/user/stargazer/index.php?view=summary&amp;headers=1">Summary</a> | <a href="/user/stargazer/index.php?view=summary&amp;headers=0">No Headers</a> | <a href="/map.php?station=stargazer">Map</a> | <a href="/login.php">Login</a> </td> </tr> <tr> <td height="1" colspan="2" align="center"><img src="/images/dividing_line.gif" width="760" height="1" alt=""></td> </tr> <tr> <td height="10" colspan="2" align="center"><img src="/images/spacer.gif" width="1" height="10" alt=""></td> </tr> </table> <!-- END: TOP NAVIGATION --> <!-- START: PAGE CONTENT --> <table align="center" width="760" class="content" border="0" cellspacing="0" cellpadding="0" summary=""> <tr> <td valign="top" align="center"> <table align="left" width="100%" border="0" cellspacing="0" cellpadding="0" summary=""> <tr> <td align="left" valign="top"> <!-- START: SUMMARY WEATHER DISPLAY --> <table width="760" cellpadding="0" cellspacing="0" border="0" summary=""> <tr> <td align="left" valign="top" colspan="6"> <a href="http://www.weatherlink.com/" class="notext"><img src="/images/wl_network.png" alt="WeatherLink Network" width="431" height="43" border="0"></a> </td> </tr> <tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr> <tr><td colspan="6" class="summary_station_name">LangenGrss</td></tr> <tr><td colspan="6" class="summary_timestamp">Current Conditions as of 10:30 PM Thursday, May 25, 2017</td></tr> <tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr> <tr> <td width="190" class="summary_header_label">Station Summary</td> <td width="170" class="summary_header">Current</td> <td width="200" colspan="2" class="summary_header">Today's Highs</td> <td width="200" colspan="2" class="summary_header">Today's Lows</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr> <td width="190" class="summary_data">Outside Temp</td> <td width="170" class="summary_data">14.5 C</td> <td width="100" class="summary_data">21.6 C</td> <td width="100" class="summary_data">5:17 PM</td> <td width="100" class="summary_data">11.4 C</td> <td width="100" class="summary_data">5:33 AM</td> </tr> <tr> <td width="190" class="summary_data">Outside Humidity</td> <td width="170" class="summary_data">84%</td> <td width="100" class="summary_data">91%</td> <td width="100" class="summary_data">4:40 AM</td> <td width="100" class="summary_data">60%</td> <td width="100" class="summary_data">2:54 PM</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr> <td width="190" class="summary_data">Inside Temp</td> <td width="170" class="summary_data">20.1 C</td> <td width="100" class="summary_data">20.3 C</td> <td width="100" class="summary_data">12:00 AM</td> <td width="100" class="summary_data">19.5 C</td> <td width="100" class="summary_data">9:21 AM</td> </tr> <tr> <td width="190" class="summary_data">Inside Humidity</td> <td width="170" class="summary_data">47%</td> <td width="100" class="summary_data">52%</td> <td width="100" class="summary_data">10:06 AM</td> <td width="100" class="summary_data">43%</td> <td width="100" class="summary_data">8:58 AM</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr> <td width="190" class="summary_data">Heat Index</td> <td width="170" class="summary_data">14.4 C</td> <td width="100" class="summary_data">21.7 C</td> <td width="100" class="summary_data">5:15 PM</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> </tr> <tr> <td width="190" class="summary_data">Wind Chill</td> <td width="170" class="summary_data">14.4 C</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">10.6 C</td> <td width="100" class="summary_data">5:09 AM</td> </tr> <tr> <td width="190" class="summary_data">Dew Point</td> <td width="170" class="summary_data">11.7 C</td> <td width="100" class="summary_data">15.0 C</td> <td width="100" class="summary_data">4:16 PM</td> <td width="100" class="summary_data">10.0 C</td> <td width="100" class="summary_data">4:38 AM</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr> <td width="190" class="summary_data">Barometer</td> <td width="170" class="summary_data">1022.7hPa</td> <td width="100" class="summary_data">1024.1hPa</td> <td width="100" class="summary_data">11:02 AM</td> <td width="100" class="summary_data">1022.2hPa</td> <td width="100" class="summary_data">8:39 PM</td> </tr> <tr> <td width="190" class="summary_data">Bar Trend</td> <td width="170" class="summary_data">Steady</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr> <td width="190" class="summary_data">Wind Speed</td> <td width="170" class="summary_data">0.9 m/s</td> <td width="100" class="summary_data">7.2 m/s</td> <td width="100" class="summary_data">12:34 PM</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> </tr> <tr> <td width="190" class="summary_data">Wind Direction</td> <td width="170" class="summary_data">NNW&nbsp;331&deg;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr> <td width="190" class="summary_data">12 Hour Forecast</td> <td width="570" class="summary_data" colspan="5">Increasing clouds with little temperature change. Precipitation possible within 24 to 48 hours. </td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr> <tr> <td width="190" class="summary_header_label">Wind</td> <td width="170" class="summary_header">2 Minute</td> <td width="100" class="summary_header">10 Minute</td> <td width="100" class="summary_header">&nbsp;</td> <td width="100" class="summary_header">&nbsp;</td> <td width="100" class="summary_header">&nbsp;</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr> <td width="190" class="summary_data">Average Wind Speed</td> <td width="170" class="summary_data">1.1 m/s</td> <td width="100" class="summary_data">0.9 m/s</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> </tr> <tr> <td width="190" class="summary_data">Wind Gust Speed</td> <td width="170" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">2.2 m/s</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr> <tr> <td width="190" class="summary_header_label">Rain</td> <td width="170" class="summary_header">Rate</td> <td width="100" class="summary_header">Day</td> <td width="100" class="summary_header">Storm</td> <td width="100" class="summary_header">Month</td> <td width="100" class="summary_header">Year</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr> <td width="190" class="summary_data">Rain</td> <td width="170" class="summary_data">0.0mm/Hour</td> <td width="100" class="summary_data">0.0mm</td> <td width="100" class="summary_data">0.0mm</td> <td width="100" class="summary_data">36.8mm</td> <td width="100" class="summary_data">178.8mm</td> </tr> <tr> <td width="190" class="summary_data">Last Hour Rain</td> <td width="170" class="summary_data">0.0mm</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> </table> <!-- END: SUMMARY WEATHER DISPLAY --> <br> <!-- START: DISPLAY SELECTION --> <table width="760" cellpadding="0" cellspacing="0" border="0" summary=""> <tr> <td align="left" valign="top" width="50%"> <form name="frmUnits" method="post" action="/user/stargazer32584/index.php"> View page units as: <select name="selUnits" class="device" onChange="JavaScript:changeUnits();"> <option value="0" SELECTED>Station Defaults</option> <option value="1">Metric</option> <option value="2">US Imperial</option> </select> </form> </td> <td align="right" valign="top" width="50%">&nbsp;</td> </tr> </table> <!-- END: DISPLAY SELECTION --> </td> </tr> </table> </td> </tr> </table> <br> <!-- END: PAGE CONTENT --> <!-- START: FOOTER --> <div class="Footer"> <div class="FooterLinks"> <a href="http://www.davisnet.com/about/index.asp" target="_blank">About Davis</a> | <a href="privacy_corporate.php" target="_blank">Privacy</a> | <a href="http://www.davisnet.com/support/weather/faq/">FAQ's</a> | <a href="http://www.davisnet.com/contact/index.asp" target="_blank">Contact Us</a> | <a href="http://www.davisnet.com/support/index.asp" target="_blank">Support</a> | <a href="mailto:support@weatherlink.com?subject=WeatherLink+Website+Issue">Report Problems</a> </div> <div class="FooterText"> Copyright &copy; 2017 - Davis Instruments, Corp. - All Rights Reserved - ver 1.15.0 </div> </div> <!-- END: FOOTER --> <br><br><br> <!-- START: Google Analytics --> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> <script type="text/javascript"> _uacct="UA-3010397-2"; urchinTracker("/user/index.php"); </script> <!-- END: Google Analytics --> </div><!-- mainContainer --> </div><!-- outerContainer --> </body> </html>



Leider bekomme ich kein Reading  :-\.

Die Attribute im Modul sehen wie folgt aus:

attr WeatherLink readingsName_Barometer Barometer
attr WeatherLink readingsRegex_Barometer (?s)Barometer.{43}([\d\.]+)

Woran kann das liegen ?

Viele Grüße und besten Dank

André
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 26 Mai 2017, 01:38:40
Das (?s) brauchst Du nw. nicht.

Ich weiss aber nicht, ob Fhem mit {} in den Regexp klar kommt, dann evtl. ".{43}" durch 43 Punkte ersetzen.
Barometer...........................................([\d.]+)

Du sagst nicht, was Du für ein Modul nutzt, aber wenn es HTTPMOD ist, lautet es:
attr WeatherLink reading01Name Barometer
attr WeatherLink reading01Regex Barometer...........................................([\d.]+)





Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 26 Mai 2017, 08:36:19
Hallo amenomade,

Jau...bin ich irgendwie drüber hinweg gekommen.
Klar...ich meinte das HTTPMOD-MODUL.

Ich werde das dann mal mit den 43 Punkten probieren.
Besten Dank !

VG

André

Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 31 Mai 2017, 13:50:35
Hallo zusammen,

ich hatte das Mal mit den 43 Punkten gemacht.
Funktioniert aber leider nicht.
Das ist doch echt blöd. Man hat einen Ausdruck, der eigentlich funktioniert, denn aber doch nicht.

VG

André
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 31 Mai 2017, 14:30:52
Hast Du auch die Readingsnamen geändert, wie ich geschrieben habe?

readingsName.* und readingsRegex.* sind "deprecated". Richtig ist reading[0-9]+Name und reading[0-9]+Regex.

Ansonsten post mal bitte ein kompletes "list" von deinem HTTPMOD (wenn Usernamen und Passwörter o.ä. bitte im Vorfeld ggf. anonymisieren)
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 31 Mai 2017, 22:30:05
Hallo amenomade !

ich habe das mit den Attributen nochmals geändert. Leider ohne Erfolg.

Hier mal das List:
Internals:
   BUSY       0
   CHANGED
   DEF        http://www.weatherlink.com/user/stargazer/index.php?view=summary&headers=1 60
   Interval   60
   LASTSEND   1496262068.9881
   MainURL    http://www.weatherlink.com/user/stargazer/index.php?view=summary&headers=1
   ModuleVersion 3.3.9 - 23.3.2017
   NAME       WeatherLink
   NR         368
   STATE      ???
   TRIGGERTIME 1496262128.98771
   TRIGGERTIME_FMT 2017-05-31 22:22:08
   TYPE       HTTPMOD
   addr       http://www.weatherlink.com:80
   buf        HTTP/1.1 200 OK

Content-Type: text/html

Connection: close

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Date: Wed, 31 May 2017 20:21:09 GMT

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Pragma: no-cache

Server: Apache

Set-Cookie: PHPSESSID=u2e5ohhjrbgdc2php8jmikt; path=/

Set-Cookie: AWSELB=F1E131E50EF091F2748F3BF05B2028E05203E1C496BA0DBB6E148C798E4D5BA284C5E674DE6D7EB80BAA3F2CCD8F0CBF0DFDF55ED9B32DDC0760A76BC0A81C6A30A9F010107753D4E25DB0E82186FA264;PATH=/

Vary: Accept-Encoding

X-Cache: Miss from cloudfront

Via: 1.1 a418a5add122000ef61af1637f885.cloudfront.net (CloudFront)

X-Amz-Cf-Id: dMPU1K9MoPcZtJK4KrxLf6XxHagVeDYKFvmKgETu_M_PsrtR7UQVoA==





<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



<html lang="en">

<head><title>Davis | WeatherLink - My Weather Page</title>



<!-- Force IE8 into compatibility mode so our shadows display correctly -->

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>

<meta http-equiv="refresh" content="300">



<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<meta name="Keywords" content="Davis WeatherLinkIP WeatherLink">

<meta name="Author" content="Andy Schmidt, Jeremaih Jeffress">

<meta name="Robots" content="All">

<meta name="Content-Language" content="English">

<meta name="Copyright" content="&copy; 2017 Davis Instruments">



<link type="image/x-icon" href="/favicon.ico" rel="Shortcut Icon">

<link type="text/css" href="/lib/css/wl2.css" rel="stylesheet">

<link type="text/css" href="/lib/css/colorbox.css" rel="stylesheet">

<link type="text/css" href="/lib/css/jquery-ui-1.8.4.custom.css" rel="stylesheet">



<script type="text/javascript" src="/lib/js/library/jquery-1.7.1.min.js?ver=20170531"></script>

<script type="text/javascript" src="/lib/js/library/jquery-ui-1.8.17.custom.min.js?ver=20170531"></script>

<script type="text/javascript" src="/lib/js/library/jquery.colorbox.js"></script>

<script type="text/javascript" src="/lib/js/library/jquery.validate.min.js"></script>



<script type="text/javascript" src="/lib/js/library/lodash.2.4.1.min.js?ver=20170531"></script>



<script type="text/javascript" src="/lib/js/classes/Lib.js"></script>

<script type="text/javascript" src="/lib/js/classes/FormValidator.js"></script>

<script type="text/javascript" src="/lib/js/classes/Dialog.js"></script>

<script type="text/javascript" src="/lib/js/classes/cAjaxHandler.js"></script>

<script type="text/javascript" src="/lib/js/classes/cAjaxQueue.js"></script>



<script type="text/javascript">

$(document).ready(function(){

// This will fade out the message box if there is one.

//LIB.fadeOutMessageBox();



//Buttons set with attributes data-link=1 will make the button perform as a link and will look for

//the attribruge data-href for the url location to link to.

$('body').on('click', 'button[data-link=1]', function(){

window.location.href = $(this).attr('data-href');

});

});

</script>

<script type="text/javascript">



//--------------------------------------

function changeUnits() {

var oForm = document.forms['frmUnits'];

var iType;



iType = oForm.selUnits.options[oForm.selUnits.selectedIndex].value;

document.location.href = "/user/stargazer/index.php?view=summary&headers=1&type=" + iType;

return;

}





</script>



</head>

<body>





<div id="outerContainer">

<div id="mainContainer">



<!-- Header -->

<div style="float: left;">

<a href="http://www.weatherlink.com/"><img src="/images/wl_top.png" width="281" height="46" alt="WeatherLink Logo"></a>

</div>

<div style="float: left;">

<img src="/images/wl_top-mid.png" width="369" height="46" alt="">

</div>

<div style="float: left;">

<a href="http://www.davisnet.com" target="_blank"><img src="/images/wl_top-davis.png" width="112" height="46" alt="Davis Logo"></a>

</div>

<br clear="all" />



<!-- START: TOP NAVIGATION -->

<table align="center" width="760" class="header" border="0" cellspacing="0" cellpadding="0" summary="">

<tr>

<td height="25" class="NavLeft">

<a href="http://www.davisnet.com/support/weather/faq/index.asp?ProdFam=15&amp;submit=Get+Information"

target="_blank">FAQ's</a> |

<a href="http://www.davisnet.com/weather/products/weather_product.asp?pnum=06555#price" target="_blank">Order Now</a> |

<a href="/register.php">Register</a>

</td>

<td height="25" class="NavRight">





<a href="/user/stargazer/index.php?view=main&amp;headers=1">My Weather</a> |

<a href="/user/stargazer/index.php?view=summary&amp;headers=1">Summary</a> |

<a href="/user/stargazer/index.php?view=summary&amp;headers=0">No Headers</a> |

<a href="/map.php?station=stargazer">Map</a> |

<a href="/login.php">Login</a>



</td>

</tr>

<tr>

<td height="1" colspan="2" align="center"><img src="/images/dividing_line.gif" width="760" height="1" alt=""></td>

</tr>

<tr>

<td height="10" colspan="2" align="center"><img src="/images/spacer.gif" width="1" height="10" alt=""></td>

</tr>

</table>

<!-- END: TOP NAVIGATION -->





<!-- START: PAGE CONTENT -->





<table align="center" width="760" class="content" border="0" cellspacing="0" cellpadding="0" summary="">

<tr>

<td valign="top" align="center">



<table align="left" width="100%" border="0" cellspacing="0" cellpadding="0" summary="">

<tr>

<td align="left" valign="top">



<!-- START: SUMMARY WEATHER DISPLAY -->

<table width="760" cellpadding="0" cellspacing="0" border="0" summary="">

<tr>

<td align="left" valign="top" colspan="6">

<a href="http://www.weatherlink.com/" class="notext"><img src="/images/wl_network.png" alt="WeatherLink Network" width="431" height="43" border="0"></a>

</td>

</tr>

<tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr>

<tr><td colspan="6" class="summary_station_name">LangenGraß</td></tr>

<tr><td colspan="6" class="summary_timestamp">Current Conditions as of 10:20 PM Wednesday, May 31, 2017</td></tr>

<tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr>

<tr>

<td width="190" class="summary_header_label">Station Summary</td>

<td width="170" class="summary_header">Current</td>

<td width="200" colspan="2" class="summary_header">Today's Highs</td>

<td width="200" colspan="2" class="summary_header">Today's Lows</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Outside Temp</td>

<td width="170" class="summary_data">13.9 C</td>

<td width="100" class="summary_data">22.9 C</td>

<td width="100" class="summary_data">4:28 PM</td>

<td width="100" class="summary_data">12.8 C</td>

<td width="100" class="summary_data">3:01 AM</td>

</tr>

<tr>

<td width="190" class="summary_data">Outside Humidity</td>

<td width="170" class="summary_data">71%</td>

<td width="100" class="summary_data">92%</td>

<td width="100" class="summary_data">3:04 AM</td>

<td width="100" class="summary_data">51%</td>

<td width="100" class="summary_data">4:03 PM</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Inside Temp</td>

<td width="170" class="summary_data">21.8 C</td>

<td width="100" class="summary_data">22.2 C</td>

<td width="100" class="summary_data">11:31 AM</td>

<td width="100" class="summary_data">21.7 C</td>

<td width="100" class="summary_data">6:16 AM</td>

</tr>

<tr>

<td width="190" class="summary_data">Inside Humidity</td>

<td width="170" class="summary_data">50%</td>

<td width="100" class="summary_data">55%</td>

<td width="100" class="summary_data">12:00 AM</td>

<td width="100" class="summary_data">48%</td>

<td width="100" class="summary_data">5:14 PM</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Heat Index</td>

<td width="170" class="summary_data">13.9 C</td>

<td width="100" class="summary_data">23.3 C</td>

<td width="100" class="summary_data">3:57 PM</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr>

<td width="190" class="summary_data">Wind Chill</td>

<td width="170" class="summary_data">13.9 C</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">12.8 C</td>

<td width="100" class="summary_data">2:50 AM</td>

</tr>

<tr>

<td width="190" class="summary_data">Dew Point</td>

<td width="170" class="summary_data">8.9 C</td>

<td width="100" class="summary_data">16.1 C</td>

<td width="100" class="summary_data">9:49 AM</td>

<td width="100" class="summary_data">8.3 C</td>

<td width="100" class="summary_data">10:17 PM</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Barometer</td>

<td width="170" class="summary_data">1021.4hPa</td>

<td width="100" class="summary_data">1021.4hPa</td>

<td width="100" class="summary_data">10:19 PM</td>

<td width="100" class="summary_data">1016.6hPa</td>

<td width="100" class="summary_data">12:00 AM</td>

</tr>

<tr>

<td width="190" class="summary_data">Bar Trend</td>

<td width="170" class="summary_data">Rising Slowly</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Wind Speed</td>

<td width="170" class="summary_data">1.3 m/s</td>

<td width="100" class="summary_data">8.5 m/s</td>

<td width="100" class="summary_data">12:27 PM</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr>

<td width="190" class="summary_data">Wind Direction</td>

<td width="170" class="summary_data">N&nbsp;5&deg;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">12 Hour Forecast</td>

<td width="570" class="summary_data" colspan="5">Mostly clear with little temperature change. </td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr>

<tr>

<td width="190" class="summary_header_label">Wind</td>

<td width="170" class="summary_header">2 Minute</td>

<td width="100" class="summary_header">10 Minute</td>

<td width="100" class="summary_header">&nbsp;</td>

<td width="100" class="summary_header">&nbsp;</td>

<td width="100" class="summary_header">&nbsp;</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Average Wind Speed</td>

<td width="170" class="summary_data">0.9 m/s</td>

<td width="100" class="summary_data">0.9 m/s</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr>

<td width="190" class="summary_data">Wind Gust Speed</td>

<td width="170" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">1.8 m/s</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr>

<tr>

<td width="190" class="summary_header_label">Rain</td>

<td width="170" class="summary_header">Rate</td>

<td width="100" class="summary_header">Day</td>

<td width="100" class="summary_header">Storm</td>

<td width="100" class="summary_header">Month</td>

<td width="100" class="summary_header">Year</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Rain</td>

<td width="170" class="summary_data">0.0mm/Hour</td>

<td width="100" class="summary_data">0.0mm</td>

<td width="100" class="summary_data">0.0mm</td>

<td width="100" class="summary_data">47.2mm</td>

<td width="100" class="summary_data">189.2mm</td>

</tr>

<tr>

<td width="190" class="summary_data">Last Hour Rain</td>

<td width="170" class="summary_data">0.0mm</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>







</table>

<!-- END: SUMMARY WEATHER DISPLAY -->





<br>



<!-- START: DISPLAY SELECTION -->

<table width="760" cellpadding="0" cellspacing="0" border="0" summary="">

<tr>

<td align="left" valign="top" width="50%">



<form name="frmUnits" method="post" action="/user/stargazer/index.php">

View page units as:

<select name="selUnits" class="device" onChange="JavaScript:changeUnits();">

<option value="0" SELECTED>Station Defaults</option>
<option value="1">Metric</option>
<option value="2">US Imperial</option>
</select>

</form>



</td>

<td align="right" valign="top" width="50%">&nbsp;</td>

</tr>

</table>

<!-- END: DISPLAY SELECTION -->



</td>

</tr>

</table>



</td>

</tr>

</table>

<br>



<!-- END: PAGE CONTENT -->





<!-- START: FOOTER -->

<div class="Footer">

<div class="FooterLinks">

<a href="http://www.davisnet.com/about/index.asp" target="_blank">About Davis</a> |

<a href="privacy_corporate.php" target="_blank">Privacy</a> |

<a href="http://www.davisnet.com/support/weather/faq/">FAQ's</a> |

<a href="http://www.davisnet.com/contact/index.asp" target="_blank">Contact Us</a> |

<a href="http://www.davisnet.com/support/index.asp" target="_blank">Support</a> |

<a href="mailto:support@weatherlink.com?subject=WeatherLink+Website+Issue">Report Problems</a>

</div>

<div class="FooterText">

Copyright &copy; 2017 - Davis Instruments, Corp. - All Rights Reserved

- ver 1.15.0 </div>



</div>

<!-- END: FOOTER -->



<br><br><br>



<!-- START: Google Analytics -->

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>

<script type="text/javascript">

_uacct="UA-3010397-2";

urchinTracker("/user/index.php");

</script>

<!-- END: Google Analytics -->



</div><!-- mainContainer -->

</div><!-- outerContainer -->



</body>

</html>




   code       200
   conn
   data
   displayurl http://www.weatherlink.com/user/stargazer/index.php?view=summary&headers=1
   header
   host       www.weatherlink.com
   httpheader HTTP/1.1 200 OK

Content-Type: text/html

Connection: close

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Date: Wed, 31 May 2017 20:21:09 GMT

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Pragma: no-cache

Server: Apache

Set-Cookie: PHPSESSID=u2e5ohhjrbgdc2iktg91; path=/

Set-Cookie: AWSELB=F1E131E50EF091F2748F3BF05B2028E05203E1C496BA0DBB6E148C798E4D5BA284C5E674DE6D7EB80BAA3F2CCD8F0CBF0DFDF55ED9B32DDC0760A76BC0A81C6A30A9F01DB0E82E03089D2C186FA264;PATH=/

Vary: Accept-Encoding

X-Cache: Miss from cloudfront

Via: 1.1 a418a5add122000ef61afe8a165.cloudfront.net (CloudFront)

X-Amz-Cf-Id: dMPU1K9MoPcZtJK4KrxLf6XxHmKgETu_M_PsrtR7UQVoA==
   httpversion 1.0
   hu_blocking 0
   hu_filecount 2
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /user/stargazer/index.php?view=summary&headers=1
   protocol   http
   redirects  0
   timeout    2
   url        http://www.weatherlink.com/user/stargazer32584/index.php?view=summary&headers=1
   value      0
   QUEUE:
   Readings:
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://www.weatherlink.com/user/stargazer/index.php?view=summary&headers=1
     value      0
   Sslargs:
Attributes:
   reading01Name Barometer
   reading01Regex Barometer...........................................([\d\.]+)
   room       Wetter
   userattr   reading01Name reading01Regex



Viele Grüße und vielen Dank

André
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 31 Mai 2017, 23:36:47
Das Problem ist: die Standard Regex Option matcht nicht über mehrere Zeilen

Probier mal so attr reading01Name Barometer
attr reading01Regex Barometer...............................................([\d\.]+)
attr reading01RegOpt s

(Vorsicht, Anzahl von Punkten wurde geändert).
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: andies am 01 Juni 2017, 07:16:54
Ich sehe gar keine 43 Punkte in deinem buffer, oder stehe ich da auf dem Schlauch?


Gesendet von iPad mit Tapatalk Pro
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 01 Juni 2017, 07:50:37
Nicht 43 sondern 47 jetzt (da Zeilenumbrüche mitgezählt werden müssen).

Vielleicht siehst Du die nicht in Tapatalk, aber die sind doch da ;)
Titel: HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: andies am 01 Juni 2017, 09:12:41
Ok ;-) und geht nicht /n bei regex?


Gesendet von iPhone mit Tapatalk Pro

<EDIT> Jetzt sitze ich am Rechner. Ich sehe da  immer noch keine .... Meint Ihr damit etwa beliebige Zeichen? Warum nehmt Ihr nicht einfach hPA im Regex, das kommt auch nur vor den Zahlen vor? So was wie ([\d]*)hPA oder so?
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 01 Juni 2017, 09:25:31
Zitatund geht nicht /n bei regex?

Geht doch: mit \n oder \r\n kann man schon Zeilenumbrüche matchen. Aber erst wenn die Regex alle Zeilen auf einmal durchsucht. Standardmässig sucht er aber Zeile nach Zeile, und "." matcht kein Umbruch
Mit Regopt "s" wird das gesamte als eine einzige Zeile bewertet.
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 01 Juni 2017, 10:39:50
Hallo,

habe jetzt mal den Ausschnitt aus der fhem.cfg angehängt.
Es will leider immer noch nicht :(.
##WeatherLink HTTPMOD - Abfrage
define WeatherLink HTTPMOD http://www.weatherlink.com/user/stargazer/index.php?view=summary&headers=1 60
attr WeatherLink userattr readings01Name readings01Regex
attr WeatherLink reading01Name Barometer
attr WeatherLink reading01Regex Barometer...........................................([\d\.]+)
attr reading01RegOpt s
attr WeatherLink room Wetter


Man...bin ich echt zu blöd..?

VG

André
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 01 Juni 2017, 12:36:41
Stell mal attr verbose 5 auf dem HTTPMOD ein, und poste bitte die Log.

Ahja: du hast immer noch:
Barometer...........................................([\d\.]+)

Ich hatte das geändert (mit Anmerkung: Vorsicht, Anzahl Punkte wurde geändert)
Barometer...............................................([\d\.]+)
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: nils_ am 01 Juni 2017, 12:53:48
Zitat von: Stargazer am 01 Juni 2017, 10:39:50
##WeatherLink HTTPMOD - Abfrage
define WeatherLink HTTPMOD http://www.weatherlink.com/user/stargazer/index.php?view=summary&headers=1 60
attr WeatherLink userattr readings01Name readings01Regex
attr WeatherLink reading01Name Barometer
attr WeatherLink reading01Regex Barometer...........................................([\d\.]+)
attr reading01RegOpt s
attr WeatherLink room Wetter

nur mal so geraten:

attr WeatherLink reading01Regex Barometer...........................................([\d\.]+)
attr WeatherLink reading01RegOpt s
attr WeatherLink room Wetter

code-tags bewusst weggelassen wegen markierung :)
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 01 Juni 2017, 12:56:18
Stimmt, hatte ich übersehen...
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 01 Juni 2017, 13:24:15
Hi,

so. Verbose auf 5 mit folgendem Eintrag:


2017.06.01 13:14:32 5: WeatherLink: ExtractSid called, context reading, num
2017.06.01 13:14:32 4: WeatherLink: CheckAuth decided no authentication required
2017.06.01 13:14:32 5: WeatherLink: Read starts parsing response to update with defined readings: 01
2017.06.01 13:14:32 5: WeatherLink: ExtractReading Barometer with regex /Barometer...............................................([\d\.]+)/...
2017.06.01 13:14:32 5: WeatherLink: ExtractReading Barometer did not match
2017.06.01 13:14:32 3: WeatherLink: Read response to update didn't match any Reading
2017.06.01 13:14:32 5: WeatherLink: HandleSendQueue called, qlen = 0

Das kam nach dem Aufführen des buffers im Log.
Hatte jetzt vor dem Log die Passage mit dem Barometer noch angepasst. Warum er im Log hinter ([\d\.]+) noch die Punkte macht, weiß ich nicht. Die stehen da so im Modul nicht hinter.

VG und besten Dank

André
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 01 Juni 2017, 13:44:33
Die "/" und "/..." sind nw da, um die gesamte Regex in Standardform darzustellen: nw. ist eine vollständige Regex nicht nur Barometer..(blabla) sondern
/Barometer..(blabla)/s wo "s" die Regopt ist

Was genau in unserem Fall passiert muss ich noch im Modul  investigieren.

Es interessiert mich aber, ob Fhem die {} in der Regex versteht.

Kannst Du wieder bitte ein Test machen?
Barometer.{43,49}([\d.]+)
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 01 Juni 2017, 13:51:43
Anscheinend hat er regopt nicht mitberücksichtigt da im Modul folgendes steht:
            if ($regopt) {
                Log3 $name, 5, "$name: ExtractReading $reading with regex /$regex/$regopt ...";


Hast Du es korrigiert wie oben gesagt?
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: ares am 01 Juni 2017, 14:19:22
Hallo Stargazer,

der Buffer wird nicht 1:1 beim Regex im Modul verwendet. Im Buffer fehlen z.B. Zeilenumbrüche und damit passt das ".{43}" wahrscheinlich nicht. Nimm besser den Quelltext der Webseite für den regex tester wie regex101.com, den Du direkt aus dem Browser kopierst. Verbose 5 funktioniert auch, allerdings musst Du dann die Seite in fhem einmal laden.

Ohne den tatsächlichen Inhalt zu kennen würde ich es so versuchen:
(?s)Barometer.+?>([\d\.]+)

Viele Grüße
Manfred
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 01 Juni 2017, 15:52:53
Hallo zusammen,

ich habe noch beide Expressions getestet. Manfred seine
läuft perfekt.
Alles sehr interessant... .

Trotzdem erstmal vielen Dank für eure Hilfe !!
Ich hatte das letztens schonmal, dass bei 101regex alles gut war und FHEM das nicht akzeptierte.

Nun kann ich die anderen Werte auch noch versuchen zu extrahieren.

VG

André
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 01 Juni 2017, 17:18:47
Danke @ares! Das "lazy" vergesse ich immer. Ich muss noch mit Regex üben ;)
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 01 Juni 2017, 17:46:21
(?s) sollte aber ähnlich sein wie regopt "s", oder?
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: ares am 01 Juni 2017, 22:27:18
Zitat von: Stargazer am 01 Juni 2017, 15:52:53
Ich hatte das letztens schonmal, dass bei 101regex alles gut war und FHEM das nicht akzeptierte.

101regex unterstützt leider kein PERL, HTTPMOD dagegen nur PERL.

Ersetze mal
(?s)Barometer.+?>([\d\.]+)
in fhem durch
Barometer\p{Any}+?>([\d\.]+)
und wenn es funktioniert versuch Dein Glück danach mal mit 101regex. Und nach dem Test vergisst Du das "\p{Any}" statt dem "." sofort wieder, das sollte nur als Gegenbeweis dienen dass fhem auch Sachen kann die 101regex nicht versteht. Nicht alles das funktioniert muss man auch verwenden, Stellen abzählen gehört meiner Meinung nach dazu. Besser ist die erste Anweisung, die sprachunabhängiger ist.

Und bleib trotzdem bei 101regex!. Öffne aber die gewünschte Seite (z.B. http://www.weatherlink.com/user/stargazer/index.php?view=summary&headers=1) aber im Browser und kopier den Quelltext der Seite von dort (Rechtklick - Seitenquelltext anzeigen) und nicht aus dem buf von fhem, da der nicht 1:1 gespeichert werden kann. Und sobald ein Zeilenumbruch im Text ist setzt Du meist einfach ein (?s) davor, dann deckst Du die allermeisten Fälle ab.

Viele Grüße
Manfred
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: andies am 02 Juni 2017, 19:24:03
Darf ich nochmal fragen, wieso Ihr nicht
([\d\.]*)hPa</td>
nehmt? HektoPascal kommt nur zweimal vor und es geht doch um die Höhe des Luftdrucks, oder?
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 03 Juni 2017, 01:39:47
Aus Performance Gründe ist es immer besser vorwährst als rückwährst zu suchen.

([\d\.]*)hPa<\/td>
3 matches, 57183 steps, 36ms

Barometer<\/td> <td width="170" class="summary_data">([\d\.]*)
1 match, 100 steps, < 1ms
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: andies am 03 Juni 2017, 16:37:03
wieder was gelernt  8)
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: KernSani am 03 Juni 2017, 20:26:08
@Stargazer: Wenn deine Frage damit beantwortet ist, bitte noch [Gelöst] vor das Subject des ersten Posts
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 09 Juni 2017, 06:55:06
Hallo zusammen,

ich melde mich trotzdem noch einmal, da es noch ein kleines Problem gibt.
Ich habe den Rat von Manfred befolgt und habe den direkten Quelltext in 101regex.com eingesetzt und dann das Barometer-Argument daran getestet. Da findet er nix. Nutze ich den Buffer des HTTPMOD-Moduls, so wird alles korrekt angezeigt *kopfkratz*.

Nun wollte ich gerne noch die Windrichtung anzeigen lassen. Wenn es ginge, mit dem Ausdruck der dann z.B. das "ENE" und die Gradzahl anzeigt.
Hier nochmal ein Mitschnitt des Buffers:

class="summary_data">Wind Direction</td> <td width="170" class="summary_data">ENE&nbsp;72&deg;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr> <td width="190" class="summary_data">12 Hour Forecast</td> <td width="570" class="summary_data" colspan="5">Increasing clouds with little temperature change. </td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr> <tr> <td width="190" class="summary_header_label">Wind</td> <td width="170" class="summary_header">2 Minute</td> <td width="100" class="summary_header">10 Minute</td> <td width="100" class="summary_header">&nbsp;</td> <td width="100" class="summary_header">&nbsp;</td> <td width="100" class="summary_header">&nbsp;</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr> <td width="190" class="summary_data">Average Wind Speed</td> <td width="170" class="summary_data">3.5 m/s</td> <td width="100" class="summary_data">3.6 m/s</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> </tr> <tr> <td width="190" class="summary_data">Wind Gust Speed</td> <td width="170" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">4.5 m/s</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr> <tr> <td width="190" class="summary_header_label">Rain</td>

Bei dem regulären Code nimmt er die 12, von "12 Stunden Vorhersage".
Man man...mittlerweile habe ich den Eindruck, ich hätte es nie gemacht... :-[

Viele Grüße

André
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 09 Juni 2017, 07:46:58
ZitatBei dem regulären Code
Welches?

(?s)Wind Direction.*?data\">(.*?)&
(?s)Wind Direction.*?data\">.*?([\d]+)
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 09 Juni 2017, 07:56:03
Für die erste (Direction) kann man auch spezifischer sein:
(?s)Wind Direction.*?data\">([NWES]+)
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 09 Juni 2017, 12:46:58
Hallo,

ach klar. Vergessen !

Das Regex heißt natürlich : (?s)Wind Direction.+?>([\d\.]+)

Trotzdem schon einmal vielen Dank für deine Hilfe !

VG

André
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: ares am 09 Juni 2017, 16:00:55
Hast Du den Vorschlag von amenomade schon getestet?

(?s)Wind Direction.*?data\">([NWES]+)
(?s)Wind Direction.*?data\">.*?([\d]+)
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 09 Juni 2017, 16:29:56
Hi,

Jepp. Gerade den zweiten getestet. Die laufen beide Perfekt !!
Ein fettes DANKESCHÖN! nochmal dafür.

Jetzt muss ich das für die Regenmenge noch korrigieren.

Da setze ich derzeit folgendes Regex ein:

(?s)Rain.+?>([\d\.]+)

Der Code-Teil sieht folgendermaßen aus:

<tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr> <tr> <td width="190" class="summary_header_label">Rain</td> <td width="170" class="summary_header">Rate</td> <td width="100" class="summary_header">Day</td> <td width="100" class="summary_header">Storm</td> <td width="100" class="summary_header">Month</td> <td width="100" class="summary_header">Year</td> </tr> <tr><td colspan="6"><hr class="ThinLine"></td></tr> <tr> <td width="190" class="summary_data">Rain</td> <td width="170" class="summary_data">0.0mm/Hour</td> <td width="100" class="summary_data">5.6mm</td> <td width="100" class="summary_data">5.6mm</td> <td width="100" class="summary_data">14.2mm</td> <td width="100" class="summary_data">203.4mm</td> </tr> <tr> <td width="190" class="summary_data">Last Hour Rain</td> <td width="170" class="summary_data">0.4mm</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100" class="summary_data">&nbsp;</td> <td width="100"

Wenn ich das Regex von oben nehme, so bekomme ich immer den Wert von "mm/hour" angezeigt. Leider noch nicht die Tagesregenmenge. Da werde ich nochmal nachforschen. Müsste jetzt ja gehen... ::).

VG

André
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 09 Juni 2017, 16:34:08
Und wo ist die Tagesregenmenge?
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 09 Juni 2017, 16:41:05
Wenn das die erste 5.6 ist, dann überleg wie folgendes (ich will nicht unbedingt zukünftig alle deine Regex selbst schreiben ;) ) :
- match Rain
- dann match so wenig wie möglich Zeichen bis
- match Hour
- dann match so wenig wie möglich Zeichen bis match > dann
- capturing group with digit oder punkt

Die rechte Spalte in regex101 detailliert das ganze.
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 09 Juni 2017, 16:44:20
Wenn "mm/Hour" nur einmal in der ganze Seite kommt, noch einfacher:
- match mm/Hour
- dann match so wenig wie möglich Zeichen bis match > dann
- capturing group with digits oder punkt
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 09 Juni 2017, 19:38:34
Hi amenomade !

das stimmt schon. Ich möchte da auch selber gerne bei und lernen. Darum versuche ich das derzeit. Nur habe ich ja das Problem, dass ich mit dem jetzigen Auswerten doch etwas zu hoch für mein Wissen bin.
Das Kernproblem liegt eigentlich darin, dass sich zig Zeilen des Quelltextes gleichen.

Siehe hier:

</tr>
<tr><td colspan="6"><hr class="ThinLine"></td></tr>
<tr>
<td width="190" class="summary_data">Rain</td>
<td width="170" class="summary_data">0.8mm/Hour</td>
<td width="100" class="summary_data">8.6mm</td>
<td width="100" class="summary_data">8.6mm</td>
<td width="100" class="summary_data">17.2mm</td>
<td width="100" class="summary_data">206.4mm</td>
</tr>
<tr>
<td width="190" class="summary_data">Last Hour Rain</td>
<td width="170" class="summary_data">3.0mm</td>
<td width="100" class="summary_data">&nbsp;</td>
<td width="100" class="summary_data">&nbsp;</td>
<td width="100" class="summary_data">&nbsp;</td>
<td width="100" class="summary_data">&nbsp;</td>
</tr>
<tr><td colspan="6"><hr class="ThinLine"></td></tr>


Das derzeitige Regex ist:

<td width="100" class="summary_data">([0-9.]*)

Hätte das "...width=100" eine andere Nummer, z.B., könnte ich das sofort alleine lösen.
Da bin ich derzeit noch dran. Schön wäre ja noch, wenn es mit abzählen der Zeichen im Regex funktionieren
würde. So wie auf Seite 1 dieses Threads beschrieben.

Viele Grüße und besten Dank

André


PS.: Man müsste versuchen, die Zeilen vom einfachen >Rain< bis zu dem Wert mit in die Regex einzufügen.
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: amenomade am 09 Juni 2017, 20:05:44
Zitat<td width="100" class="summary_data">
ist aber weit von eindeutig!

Such dir eindeutige Kriterien.
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 09 Juni 2017, 22:37:37
Eben,

und da bin ich derzeit noch für mich am Knobeln... .

VG

André
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: ares am 10 Juni 2017, 06:21:53
Zitat von: Stargazer am 09 Juni 2017, 22:37:37
Eben,

und da bin ich derzeit noch für mich am Knobeln... .

VG

André

Hast Du denn schon die Hilfestellung von amenomade gelesen und versucht zu verstehen?

Test string:

Internals:
   BUSY       0
   CHANGED
   DEF        http://www.weatherlink.com/user/stargazer/index.php?view=summary&headers=1 60
   Interval   60
   LASTSEND   1496262068.9881
   MainURL    http://www.weatherlink.com/user/stargazer/index.php?view=summary&headers=1
   ModuleVersion 3.3.9 - 23.3.2017
   NAME       WeatherLink
   NR         368
   STATE      ???
   TRIGGERTIME 1496262128.98771
   TRIGGERTIME_FMT 2017-05-31 22:22:08
   TYPE       HTTPMOD
   addr       http://www.weatherlink.com:80
   buf        HTTP/1.1 200 OK

Content-Type: text/html

Connection: close

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Date: Wed, 31 May 2017 20:21:09 GMT

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Pragma: no-cache

Server: Apache

Set-Cookie: PHPSESSID=u2e5ohhjrbgdc2php8jmikt; path=/

Set-Cookie: AWSELB=F1E131E50EF091F2748F3BF05B2028E05203E1C496BA0DBB6E148C798E4D5BA284C5E674DE6D7EB80BAA3F2CCD8F0CBF0DFDF55ED9B32DDC0760A76BC0A81C6A30A9F010107753D4E25DB0E82186FA264;PATH=/

Vary: Accept-Encoding

X-Cache: Miss from cloudfront

Via: 1.1 a418a5add122000ef61af1637f885.cloudfront.net (CloudFront)

X-Amz-Cf-Id: dMPU1K9MoPcZtJK4KrxLf6XxHagVeDYKFvmKgETu_M_PsrtR7UQVoA==





<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



<html lang="en">

<head><title>Davis | WeatherLink - My Weather Page</title>



<!-- Force IE8 into compatibility mode so our shadows display correctly -->

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>

<meta http-equiv="refresh" content="300">



<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<meta name="Keywords" content="Davis WeatherLinkIP WeatherLink">

<meta name="Author" content="Andy Schmidt, Jeremaih Jeffress">

<meta name="Robots" content="All">

<meta name="Content-Language" content="English">

<meta name="Copyright" content="&copy; 2017 Davis Instruments">



<link type="image/x-icon" href="/favicon.ico" rel="Shortcut Icon">

<link type="text/css" href="/lib/css/wl2.css" rel="stylesheet">

<link type="text/css" href="/lib/css/colorbox.css" rel="stylesheet">

<link type="text/css" href="/lib/css/jquery-ui-1.8.4.custom.css" rel="stylesheet">



<script type="text/javascript" src="/lib/js/library/jquery-1.7.1.min.js?ver=20170531"></script>

<script type="text/javascript" src="/lib/js/library/jquery-ui-1.8.17.custom.min.js?ver=20170531"></script>

<script type="text/javascript" src="/lib/js/library/jquery.colorbox.js"></script>

<script type="text/javascript" src="/lib/js/library/jquery.validate.min.js"></script>



<script type="text/javascript" src="/lib/js/library/lodash.2.4.1.min.js?ver=20170531"></script>



<script type="text/javascript" src="/lib/js/classes/Lib.js"></script>

<script type="text/javascript" src="/lib/js/classes/FormValidator.js"></script>

<script type="text/javascript" src="/lib/js/classes/Dialog.js"></script>

<script type="text/javascript" src="/lib/js/classes/cAjaxHandler.js"></script>

<script type="text/javascript" src="/lib/js/classes/cAjaxQueue.js"></script>



<script type="text/javascript">

$(document).ready(function(){

// This will fade out the message box if there is one.

//LIB.fadeOutMessageBox();



//Buttons set with attributes data-link=1 will make the button perform as a link and will look for

//the attribruge data-href for the url location to link to.

$('body').on('click', 'button[data-link=1]', function(){

window.location.href = $(this).attr('data-href');

});

});

</script>

<script type="text/javascript">



//--------------------------------------

function changeUnits() {

var oForm = document.forms['frmUnits'];

var iType;



iType = oForm.selUnits.options[oForm.selUnits.selectedIndex].value;

document.location.href = "/user/stargazer/index.php?view=summary&headers=1&type=" + iType;

return;

}





</script>



</head>

<body>





<div id="outerContainer">

<div id="mainContainer">



<!-- Header -->

<div style="float: left;">

<a href="http://www.weatherlink.com/"><img src="/images/wl_top.png" width="281" height="46" alt="WeatherLink Logo"></a>

</div>

<div style="float: left;">

<img src="/images/wl_top-mid.png" width="369" height="46" alt="">

</div>

<div style="float: left;">

<a href="http://www.davisnet.com" target="_blank"><img src="/images/wl_top-davis.png" width="112" height="46" alt="Davis Logo"></a>

</div>

<br clear="all" />



<!-- START: TOP NAVIGATION -->

<table align="center" width="760" class="header" border="0" cellspacing="0" cellpadding="0" summary="">

<tr>

<td height="25" class="NavLeft">

<a href="http://www.davisnet.com/support/weather/faq/index.asp?ProdFam=15&amp;submit=Get+Information"

target="_blank">FAQ's</a> |

<a href="http://www.davisnet.com/weather/products/weather_product.asp?pnum=06555#price" target="_blank">Order Now</a> |

<a href="/register.php">Register</a>

</td>

<td height="25" class="NavRight">





<a href="/user/stargazer/index.php?view=main&amp;headers=1">My Weather</a> |

<a href="/user/stargazer/index.php?view=summary&amp;headers=1">Summary</a> |

<a href="/user/stargazer/index.php?view=summary&amp;headers=0">No Headers</a> |

<a href="/map.php?station=stargazer">Map</a> |

<a href="/login.php">Login</a>



</td>

</tr>

<tr>

<td height="1" colspan="2" align="center"><img src="/images/dividing_line.gif" width="760" height="1" alt=""></td>

</tr>

<tr>

<td height="10" colspan="2" align="center"><img src="/images/spacer.gif" width="1" height="10" alt=""></td>

</tr>

</table>

<!-- END: TOP NAVIGATION -->





<!-- START: PAGE CONTENT -->





<table align="center" width="760" class="content" border="0" cellspacing="0" cellpadding="0" summary="">

<tr>

<td valign="top" align="center">



<table align="left" width="100%" border="0" cellspacing="0" cellpadding="0" summary="">

<tr>

<td align="left" valign="top">



<!-- START: SUMMARY WEATHER DISPLAY -->

<table width="760" cellpadding="0" cellspacing="0" border="0" summary="">

<tr>

<td align="left" valign="top" colspan="6">

<a href="http://www.weatherlink.com/" class="notext"><img src="/images/wl_network.png" alt="WeatherLink Network" width="431" height="43" border="0"></a>

</td>

</tr>

<tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr>

<tr><td colspan="6" class="summary_station_name">LangenGraß</td></tr>

<tr><td colspan="6" class="summary_timestamp">Current Conditions as of 10:20 PM Wednesday, May 31, 2017</td></tr>

<tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr>

<tr>

<td width="190" class="summary_header_label">Station Summary</td>

<td width="170" class="summary_header">Current</td>

<td width="200" colspan="2" class="summary_header">Today's Highs</td>

<td width="200" colspan="2" class="summary_header">Today's Lows</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Outside Temp</td>

<td width="170" class="summary_data">13.9 C</td>

<td width="100" class="summary_data">22.9 C</td>

<td width="100" class="summary_data">4:28 PM</td>

<td width="100" class="summary_data">12.8 C</td>

<td width="100" class="summary_data">3:01 AM</td>

</tr>

<tr>

<td width="190" class="summary_data">Outside Humidity</td>

<td width="170" class="summary_data">71%</td>

<td width="100" class="summary_data">92%</td>

<td width="100" class="summary_data">3:04 AM</td>

<td width="100" class="summary_data">51%</td>

<td width="100" class="summary_data">4:03 PM</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Inside Temp</td>

<td width="170" class="summary_data">21.8 C</td>

<td width="100" class="summary_data">22.2 C</td>

<td width="100" class="summary_data">11:31 AM</td>

<td width="100" class="summary_data">21.7 C</td>

<td width="100" class="summary_data">6:16 AM</td>

</tr>

<tr>

<td width="190" class="summary_data">Inside Humidity</td>

<td width="170" class="summary_data">50%</td>

<td width="100" class="summary_data">55%</td>

<td width="100" class="summary_data">12:00 AM</td>

<td width="100" class="summary_data">48%</td>

<td width="100" class="summary_data">5:14 PM</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Heat Index</td>

<td width="170" class="summary_data">13.9 C</td>

<td width="100" class="summary_data">23.3 C</td>

<td width="100" class="summary_data">3:57 PM</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr>

<td width="190" class="summary_data">Wind Chill</td>

<td width="170" class="summary_data">13.9 C</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">12.8 C</td>

<td width="100" class="summary_data">2:50 AM</td>

</tr>

<tr>

<td width="190" class="summary_data">Dew Point</td>

<td width="170" class="summary_data">8.9 C</td>

<td width="100" class="summary_data">16.1 C</td>

<td width="100" class="summary_data">9:49 AM</td>

<td width="100" class="summary_data">8.3 C</td>

<td width="100" class="summary_data">10:17 PM</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Barometer</td>

<td width="170" class="summary_data">1021.4hPa</td>

<td width="100" class="summary_data">1021.4hPa</td>

<td width="100" class="summary_data">10:19 PM</td>

<td width="100" class="summary_data">1016.6hPa</td>

<td width="100" class="summary_data">12:00 AM</td>

</tr>

<tr>

<td width="190" class="summary_data">Bar Trend</td>

<td width="170" class="summary_data">Rising Slowly</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Wind Speed</td>

<td width="170" class="summary_data">1.3 m/s</td>

<td width="100" class="summary_data">8.5 m/s</td>

<td width="100" class="summary_data">12:27 PM</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr>

<td width="190" class="summary_data">Wind Direction</td>

<td width="170" class="summary_data">N&nbsp;5&deg;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">12 Hour Forecast</td>

<td width="570" class="summary_data" colspan="5">Mostly clear with little temperature change. </td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr>

<tr>

<td width="190" class="summary_header_label">Wind</td>

<td width="170" class="summary_header">2 Minute</td>

<td width="100" class="summary_header">10 Minute</td>

<td width="100" class="summary_header">&nbsp;</td>

<td width="100" class="summary_header">&nbsp;</td>

<td width="100" class="summary_header">&nbsp;</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Average Wind Speed</td>

<td width="170" class="summary_data">0.9 m/s</td>

<td width="100" class="summary_data">0.9 m/s</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr>

<td width="190" class="summary_data">Wind Gust Speed</td>

<td width="170" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">1.8 m/s</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr><td colspan="6"><img src="/images/spacer.gif" width="10" height="11" border="0" alt=""></td></tr>

<tr>

<td width="190" class="summary_header_label">Rain</td>

<td width="170" class="summary_header">Rate</td>

<td width="100" class="summary_header">Day</td>

<td width="100" class="summary_header">Storm</td>

<td width="100" class="summary_header">Month</td>

<td width="100" class="summary_header">Year</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>

<tr>

<td width="190" class="summary_data">Rain</td>

<td width="170" class="summary_data">0.0mm/Hour</td>

<td width="100" class="summary_data">0.0mm</td>

<td width="100" class="summary_data">0.0mm</td>

<td width="100" class="summary_data">47.2mm</td>

<td width="100" class="summary_data">189.2mm</td>

</tr>

<tr>

<td width="190" class="summary_data">Last Hour Rain</td>

<td width="170" class="summary_data">0.0mm</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

<td width="100" class="summary_data">&nbsp;</td>

</tr>

<tr><td colspan="6"><hr class="ThinLine"></td></tr>







</table>

<!-- END: SUMMARY WEATHER DISPLAY -->





<br>



<!-- START: DISPLAY SELECTION -->

<table width="760" cellpadding="0" cellspacing="0" border="0" summary="">

<tr>

<td align="left" valign="top" width="50%">



<form name="frmUnits" method="post" action="/user/stargazer/index.php">

View page units as:

<select name="selUnits" class="device" onChange="JavaScript:changeUnits();">

<option value="0" SELECTED>Station Defaults</option>
<option value="1">Metric</option>
<option value="2">US Imperial</option>
</select>

</form>



</td>

<td align="right" valign="top" width="50%">&nbsp;</td>

</tr>

</table>

<!-- END: DISPLAY SELECTION -->



</td>

</tr>

</table>



</td>

</tr>

</table>

<br>



<!-- END: PAGE CONTENT -->





<!-- START: FOOTER -->

<div class="Footer">

<div class="FooterLinks">

<a href="http://www.davisnet.com/about/index.asp" target="_blank">About Davis</a> |

<a href="privacy_corporate.php" target="_blank">Privacy</a> |

<a href="http://www.davisnet.com/support/weather/faq/">FAQ's</a> |

<a href="http://www.davisnet.com/contact/index.asp" target="_blank">Contact Us</a> |

<a href="http://www.davisnet.com/support/index.asp" target="_blank">Support</a> |

<a href="mailto:support@weatherlink.com?subject=WeatherLink+Website+Issue">Report Problems</a>

</div>

<div class="FooterText">

Copyright &copy; 2017 - Davis Instruments, Corp. - All Rights Reserved

- ver 1.15.0 </div>



</div>

<!-- END: FOOTER -->



<br><br><br>



<!-- START: Google Analytics -->

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>

<script type="text/javascript">

_uacct="UA-3010397-2";

urchinTracker("/user/index.php");

</script>

<!-- END: Google Analytics -->



</div><!-- mainContainer -->

</div><!-- outerContainer -->



</body>

</html>




   code       200
   conn
   data
   displayurl http://www.weatherlink.com/user/stargazer/index.php?view=summary&headers=1
   header
   host       www.weatherlink.com
   httpheader HTTP/1.1 200 OK

Content-Type: text/html

Connection: close

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Date: Wed, 31 May 2017 20:21:09 GMT

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Pragma: no-cache

Server: Apache

Set-Cookie: PHPSESSID=u2e5ohhjrbgdc2iktg91; path=/

Set-Cookie: AWSELB=F1E131E50EF091F2748F3BF05B2028E05203E1C496BA0DBB6E148C798E4D5BA284C5E674DE6D7EB80BAA3F2CCD8F0CBF0DFDF55ED9B32DDC0760A76BC0A81C6A30A9F01DB0E82E03089D2C186FA264;PATH=/

Vary: Accept-Encoding

X-Cache: Miss from cloudfront

Via: 1.1 a418a5add122000ef61afe8a165.cloudfront.net (CloudFront)

X-Amz-Cf-Id: dMPU1K9MoPcZtJK4KrxLf6XxHmKgETu_M_PsrtR7UQVoA==
   httpversion 1.0
   hu_blocking 0
   hu_filecount 2
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /user/stargazer/index.php?view=summary&headers=1
   protocol   http
   redirects  0
   timeout    2
   url        http://www.weatherlink.com/user/stargazer32584/index.php?view=summary&headers=1
   value      0
   QUEUE:
   Readings:
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://www.weatherlink.com/user/stargazer/index.php?view=summary&headers=1
     value      0
   Sslargs:
Attributes:
   reading01Name Barometer
   reading01Regex Barometer...........................................([\d\.]+)
   room       Wetter
   userattr   reading01Name reading01Regex


Zitat von: amenomade am 09 Juni 2017, 16:41:05
Wenn das die erste 5.6 ist, dann überleg wie folgendes (ich will nicht unbedingt zukünftig alle deine Regex selbst schreiben ;) ) :
- match Rain
(?s)Rain

Zitat von: amenomade am 09 Juni 2017, 16:41:05
- dann match so wenig wie möglich Zeichen bis
.+?

Zitat von: amenomade am 09 Juni 2017, 16:41:05
- match Hour
Hour

Zitat von: amenomade am 09 Juni 2017, 16:41:05
- dann match so wenig wie möglich Zeichen bis
.+?

Zitat von: amenomade am 09 Juni 2017, 16:41:05
match > dann
>

Zitat von: amenomade am 09 Juni 2017, 16:41:05
- capturing group with digit oder punkt
([\d.]+)

gibt zusammen:
(?s)Rain.+?Hour.+?>([\d.]+)

Zitat von: amenomade am 09 Juni 2017, 16:44:20
Wenn "mm/Hour" nur einmal in der ganze Seite kommt, noch einfacher:
- match mm/Hour
- dann match so wenig wie möglich Zeichen bis match > dann
- capturing group with digits oder punkt
(?s)mm\/Hour.+?data">([\d.]+)


Viele Grüße
Manfred
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: Stargazer am 15 Juni 2017, 19:56:44
Hallo Manfred,

DANKE ! Du hast mir erstmal den Kopf gewaschen !
Jetzt hat es "Klick" gemacht.

Ich nehme nun für die Monatsregenmenge folgenden Ausdruck:

(?s)mm\/Hour.+?data">([\d.][\d]+..)



Und für die Jahresregenmenge dann natürlich:

(?s)mm\/Hour.+?data">([\d.][\d][\d]+..)


Vielen Dank und beste Grüße

André

PS.: Hatte heute erst wieder Zeit, an dem Projekt zu arbeiten.
Titel: Antw:HTTPMOD - Regex-Ausdruck für WeatherLink Website
Beitrag von: ares am 16 Juni 2017, 12:43:18
Hallo André,

(?s)mm\/Hour.+?data">([\d.][\d]+..)
funktioniert leider nicht mehr für den Monat sobald es an einem Tag 10.0mm oder mehr regnet.

Day:  (?s)mm\/Hour.+?">([\d.]+)
Storm:(?s)mm\/Hour.+?">.+?">([\d.]+)
Month:(?s)mm\/Hour.+?">.+?">.+?">([\d.]+)
Year: (?s)mm\/Hour.+?">.+?">.+?">.+?">([\d.]+)

Das geht sicher auch einfacher, sollte aber erstmal zuverlässiger funktionieren und ist so hoffentlich auch ohne Erklärung verständlich.

Viele Grüße
Manfred