FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Edi77 am 25 November 2023, 23:20:19

Titel: HTTPMOD Regex
Beitrag von: Edi77 am 25 November 2023, 23:20:19
Hallo,

Komme da im Moment nicht weiter laut regex101 funktioniert das reading, aber httpmod liefert keinen wert.

defmod ITSec_Alerts60s HTTPMOD https://www.sicherheitstacho.eu/#/en/tacho 30
attr ITSec_Alerts60s event-on-change-reading ITSec_Alerts60s
attr ITSec_Alerts60s reading01Name ITSec_Alerts60s
attr ITSec_Alerts60s reading01OExpr $val =~ s/\,/./g;; $val
attr ITSec_Alerts60s reading01Regex class="stats-segment stats-segment-big"><div data-v-37e85ed5="" class="stats-number big">(\d+\,\d+)
attr ITSec_Alerts60s room IT Security
attr ITSec_Alerts60s stateFormat ITSec_Alerts60s

Vielleicht hat hier jemand eine Idee? Ist reading01OExpr was falsch?
Titel: Aw: HTTPMOD Regex
Beitrag von: betateilchen am 26 November 2023, 08:33:17
Hast Du mal geprüft, was beim Aufruf der URL überhaupt in Deinem HTTPMOD device ankommt?
Titel: Aw: HTTPMOD Regex
Beitrag von: Edi77 am 26 November 2023, 18:54:01
Das ist die Antwort wenn ich auf verbose 5 gehe.
Wie könnt ich es den sonst noch testen ?

2023.11.26 18:46:01 5: ITSec_Alerts60s: set called with reread
2023.11.26 18:46:01 4: ITSec_Alerts60s: GetUpdate called (reread)
2023.11.26 18:46:01 5: ITSec_Alerts60s: AddToQueue adds type update to URL https://www.sicherheitstacho.eu/#/en/tacho, no data, no headers, retry 0, initial queue len: 0
2023.11.26 18:46:01 5: ITSec_Alerts60s: HandleSendQueue called from AddToSendQueue, qlen = 1
2023.11.26 18:46:01 4: ITSec_Alerts60s: HandleSendQueue sends update with timeout 2 to https://www.sicherheitstacho.eu/#/en/tacho, No Data, No Header
2023.11.26 18:46:02 5: ITSec_Alerts60s: ReadCallback called from __ANON__
2023.11.26 18:46:02 4: ITSec_Alerts60s: Read callback: request type was update retry 0,
header: HTTP/1.1 200 OK
Date: Sun, 26 Nov 2023 17:46:02 GMT
Content-Type: text/html
Connection: close
Content-Encoding: gzip
Etag: W/"65253dca-1af"
Last-Modified: Tue, 10 Oct 2023 12:04:26 GMT
X-Frame-Options: sameorigin
Server: elb, body length 431
2023.11.26 18:46:02 5: ITSec_Alerts60s: Read callback: body
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <link rel="icon" href="/favicon.svg">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Sicherheitstacho</title>
    <script type="module" crossorigin src="/assets/index-6203f76d.js"></script>
    <link rel="stylesheet" href="/assets/index-c8bece45.css">
  </head>
  <body>
    <div id="app"></div>
   
  </body>
</html>

2023.11.26 18:46:02 4: ITSec_Alerts60s: BodyDecode is not decoding the response body (charset not found, bodyDecode defaults to none)
2023.11.26 18:46:02 5: ITSec_Alerts60s: GetCookies is looking for Cookies
2023.11.26 18:46:02 5: ITSec_Alerts60s: ExtractSid called, context reading, num unknown
2023.11.26 18:46:02 4: ITSec_Alerts60s: checking for redirects, code=200, ignore=0
2023.11.26 18:46:02 4: ITSec_Alerts60s: no redirects to handle
2023.11.26 18:46:02 5: ITSec_Alerts60s: Read callback sets LAST_REQUEST to update
2023.11.26 18:46:02 5: ITSec_Alerts60s: CheckAuth decided no authentication required
2023.11.26 18:46:02 5: ITSec_Alerts60s: Read starts parsing response to update with defined readings: 01
2023.11.26 18:46:02 5: ITSec_Alerts60s: ExtractReading ITSec_Alerts60s with regex /(?^:class="stats-segment stats-segment-big"><div data-v-37e85ed5="" class="stats-number big">(\d+\,\d+))/...
2023.11.26 18:46:02 5: ITSec_Alerts60s: ExtractReading ITSec_Alerts60s did not match
2023.11.26 18:46:02 4: ITSec_Alerts60s: Read response to update didn't match any Reading
2023.11.26 18:46:02 5: ITSec_Alerts60s: HandleSendQueue called from ReadCallback, qlen = 0
2023.11.26 18:46:02 5: ITSec_Alerts60s: HandleSendQueue found no usable entry in queue
Titel: Aw: HTTPMOD Regex
Beitrag von: betateilchen am 26 November 2023, 19:03:09
Wie Du siehst, kommt der Wert überhaupt nicht in HTTPMOD an.
Der Anbieter der Seite möchte halt nur richtige Browser haben, ansonsten liefert er keinen Content aus.

Was ich immer sage: das was bei einem Seitenaufruf in einem Browser ankommt, und vermeintlich im dortigen Seitenquelltext problemlos funktioniert, muss noch lange nicht in HTTPMOD ankommen.
Titel: Aw: HTTPMOD Regex
Beitrag von: Edi77 am 26 November 2023, 19:29:15
Schade.
Nur mal ne doofe Frage, als was meldet sich den httpmod beim Webserver?
Titel: Aw: HTTPMOD Regex
Beitrag von: betateilchen am 26 November 2023, 20:30:56
[26/Nov/2023:20:30:11 +0100] "GET /status.php HTTP/1.0" 200 4558 "-" "fhem"
als "fhem"  ;D