Hallo Forum,
ich habe mich mit der Anleitung : https://forum.fhem.de/index.php?topic=25142.0, der cmdref und dem Forum durch HTTPMOD gearbeitet. Funktioniert auch, allerdings wird jeweils nur ein Eintrag der Tabelle für Hoch- bzw. Niedrigwasser angezeigt. Mit Body = 1 habe ich mir die Tabelle angeschaut, Werte sind da. User Readings klappt auch nicht.
Kann mir jemand einen Tip geben wie ich weiter komme ?
Wie kann man den Source Code der Website wieder ausblenden ? Body = 0 funktioniert nicht.
Gruß
siekai
Zeig bitte ein "list" deines HTTPMODs
Wegen body: versuch das Attribut zu löschen statt auf 0 zu setzen.
Hallo amenomade,
schön das du noch geantwortet hast. Nachdem bis gestern Abend keiner einen Tip hatte dachte ich mir schon das ich im Thread selber etwas wenig mitgeliefert habe. Ich hole das jetzt mal nach. ( Ich bin kein Profi wie du wahrscheinlich gleich merken wirst )
Ausgegangen bin ich von der Idee von rtv der die Seite von exnatura mit HTTPMOD geparst hat:
define Gezeiten_Papenburg HTTPMOD http://exnatura.de:9099/locations/2171.html 21600
attr Gezeiten_Papenburg readingsName_NextLow Niedrigwasser
attr Gezeiten_Papenburg readingsRegex_NextLow ((?:\d{2}\.\d{2}\.\d{4} \d{2}:\d{2})(?=.*Niedrigwasser(\n|$)))
attr Gezeiten_Papenburg readingsName_NextHigh Hochwasser
attr Gezeiten_Papenburg readingsRegex_NextHigh ((?:\d{2}\.\d{2}\.\d{4} \d{2}:\d{2})(?=.*Hochwasser(\n|$)))
attr Gezeiten_Papenburg stateFormat Ebbe: Niedrigwasser Flut: Hochwasser
attr Gezeiten_Papenburg timeout 10
attr Gezeiten_Papenburg icon scene_swimming
attr Gezeiten_Papenburg alias Gezeiten Papenburg
attr Gezeiten_Papenburg room Wetter
Ich habe das Ganze gerade noch einmal neu angelegt. Zum einen um den Body wieder loszuwerden ( löschen hat nicht geklappt) und zum anderen um zu überprüfen ob ich alles richtig übernommen habe.
Hier der list von HTTPMOD:
Internals:
BUSY 0
CFGFN
DEF http://exnatura.de:9099/locations/2171.html 21600
FUUID 5dba752b-f33f-9842-53b2-d99e2ee60a7c9345
Interval 21600
LASTSEND 1572501004.15616
MainURL http://exnatura.de:9099/locations/2171.html
ModuleVersion 3.5.4 - 9.11.2018
NAME Gezeiten_Papenburg
NR 13933
STATE Ebbe: Niedrigwasser Flut: Hochwasser
TRIGGERTIME 1572522604.15436
TRIGGERTIME_FMT 2019-10-31 12:50:04
TYPE HTTPMOD
addr http://exnatura.de:9099
auth 0
code 200
compress 1
conn
data
displayurl http://exnatura.de:9099/locations/2171.html
header
host exnatura.de
httpheader HTTP/1.0 200 OK
MIME-version: 1.0
Content-type: text/html
httpversion 1.0
hu_blocking 0
hu_filecount 2
hu_port 9099
hu_portSfx :9099
ignoreredirects 0
loglevel 4
path /locations/2171.html
protocol http
redirects 0
timeout 10
url http://exnatura.de:9099/locations/2171.html
value 0
QUEUE:
READINGS:
2019-10-31 06:50:04 Hochwasser-1 31.10.2019 08:42
2019-10-31 06:50:04 Hochwasser-2
2019-10-31 06:50:04 Niedrigwasser-1 31.10.2019 02:17
2019-10-31 06:50:04 Niedrigwasser-2
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url http://exnatura.de:9099/locations/2171.html
value 0
defptr:
readingBase:
Hochwasser-1 reading
Hochwasser-2 reading
Niedrigwasser-1 reading
Niedrigwasser-2 reading
readingNum:
Hochwasser-1 _NextHigh
Hochwasser-2 _NextHigh
Niedrigwasser-1 _NextLow
Niedrigwasser-2 _NextLow
readingOutdated:
readingSubNum:
Hochwasser-1 -1
Hochwasser-2 -2
Niedrigwasser-1 -1
Niedrigwasser-2 -2
requestReadings:
update:
Hochwasser-1 reading _NextHigh-1
Hochwasser-2 reading _NextHigh-2
Niedrigwasser-1 reading _NextLow-1
Niedrigwasser-2 reading _NextLow-2
sslargs:
Attributes:
alias Gezeiten Papenburg
icon scene_swimming
readingsName_NextHigh Hochwasser
readingsName_NextLow Niedrigwasser
readingsRegex_NextHigh ((?:\d{2}\.\d{2}\.\d{4} \d{2}:\d{2})(?=.*Hochwasser(\n|$)))
readingsRegex_NextLow ((?:\d{2}\.\d{2}\.\d{4} \d{2}:\d{2})(?=.*Niedrigwasser(\n|$)))
room Wetter
stateFormat Ebbe: Niedrigwasser Flut: Hochwasser
timeout 10
userattr readingsName_NextHigh readingsName_NextLow readingsRegex_NextHigh readingsRegex_NextLow
Als Readings werden dann Werte für "Hochwasser-1" und "Niedrigwasser-1" ausgegeben. "Hochwasser-2" und "Niedrigwasser-2" werden auch mit ausgegeben, jedoch nicht mit Daten gefüllt.
Und da geht es auch schon los. "Hochwasser-x" wird automatisch hochgezählt. Wahrscheinlich reicht mein Englisch nicht aber ich konnte dazu nichts in der cmdref finden ??
Noch nebenbei und falls einer das gleiche Problem hat:
Im Original Thread fragt macmark etwas tiefer warum bei ihm nur "Ebbe: Niedrigwasser Flut: Hochwasser" angezeigt wird. Grund ist die Referenzierung des state-Formats. Es muss auf "Niedrigwasser-1" bzw. "Hochwasser-1" erfolgen.
Die Tabelle auf der exnatura Seite habe ich mir vorher angeschaut und die Regex im https://regex101.com geprüft, Werte werden alle erkannt.
Hier der Ausschnitt:
<tr><td width="50%" align="left" valign="top">
<pre>
Papenburg, Germany
53.1167° N, 7.3667° E
31.10.2019 07:25 CET Sonnenaufgang
31.10.2019 10:56 CET 0.12 Meter Niedrigwasser
31.10.2019 11:21 CET Mondaufgang
31.10.2019 14:56 CET 4.15 Meter Hochwasser
31.10.2019 17:01 CET Sonnenuntergang
31.10.2019 19:19 CET Monduntergang
31.10.2019 23:15 CET 0.24 Meter Niedrigwasser
01.11.2019 03:13 CET 4.09 Meter Hochwasser
01.11.2019 07:27 CET Sonnenaufgang
01.11.2019 11:34 CET 0.17 Meter Niedrigwasser
01.11.2019 12:27 CET Mondaufgang
01.11.2019 15:39 CET 4.01 Meter Hochwasser
01.11.2019 16:59 CET Sonnenuntergang
01.11.2019 20:07 CET Monduntergang
01.11.2019 23:49 CET 0.42 Meter Niedrigwasser
02.11.2019 03:50 CET 4.04 Meter Hochwasser
02.11.2019 07:29 CET Sonnenaufgang
02.11.2019 12:11 CET 0.34 Meter Niedrigwasser
02.11.2019 13:21 CET Mondaufgang
02.11.2019 16:20 CET 3.84 Meter Hochwasser
02.11.2019 16:57 CET Sonnenuntergang
02.11.2019 21:03 CET Monduntergang
03.11.2019 00:19 CET 0.64 Meter Niedrigwasser
03.11.2019 04:28 CET 3.98 Meter Hochwasser
03.11.2019 07:31 CET Sonnenaufgang
03.11.2019 12:45 CET 0.57 Meter Niedrigwasser
03.11.2019 14:03 CET Mondaufgang
03.11.2019 16:55 CET Sonnenuntergang
03.11.2019 16:59 CET 3.69 Meter Hochwasser
03.11.2019 22:06 CET Monduntergang
04.11.2019 00:48 CET 0.87 Meter Niedrigwasser
04.11.2019 05:08 CET 3.93 Meter Hochwasser
</pre></td></tr></table>
<br />
An der Stelle bin ich jetzt und vermute das Problem in der Regex Definition. Bin nach einem Tag googeln zwar schlauer aber noch nicht wirklich weiter
und würde mich über einen Denkanstoß sehr freuen,
siekai
1. readingsRegex.... und readingsName... sind nicht mehr wirklich unterstützt.
Zitat von: CommandRef(The old syntax attr readingsNameX and attr readingsRegexX is still supported but it can go away in a future version of HTTPMOD so the new one with attr readingXName and attr readingXRegex should be preferred)
2. positive lookaheads sind in Regex nicht das beste... wenn die überhaupt funktionieren.
3. um zu sehen, was möglich wäre, brauche ich die Ausgabe aus der Log mit verbose 5, insb. was im body zurückkommt
Hallo amenomade,
1. readings habe ich geändert.
2. die Bedeutung von "looaheads" habe ich soweit verstanden, werde das Thema aber gleich noch mal vertiefen.
3. Log File
habe den ganzen File hier in 3 Blöcke unterteilt damit es etwas übersichtlicher wird
Vorlauf:
2019.11.01 07:42:34 4: Connection accepted from WEB_192.168.178.27_65418
2019.11.01 07:42:34 4: WEB_192.168.178.27_65418 POST /fhem?cmd.modifyGezeiten_Papenburg%3Dmodify%20Gezeiten_Papenburg%20http%3A%2F%2Fexnatura.de%3A9099%2Flocations%2F2171.html%20600&XHR=1&fwcsrf=csrf_332634142016264&fw_id=14446; BUFLEN:0
2019.11.01 07:42:34 5: Cmd: >modify Gezeiten_Papenburg http://exnatura.de:9099/locations/2171.html 600<
2019.11.01 07:42:34 3: Gezeiten_Papenburg: Defined with URL http://exnatura.de:9099/locations/2171.html and interval 600
2019.11.01 07:42:34 4: Gezeiten_Papenburg: update timer modified: will call GetUpdate in 2.0 seconds at 2019-11-01 07:42:36
2019.11.01 07:42:34 5: Starting notify loop for global, 1 event(s), first is MODIFIED Gezeiten_Papenburg
2019.11.01 07:42:34 5: Gezeiten_Papenburg: UpdateHintList called
2019.11.01 07:42:34 5: Gezeiten_Papenburg: UpdateHintList: setlist =
2019.11.01 07:42:34 5: Gezeiten_Papenburg: UpdateHintList: getlist =
2019.11.01 07:42:34 5: End notify loop for global
2019.11.01 07:42:34 4: WEB: /fhem?cmd.modifyGezeiten_Papenburg%3Dmodify%20Gezeiten_Papenburg%20http%3A%2F%2Fexnatura.de%3A9099%2Flocations%2F2171.html%20600&XHR=1&fwcsrf=csrf_332634142016264&fw_id=14446 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate
2019.11.01 07:42:34 5: Cmd: >jsonlist2 Gezeiten_Papenburg<
2019.11.01 07:42:35 4: WEB_192.168.178.27_65418 POST /fhem?cmd=save&XHR=1&fwcsrf=csrf_332634142016264&fw_id=14446; BUFLEN:0
2019.11.01 07:42:35 5: Cmd: >save<
2019.11.01 07:42:35 5: Starting notify loop for global, 1 event(s), first is SAVE
2019.11.01 07:42:35 5: End notify loop for global
2019.11.01 07:42:36 4: WEB: /fhem?cmd=save&XHR=1&fwcsrf=csrf_332634142016264&fw_id=14446 / RL:52 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate
2019.11.01 07:42:36 4: Gezeiten_Papenburg: GetUpdate called (update)
2019.11.01 07:42:36 4: Gezeiten_Papenburg: update timer modified: will call GetUpdate in 600.0 seconds at 2019-11-01 07:52:36
2019.11.01 07:42:36 4: Gezeiten_Papenburg: AddToQueue adds update, initial queue len: 0
2019.11.01 07:42:36 5: Gezeiten_Papenburg: AddToQueue adds type update to URL http://exnatura.de:9099/locations/2171.html, no data, no headers, retry 0
2019.11.01 07:42:36 5: Gezeiten_Papenburg: HandleSendQueue called, qlen = 1
2019.11.01 07:42:36 4: Gezeiten_Papenburg: HandleSendQueue sends request type update to URL http://exnatura.de:9099/locations/2171.html, No Data, No Header
timeout 10
2019.11.01 07:42:36 5: HttpUtils url=http://exnatura.de:9099/locations/2171.html
2019.11.01 07:42:36 4: IP: exnatura.de -> 85.214.137.186
2019.11.01 07:42:36 5: HttpUtils request header:
GET /locations/2171.html HTTP/1.0
Host: exnatura.de:9099
User-Agent: fhem
Accept-Encoding: gzip,deflate
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2019.11.01 07:42:36 4: http://exnatura.de:9099/locations/2171.html: HTTP response code 200
2019.11.01 07:42:36 5: HttpUtils http://exnatura.de:9099/locations/2171.html: Got data, length: 16512
2019.11.01 07:42:36 5: HttpUtils response header:
HTTP/1.0 200 OK
MIME-version: 1.0
Content-type: text/html
2019.11.01 07:42:36 4: Gezeiten_Papenburg: Read callback: request type was update retry 0,
Body: <!DOCTYPE........
Body:
......_Papenburg: Read callback: request type was update retry 0,
Body: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head><title>Gezeitenkalender für Korths Harbor, San Joaquin River, California (Tidenkalender) – und viele weitere Orte</title>
<link rel="shortcut icon" href="http://www.gezeiten-kalender.de/favicon.ico" type="image/x-icon" />
<meta name="page-topic" content="Gezeiten" />
<meta name="keywords" content="Gezeiten, Gezeitenkalender, Tidenkalender, Küste, Mond, Umweltbildung, Umweltpädagogik, Naturerlebnispädagogik, Wattenmeer, Naturschutz, Ökologie" />
<meta name="description" content="Freier Gezeitenkalender mit Gezeiten-Vorhersagen für viele Orte weltweit" />
<meta name="robots" content="index, follow" />
<meta name="author" content="Guido Gerding" />
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />
<link rel="stylesheet" href="http://www.gezeiten-kalender.de/style.css" type="text/css" />
<!-- Begin Google Page Level Add -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-7646476700124050",
enable_page_level_ads: true
});
</script>
<!-- End Google Page Level Add -->
<!-- Start Cookie Consent 3.1.0 -->
<link rel="stylesheet" type="text/css" href="https://gezeiten-kalender.de/cc/cookieconsent.min.css" />
<script src="https://gezeiten-kalender.de/cc/cookieconsent.min.js"></script>
<script>
window.addEventListener("load", function(){
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "#237afc"
},
"button": {
"background": "transparent",
"text": "#fff",
"border": "#fff"
}
},
"position": "bottom-left",
"content": {
"message": "Diese Site benutzt Cookies und nutzt Werbedienste, die Cookies einsetzen.",
"dismiss": "Alles klar!",
"link": "Mehr Infos!",
"href": "https://gezeiten-kalender.de/privacy.php"
}
})});
</script>
<!-- End Cookie Consent -->
</head>
<body>
<div align="center"><div align="center">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- XTide2018 -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-7646476700124050"
data-ad-slot="6847487996"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div><h1>Gezeitenkalender für Korths Harbor, San Joaquin River, California <br />
Ortszeit: 31.10.2019 23:42 PDT </h1></div>
<div align="center"><img src="/graphs/2171.png" width="960" height="312" border="0" alt="Gezeitenvorhersage" title="Gezeitenvorhersage :: Hoch- und Niedrigwasser :: Gezeitenkalender - Korths Harbor, San Joaquin River, California" /></div></p><br /><table cellpadding="0" cellspacing="0" border="0">
<tr><td width="50%" align="left" valign="top">
<pre>
Korths Harbor, San Joaquin River, California
38.0976� N, 121.5684� W
01.11.2019 03:08 PDT -0.14 Meter Niedrigwasser
01.11.2019 07:32 PDT Sonnenaufgang
01.11.2019 09:41 PDT 0.57 Meter Hochwasser
01.11.2019 12:21 PDT Mondaufgang
01.11.2019 14:37 PDT 0.37 Meter Niedrigwasser
01.11.2019 18:07 PDT Sonnenuntergang
01.11.2019 20:36 PDT 0.90 Meter Hochwasser
01.11.2019 22:05 PDT Monduntergang
02.11.2019 04:00 PDT -0.10 Meter Niedrigwasser
02.11.2019 07:33 PDT Sonnenaufgang
02.11.2019 10:42 PDT 0.56 Meter Hochwasser
02.11.2019 13:12 PDT Mondaufgang
02.11.2019 15:35 PDT 0.40 Meter Niedrigwasser
02.11.2019 18:06 PDT Sonnenuntergang
02.11.2019 21:28 PDT 0.84 Meter Hochwasser
02.11.2019 23:00 PDT Monduntergang
03.11.2019 03:53 PST -0.05 Meter Niedrigwasser
03.11.2019 06:34 PST Sonnenaufgang
03.11.2019 10:44 PST 0.57 Meter Hochwasser
03.11.2019 12:57 PST Mondaufgang
03.11.2019 15:41 PST 0.41 Meter Niedrigwasser
03.11.2019 17:04 PST Sonnenuntergang
03.11.2019 21:25 PST 0.77 Meter Hochwasser
03.11.2019 22:58 PST Monduntergang
04.11.2019 02:23 PST Erstes Viertel
04.11.2019 04:47 PST -0.01 Meter Niedrigwasser
04.11.2019 06:35 PST Sonnenaufgang
04.11.2019 11:40 PST 0.59 Meter Hochwasser
04.11.2019 13:35 PST Mondaufgang
04.11.2019 16:50 PST 0.40 Meter Niedrigwasser
04.11.2019 17:03 PST Sonnenuntergang
04.11.2019 22:26 PST 0.72 Meter Hochwasser
</pre></td></tr></table>
<br />
<div class="boxxt"><h2> Zeitliche Auswahl </h2>
<p> <form method=get action="/locations/2171.html">
Jahr: <select name="y">
<option>1970
<option>1971
<option>1972
<option>1973
<option>1974
<option>1975
<option>1976
<option>1977
<option>1978
<option>1979
<option>1980
<option>1981
<option>1982
<option>1983
<option>1984
<option>1985
<option>1986
<option>1987
<option>1988
<option>1989
<option>1990
<option>1991
<option>1992
<option>1993
<option>1994
<option>1995
<option>1996
<option>1997
<option>1998
<option>1999
<option>2000
<option>2001
<option>2002
<option>2003
<option>2004
<option>2005
<option>2006
<option>2007
<option>2008
<option>2009
<option>2010
<option>2011
<option>2012
<option>2013
<option>2014
<option>2015
<option>2016
<option>2017
<option>2018
<option selected>2019
<option>2020
<option>2021
<option>2022
<option>2023
<option>2024
<option>2025
<option>2026
<option>2027
<option>2028
<option>2029
<option>2030
<option>2031
<option>2032
<option>2033
<option>2034
<option>2035
<option>2036
<option>2037
</select>
Monat: <select name="m">
<option>1
<option>2
<option>3
<option>4
<option>5
<option>6
<option>7
<option>8
<option>9
<option selected>10
<option>11
<option>12
</select>
Tag: <select name="d">
<option>1
<option>2
<option>3
<option>4
<option>5
<option>6
<option>7
<option>8
<option>9
<option>10
<option>11
<option>12
<option>13
<option>14
<option>15
<option>16
<option>17
<option>18
<option>19
<option>20
<option>21
<option>22
<option>23
<option>24
<option>25
<option>26
<option>27
<option>28
<option>29
<option>30
<option selected>31
</select>
<input type=submit value="Go"></form></p><p> Info: Sollte Ihr Browser eine leere Seite zeigen oder
eine Fehlermeldung:"Keine Daten", dann ist Ihre angeforderte Vorhersage nicht verfügbar.</p>
<h2>Monatlicher Gezeitenkalender</h2>
<p> <form method=get action="/calendar/month/2171.ics">
Jahr: <select name="y">
<option>1970
<option>1971
<option>1972
<option>1973
<option>1974
<option>1975
<option>1976
<option>1977
<option>1978
<option>1979
<option>1980
<option>1981
<option>1982
<option>1983
<option>1984
<option>1985
<option>1986
<option>1987
<option>1988
<option>1989
<option>1990
<option>1991
<option>1992
<option>1993
<option>1994
<option>1995
<option>1996
<option>1997
<option>1998
<option>1999
<option>2000
<option>2001
<option>2002
<option>2003
<option>2004
<option>2005
<option>2006
<option>2007
<option>2008
<option>2009
<option>2010
<option>2011
<option>2012
<option>2013
<option>2014
<option>2015
<option>2016
<option>2017
<option>2018
<option selected>2019
<option>2020
<option>2021
<option>2022
<option>2023
<option>2024
<option>2025
<option>2026
<option>2027
<option>2028
<option>2029
<option>2030
<option>2031
<option>2032
<option>2033
<option>2034
<option>2035
<option>2036
<option>2037
</select>
Monat: <select name="m">
<option>1
<option>2
<option>3
<option>4
<option>5
<option>6
<option>7
<option>8
<option>9
<option selected>10
<option>11
<option>12
</select>
Ausgabe: <select name="f">
<option selected>Webseite</option>
<option>iCalendar</option>
</select>
<input type=submit value="Go"></form></p><h2>Gezeitenkalender für ein Jahr</h2>
<p> <form method=get action="/calendar/year/2171.ics">
Jahr: <select name="y">
<option>1970
<option>1971
<option>1972
<option>1973
<option>1974
<option>1975
<option>1976
<option>1977
<option>1978
<option>1979
<option>1980
<option>1981
<option>1982
<option>1983
<option>1984
<option>1985
<option>1986
<option>1987
<option>1988
<option>1989
<option>1990
<option>1991
<option>1992
<option>1993
<option>1994
<option>1995
<option>1996
<option>1997
<option>1998
<option>1999
<option>2000
<option>2001
<option>2002
<option>2003
<option>2004
<option>2005
<option>2006
<option>2007
<option>2008
<option>2009
<option>2010
<option>2011
<option>2012
<option>2013
<option>2014
<option>2015
<option>2016
<option>2017
<option>2018
<option selected>2019
<option>2020
<option>2021
<option>2022
<option>2023
<option>2024
<option>2025
<option>2026
<option>2027
<option>2028
<option>2029
<option>2030
<option>2031
<option>2032
<option>2033
<option>2034
<option>2035
<option>2036
<option>2037
</select>
Ausgabe: <select name="f">
<option selected>Webseite</option>
<option>iCalendar</option>
</select>
<input type=submit value="Go"></form></p><p>Die Auswahl der iCalendar Ausgabe mag Ihren Browser dazu bewegen, die Ereignisse Ihrem Kalender hinzu zu fügen. Bevor Sie also einen ganzen Monat oder gar ein Jahr hinzufügen, klicken Sie auf den folgenden Link und probieren Sie diese Ausgabe <a href="/calendar/day/2171.ics?y=2019&m=10&d=31&f=i" title="Kalender für einen Tag" class="txtln">für einen ein Tages Kalender-Test.</a> So können Sie sehen, wie sich Ihr Kalender verhält. Sie sollten Ereignisse ohne zeitliche Dauer erhalten und diese Ereignisse sollten keinen Zeitraum als "beschäftigt" blockieren.</p>
<div align="center"><div class="boxxtw"><div align="center"><h2>NICHT ZU NAVIGATIONSZWECKEN BENUTZEN!</h2></div>
<p>Die Veröffentlichung dieses Programms erfolgt in der Hoffnung,
dass es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE,
sogar ohne die implizite Garantie der MARKTREIFE oder der
VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK.
Auf Grund des Garantieausschlusses lehnt der Autor
jeden Haftungsanspruch durch eventuell entstehende Schäden durch die
Nutzung des Vorhersagesystems und den Verlass auf die Vorhersagen ab.
Die Vorhersagen haben keinen Anspruch auf Richtigkeit und
sie beziehen keine besonderen Umstände mit ein, wie etwa Tropenstürme,
El Niño, seismische Ereignisse, Kontinentaldrift oder Änderungen des
globalen Meeresspiegels.
</p><p>
Schauen Sie zum Vergleich z.B. beim <a href="http://www.bsh.de/de/Meeresdaten/Vorhersagen/Gezeiten/index.jsp" target="blank_" title="Bundesamt für Seeschifffahrt und Hydrographie" class="txtln">BSH</a>
vorbei.</p></div></div></div><br /><br /><div align="center"><img src="http://www.gezeiten-kalender.de/img/k2.jpg" alt="Strand" title="Strand :: Ebbe und Flut :: Gezeitenkalender" /></div>
<br /><br />
<table cellspacing="0" cellpadding="0" border="0">
<!-- BEGIN TITLE -->
<tr>
<td width="100%" class="boxTitle bg_light"><b>Menü</b></td>
</tr>
<!-- END title -->
<tr>
<td class="even box">
<p> <ul><li><a href="/"class="txtln" title="Startseite - Gezeitenkalender">Startseite</a></li>
<li><a href="/index.html" class="txtln" title="Gezeitenkalender - Hauptindex">Hauptindex</a></li>
<li><a href="/zones/" class="txtln" title="Gezeitenkalender - Zonen-Index">Zonen-Index</a></li>
<li><a href="http://www.flaterco.com/xtide/" class="txtln" title="XTide Software">XTide Software</a></li><li><a href="http://www.sonnenaufgang-sonnenuntergang.de" target="blank_" class="txtln" title="Freier, weltweiter Dämmerungsrechner">Dämmerungsrechner bei <i>www.sonnenaufgang-sonnenuntergang.de</i></a></li><li><a class="txtln" title="Senden Sie eine E-Mail" href="mailto:xtide@epigeo.com">Feedback [Ihre Meinung]</a></li>
<li><a href="https://www.gezeiten-kalender.de/gezeitenkalender.kmz" title="Gezeitenkalender aus Google Earth heraus aufrufen" class="txtln">Alle Standorte in Google Earth [Download: KMZ-Layer]</a></li>
<li><a href="/tricks.html" class="txtln" title="Gezeitenkalender - Tipps und Tricks">Tipps und Tricks</a></li>
<li><a href="https://www.gezeiten-kalender.de/impressum.php" target="blank_" class="txtln" title="Haftungsausschluss &
Impressum">Impressum und Haftungsausschluss</a></li>
<li><a href="https://www.gezeiten-kalender.de/privacy.php" target="blank_" class="txtln" title="Datenschutzerklärung">Datenschutzerklärung</a></li>
</ul></p>
</td></tr></table><br /><br /><h2>Über diese Station</h2>
<table>
<tr><td valign=top>Name</td><td valign=top><pre>Korths Harbor, San Joaquin River, California</pre></td></td>
<tr><td valign=top>Stations ID Kontext</td><td valign=top><pre>NOS</pre></td></td>
<tr><td valign=top>Stations ID</td><td valign=top><pre>9415229</pre></td></td>
<tr><td valign=top>Import Datum</td><td valign=top><pre>2017-12-31</pre></td></td>
<tr><td valign=top>Koordinaten</td><td valign=top><pre>38.0976� N, 121.5684� W</pre></td></td>
<tr><td valign=top>Land</td><td valign=top><pre>USA</pre></td></td>
<tr><td valign=top>Zeitzone</td><td valign=top><pre>:America/Los_Angeles</pre></td></td>
<tr><td valign=top>Quelle</td><td valign=top><pre>CO-OPS Metadata API</pre></td></td>
<tr><td valign=top>Einschränkungen</td><td valign=top><pre>Public domain</pre></td></td>
<tr><td valign=top>Credit</td><td valign=top><pre>NOAA data processed by David Flater for XTide
http://www.flaterco.com/xtide/</pre></td></td>
<tr><td valign=top>Original name</td><td valign=top><pre>KORTHS HBR, SAN JOAQUIN RIVER</pre></td></td>
<tr><td valign=top>State</td><td valign=top><pre>CA</pre></td></td>
<tr><td valign=top>Typ</td><td valign=top><pre>Reference station, tide</pre></td></td>
<tr><td valign=top>Meridian</td><td valign=top><pre>0:00</pre></td></td>
<tr><td valign=top>Datum</td><td valign=top><pre>Mean Lower Low Water</pre></td></td>
<tr><td valign=top>Native Einheiten</td><td valign=top><pre>feet</pre></td></td>
<tr><td valign=top>Confidence</td><td valign=top><pre>10</pre></td></td>
</table>
<br /><div align="center"><img src="http://www.gezeiten-kalender.de/img/k2.jpg" alt="Strand" title="Strand :: Ebbe und Flut :: Gezeitenkalender" /></div><br /><div align="center"><table cellspacing="0" cellpadding="0" border="0">
<!-- BEGIN TITLE -->
<tr>
<td width="100%" class="boxTitle bg_light"><b>Menü</b></td>
</tr>
<!-- END title -->
<tr>
<td class="even box"><p> <ul><li><a href="/" class="txtln" title="Startseite Gezeitenkalender">Startseite</a></li><li><a href="/index.html" class="txtln" title="Gezeitenkalender - Hauptindex">Hauptindex</a></li><li><a href="/zones/" class="txtln" title="Gezeitenkalender - Zonen Index">Zonen-Index</a></li><li><a href="http://www.flaterco.com/xtide/" class="txtln" title="XTide Software">XTide Software</a></li><li><a class="txtln" title="Senden Sie eine E-Mail" href="mailto:xtide@epigeo.com">Feedback</a></li><li><a href="https://www.gezeiten-kalender.de/gezeitenkalender.kmz" title="Gezeitenkalender aus Google Earth heraus aufrufen" class="txtln">Alle Standorte in Google Earth [Download: KMZ-Layer]</a></li><li><a href="/tricks.html" class="txtln" title="Gezeitenkalender - Tipps und Tricks">Tipps und Tricks</a></li><li><a href="https://www.sonnenaufgang-sonnenuntergang.de" target="blank_" class="txtln" title="Freier, weltweiter Dämmerungsrechner">Dämmerungsrechner bei <i>www.sonnenaufgang-sonnenuntergang.de</i></a></li><li><a href="https://www.gezeiten-kalender.de/impressum.php" target="blank_" class="txtln" title="Haftungsausschluss & Impressum">Impressum und Haftungsausschluss</a></li><li><a href="https://www.gezeiten-kalender.de/privacy.php" target="blank_" class="txtln" title="Datenschutzerklärung">Datenschutzerklärung</a></li></ul></p></td></tr></div></td></tr></table>
</body>
</html>
2019.11.01 07:42:36 5: Gezeiten_Papenburg: ..........
Auswertung:
2019.11.01 07:42:36 5: Gezeiten_Papenburg: ExtractSid called, context reading, num
2019.11.01 07:42:36 4: Gezeiten_Papenburg: CheckAuth decided no authentication required
2019.11.01 07:42:36 5: Gezeiten_Papenburg: UpdateReadingList created list of reading.* nums to parse during getUpdate as 1 2
2019.11.01 07:42:36 5: Gezeiten_Papenburg: Read starts parsing response to update with defined readings: 1,2
2019.11.01 07:42:36 5: Gezeiten_Papenburg: ExtractReading Niedrigwasser with regex /((?:\d{2}\.\d{2}\.\d{4} \d{2}:\d{2})(?=.*Niedrigwasser(\n|$)))/...
2019.11.01 07:42:36 5: Gezeiten_Papenburg: 2 capture group(s), matchlist = 01.11.2019 03:08,
2019.11.01 07:42:36 4: Gezeiten_Papenburg: ExtractReading for reading1-1 sets Niedrigwasser-1 to 01.11.2019 03:08
2019.11.01 07:42:36 4: Gezeiten_Papenburg: ExtractReading for reading1-2 sets Niedrigwasser-2 to
2019.11.01 07:42:36 5: Gezeiten_Papenburg: ExtractReading Hochwasser with regex /((?:\d{2}\.\d{2}\.\d{4} \d{2}:\d{2})(?=.*Hochwasser(\n|$)))/...
2019.11.01 07:42:36 5: Gezeiten_Papenburg: 2 capture group(s), matchlist = 01.11.2019 09:41,
2019.11.01 07:42:36 4: Gezeiten_Papenburg: ExtractReading for reading2-1 sets Hochwasser-1 to 01.11.2019 09:41
2019.11.01 07:42:36 4: Gezeiten_Papenburg: ExtractReading for reading2-2 sets Hochwasser-2 to
2019.11.01 07:42:36 4: Gezeiten_Papenburg: Read response to update matched Reading(s) Niedrigwasser-1 Niedrigwasser-2 Hochwasser-1 Hochwasser-2
2019.11.01 07:42:36 5: Starting notify loop for Gezeiten_Papenburg, 4 event(s), first is Niedrigwasser-1: 01.11.2019 03:08
2019.11.01 07:42:36 5: End notify loop for Gezeiten_Papenburg
2019.11.01 07:42:36 5: Gezeiten_Papenburg: HandleSendQueue called, qlen = 0
2019.11.01 07:42:46 4: WEB_192.168.178.27_65418 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2019-11.log; BUFLEN:0
Mal ein paar Gedanken von mir so wie ich es in den letzten Tagen verstanden habe.
Der lookahead wird notwendig da das eindeutige Kriterium "Niedrigwasser" am Ende steht ?. Da die Tabelle immer aktualisiert wird, könnte ich auch mit einem Datumsvergleich auf den aktuellen Tag oder den Folgetag ( wenn nächstes Ereignis erst morgen ) matchen und dann die folgenden Zeilen auswerten. Könnte man so etwas auch mit regex Ausdrücken machen oder bin ich da schon in pearl unterwegs ?
Könnte man sich die Tabelle auch zwischenspeichern und sie dann in ein Array zerlegen ( wahrscheinlich auch pearl ) ? Wie würde ich dabei in der fhem Umgebung ansetzen, wäre das ein eigenes Modul ?
Gruß
siekai
Edit 1:
Bin ein bisschen weitergekommen.
Über den regex "(<pre>[^"]*<\/pre>)" habe ich die Tabelle schon einmal isoliert.
<pre> Korths Harbor, San Joaquin River, California 38.0976� N, 121.5684� W 01.11.2019 07:32 PDT Sonnenaufgang 01.11.2019 09:41 PDT 0.57 Meter Hochwasser 01.11.2019 12:21 PDT Mondaufgang 01.11.2019 14:37 PDT 0.37 Meter Niedrigwasser 01.11.2019 18:07 PDT Sonnenuntergang 01.11.2019 20:36 PDT 0.90 Meter Hochwasser 01.11.2019 22:05 PDT Monduntergang 02.11.2019 04:00 PDT -0.10 Meter Niedrigwasser 02.11.2019 07:33 PDT Sonnenaufgang 02.11.2019 10:42 PDT 0.56 Meter Hochwasser 02.11.2019 13:12 PDT Mondaufgang 02.11.2019 15:35 PDT 0.40 Meter Niedrigwasser 02.11.2019 18:06 PDT Sonnenuntergang 02.11.2019 21:28 PDT 0.84 Meter Hochwasser 02.11.2019 23:00 PDT Monduntergang 03.11.2019 03:53 PST -0.05 Meter Niedrigwasser 03.11.2019 06:34 PST Sonnenaufgang 03.11.2019 10:44 PST 0.57 Meter Hochwasser 03.11.2019 12:57 PST Mondaufgang 03.11.2019 15:41 PST 0.41 Meter Niedrigwasser 03.11.2019 17:04 PST Sonnenuntergang 03.11.2019 21:25 PST 0.77 Meter Hochwasser 03.11.2019 22:58 PST Monduntergang 04.11.2019 02:23 PST Erstes Viertel 04.11.2019 04:47 PST -0.01 Meter Niedrigwasser 04.11.2019 06:35 PST Sonnenaufgang 04.11.2019 11:40 PST 0.59 Meter Hochwasser 04.11.2019 13:35 PST Mondaufgang 04.11.2019 16:50 PST 0.40 Meter Niedrigwasser 04.11.2019 17:03 PST Sonnenuntergang 04.11.2019 22:26 PST 0.72 Meter Hochwasser 04.11.2019 23:56 PST Monduntergang </pre>
Jetzt müsste das ganze noch zerlegt werden.
Edit 2:
Bin gerade wieder ins fhem gegangen und finde jetzt im reading die Daten plötzlich sauber sortiert in ein er Tabelle ??
Müßte jetzt eigentlich nur noch den Kopf bis zum ersten Datum und anschließend noch das </pre> loswerden.
Edit 3:
Tabelle ist jetzt mit: regex (\d{2}\.\d{2}\.\d{4} \d{2}:\d{2}[^"]*(Sonnenaufgang|Sonnenuntergang|Mondaufgang|Monduntergang|Niedrigwasser|Hochwasser)) sauber indem ich beim ersten Datum starte und beim letzten Sonnenaufgang | Sonnenuntergang | etc. stoppe. Aber wie jetzt zerlegen in der Form Hochwasser 1: Hochwasser 2: etc. ?
attr Gezeiten_Papenburg reading101Name Hochwasser
attr Gezeiten_Papenburg reading101RegOpt gm
attr Gezeiten_Papenburg reading101Regex (^[\d\. :]{16}).*?Hochwasser
attr Gezeiten_Papenburg reading102Name Niedrigwasser
attr Gezeiten_Papenburg reading102RegOpt gm
attr Gezeiten_Papenburg reading102Regex (^[\d\. :]{16}).*?Niedrigwasser
READINGS:
2019-11-01 21:05:57 Hochwasser-1 01.11.2019 20:36
2019-11-01 21:05:57 Hochwasser-2 02.11.2019 10:42
2019-11-01 21:05:57 Hochwasser-3 02.11.2019 21:28
2019-11-01 21:05:57 Hochwasser-4 03.11.2019 10:44
2019-11-01 21:05:57 Hochwasser-5 03.11.2019 21:25
2019-11-01 21:05:57 Hochwasser-6 04.11.2019 11:40
2019-11-01 21:05:57 Hochwasser-7 04.11.2019 22:26
2019-11-01 21:05:57 Niedrigwasser-1 01.11.2019 14:37
2019-11-01 21:05:57 Niedrigwasser-2 02.11.2019 04:00
2019-11-01 21:05:57 Niedrigwasser-3 02.11.2019 15:35
2019-11-01 21:05:57 Niedrigwasser-4 03.11.2019 03:53
2019-11-01 21:05:57 Niedrigwasser-5 03.11.2019 15:41
2019-11-01 21:05:57 Niedrigwasser-6 04.11.2019 04:47
2019-11-01 21:05:57 Niedrigwasser-7 04.11.2019 16:50
2019-11-01 21:05:57 Niedrigwasser-8 05.11.2019 05:38
2019-11-01 21:04:36 Niedrigwasser-9 05.11.2019 05:38