Kleine Frage zu HTTPMOD - Messwerte abrufen und auswerten

Begonnen von Stargazer, 03 September 2017, 20:35:22

Vorheriges Thema - Nächstes Thema

Stargazer

Einen schönen guten Abend,

wahrscheinlich werden euch die Augen bluten, wenn ihr das hier lest. Mal wieder ein Anfänger mit einer Bagatelle  :P.

Und zwar möchte ich gerne ein paar Messwerte von einer einfachen HTML-Site abgreifen und visualisieren.
ich habe auch schon ein paar HTTPMOD-Module so am laufen. Es hat immer einigermaßen gut und auf Anhieb geklappt.

Doch nun hänge ich in der Luft.

Ich zeige euch zu erst einmal das List:

Internals:
   BUSY       0
   CHANGED
   DEF        http://192.168.178.54:100/messwerte.html 120
   Interval   120
   LASTSEND   1504463546.35191
   MainURL    http://192.168.178.54:100/messwerte.html
   ModuleVersion 3.3.11 - 8.5.2017
   NAME       HSBirkmann
   NR         413
   STATE      ???
   TRIGGERTIME 1504463666.34905
   TRIGGERTIME_FMT 2017-09-03 20:34:26
   TYPE       HTTPMOD
   addr       http://192.168.178.54:100
   buf
   code       200
   conn
   data
   displayurl http://192.168.178.54:100/messwerte.html
   header
   host       192.168.178.54
   httpheader HTTP/1.1 200 OK

Content-Type: text / html

Content-Length: 590

Connection: close

Access-Control-Allow-Origin: *
   httpversion 1.0
   hu_blocking 0
   hu_filecount 19
   hu_portSfx :100
   ignoreredirects 0
   loglevel   4
   path       /messwerte.html
   protocol   http
   redirects  0
   timeout    30
   url        http://192.168.178.54:100/messwerte.html
   value      0
   QUEUE:
   READINGS:
   REQUEST:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.178.54:100/messwerte.html
     value      0
   sslargs:
Attributes:
   room       Projekte
   timeout    30
   verbose    4


Ich kann mit der Fehlermeldung selber nicht wirklich etwas anfangen.
Die Seite ist frei anzeigbar, wenn man sie per Browser aufruft. Keine LogIn's, SSL's oder sonst etwas.

Habt ihr da noch einen Tipp ?

Viele Grüße und besten Dank

André


PS.: Im EventMonitor taucht die Abfrage des MOD's auch nicht auf.

amenomade

Zitathttpheader HTTP/1.1 200 OK
HTTP 200. Es klappt. Wo ist das Problem?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Stargazer

Hi,

aber der Buffer bleibt leer.

Darum blicke ich es auch nicht. Hatte das Timeout schon von 2 auf 30 Sekunden hochgesetzt.
Kein Erfolg..

Darum habe ich eben selber keinen Plan, warum es nicht will.
Habe das Modul auch schonmal gelöscht und wieder neu eingerichtet und fhem neu gestartet.
Doch leider ohne Erfolg. Irgendwo hakt es noch... ???

VG

André

amenomade

Setze dein HTTMOD auf verbose 5 und guck in der Log. Manchmal ist der Buffer zwar leer, aber er bringt trotzdem was zurück.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Stargazer

Hallo amenomade,

ich habe mal verbose auf 5 gesetzt. Jetzt habe ich im Log folgendes stehen:

2017.09.04 08:46:10 4 : http://192.168.178.54:100/messwerte.html: HTTP response code 200
2017.09.04 08:46:10 4 : HttpUtils http://192.168.178.54:100/messwerte.html: Got data, length: 590
2017.09.04 08:46:10 5 : HttpUtils response header: HTTP/1.1 200 OK Content-Type: text / html Content-Length: 590 Connection: close Access-Control-Allow-Origin: *
2017.09.04 08:46:10 4 : HSBirkmann: Read callback: request type was update retry 0, Header: HTTP/1.1 200 OK Content-Type: text / html Content-Length: 590 Connection: close Access-Control-Allow-Origin: *, Body: <!DOCTYPE HTML> <html lang='de'> <head><meta charset='UTF-8'> <title>Messwerte</title> <link rel="stylesheet" href="stylesheet.css"> </head><body><center><p></h5><h3>Sensorstation Birkmann &nbsp; &nbsp;</h5><h3> &nbsp;</h5><h3>Aktueller Luftdruck : &nbsp;1020.16 &nbsp; mbar</h5><h3>Aktuelle Luftfeuchte : &nbsp;70.16 &nbsp; %</h5><h3>Aktuelle Temperatur : &nbsp;14.07 &nbsp; °C</h5><h3>Temperatur am Messkopf : &nbsp;13.61 &nbsp; °C</h5><h3>Messraumtemperatur im Sensorraum : &nbsp;13.79 &nbsp; °C</h5><h3>Status Sensorkopfheizung Ein/Aus &nbsp;</h5><h3>1 &nbsp;</h5><h3>
2017.09.04 08:46:10 5 : HSBirkmann: ExtractSid called, context reading, num
2017.09.04 08:46:10 4 : HSBirkmann: CheckAuth decided no authentication required
2017.09.04 08:46:10 5 : HSBirkmann: Read starts parsing response to update with defined readings:
2017.09.04 08:46:10 3 : HSBirkmann: Read response to update didn't match any Reading
2017.09.04 08:46:10 5 : HSBirkmann: HandleSendQueue called, qlen = 0


Also er zeigt das alles korrekt an, nur der Buffer bleibt leer.

Irgendwie komisch... . Hatte ich so auch noch nicht.

VG

André

Stargazer

#5
Ich noch mal,


eben hatte ich nochmals im log geguckt.
Und da kam diesesmal folgendes bei heraus:

2017.09.04 19:30:05 4 : HSBirkmann: GetUpdate called (update)
2017.09.04 19:30:05 4 : HSBirkmann: update timer modified: will call GetUpdate in 30.0 seconds at 2017-09-04 19:30:35
2017.09.04 19:30:05 4 : HSBirkmann: AddToQueue adds update, initial queue len: 0
2017.09.04 19:30:05 5 : HSBirkmann: AddToQueue adds type update to URL http://192.168.178.54:100/messwerte.html, no data, no headers, retry 0
2017.09.04 19:30:05 5 : HSBirkmann: HandleSendQueue called, qlen = 1
2017.09.04 19:30:05 4 : HSBirkmann: HandleSendQueue sends request type update to URL http://192.168.178.54:100/messwerte.html, No Data, No Header, timeout 30
2017.09.04 19:30:05 4 : HttpUtils url=http://192.168.178.54:100/messwerte.html
2017.09.04 19:30:05 5 : HttpUtils request header: GET /messwerte.html HTTP/1.0 Host: 192.168.178.54:100 User-Agent: fhem Content-Length: 0 Content-Type: application/x-www-form-urlencoded


Immer noch Tausend Fragezeichen... .

VG

André


PS.: Ich habe nochmal in eine andere HTTPMOD Auswertung nachgesehen. Die läuft tadellos. Und hat auch nix im Buffer stehen. Dann muss ich da wohl mal mit der Regex spielen..

Stargazer

Okay,

habe es im Griff.
Der Buffer wird bei mir nicht mehr angezeigt. Habe die Regex einfach gesetzt und prompt lief es.

Besten Dank nochmal..

André