[gelöst] if innerhalb von Userreading vom HTTPMOD funktioniert nicht

Begonnen von dirk.k, 11 Februar 2020, 20:15:45

Vorheriges Thema - Nächstes Thema

dirk.k

Hallo,
ich habe schon seit einiger Zeit eine Überwachung einer WebSeite am Laufen und bin mir ziemlich sicher, dass es am Anfang auch  funktionierte. Jetzt war die Seite gezielt down und ich bekam keine Meldung.
Ich lese per HTTPMOD den Seitentitel. Dieser landet im reading "webpage-www.meine-webseite.de". Das passt auch so weit.
Innerhalb des userreadings werte ich das reading aus und sollte da etwas anderes als "Seitentitel" stehen soll Alarm geschlagen werden.
(da derzeit immer das richtige ankommt, habe ich den vergleiswert auf etwas anderes "istnichtOK" gesetzt)
Also meiner Meinung nach ist "Seitentitel" == "istnichtOK" nicht wahr...? Oder?
Wo könnte mein Fehler liegen?
Die RAW-definition mit readings:
defmod WebRequests HTTPMOD none 300
attr WebRequests userattr get01Name get01Poll:0,1 get01Regex get01URL get02Name get02Poll:0,1 get02Regex get02URL get03Name get03Poll:0,1 get03Regex get03URL get04Name get04Poll:0,1 get04Regex get04URL get05Name get05Poll:0,1 get05Regex get05URL get06Name get06Poll:0,1 get06Regex get06URL get07Name get07Poll:0,1 get07Regex get07URL get08Name get08Poll:0,1 get08Regex get08URL get09Name get09Poll:0,1 get09Regex get09URL
attr WebRequests get01Name webpage-www.meine-webseite.de
attr WebRequests get01Poll 1
attr WebRequests get01Regex <title>(.................)
attr WebRequests get01URL https://www.meine-webseite.de/index.htm
attr WebRequests room 1.9_Technik,9.4_System -> Dienste,99-LAB -> TEST,TEST SYSSTAT SYSMON APT2DATE
attr WebRequests stateFormat MELDUNG
attr WebRequests userReadings MELDUNG:webpage-www.meine-webseite.de.* { \
  if(ReadingsVal("$NAME","webpage-www.meine-webseite.de",0) == "istnichtOK" ) { \
     fhem("set PostIt remove AlarmLevel7 Problem Webseite");;\
     return "Webseite OK";;\
  };; \
  fhem("set PostIt add AlarmLevel7 Problem Webseite");;\
  return "Problem Webseite"\
},

setstate WebRequests Webseite OK
setstate WebRequests 2020-02-11 19:52:33 MELDUNG Webseite OK
setstate WebRequests 2020-02-11 19:52:33 webpage-www.meine-webseite.de Seitentitel


das list vom Device:
Internals:
   .getList   webpage-www.meine-webseite.de:noArg
   .setList   interval reread:noArg stop:noArg start:noArg clearCookies:noArg upgradeAttributes:noArg storeKeyValue
   .updateRequestHash 1
   BUSY       0
   DEF        none 300
   FUUID      5d75425a-f33f-52b7-cd47-cae93a1aca63bf12
   Interval   300
   LASTSEND   1581447453.36152
   MainURL   
   ModuleVersion 3.5.21 - 27.12.2019
   NAME       WebRequests
   NOTIFYDEV  global
   NR         381
   NTFY_ORDER 50-WebRequests
   STATE      Webseite OK
   TRIGGERTIME 1581447753.35882
   TRIGGERTIME_FMT 2020-02-11 20:02:33
   TYPE       HTTPMOD
   addr       https://www.meine-webseite.de:443
   auth       0
   code       200
   compress   1
   conn       
   data       
   displayurl https://www.meine-webseite.de/index.htm
   header     
   host       www.meine-webseite.de
   httpheader HTTP/1.1 200 OK
Date: Tue, 11 Feb 2020 18:51:13 GMT
Server: Apache
Vary: Accept-Encoding
Content-Type: text/html;charset=UTF-8
Accept-Ranges: bytes
ETag: "1877569011-gzip"
Last-Modified: Mon, 10 Feb 2020 20:43:24 GMT
Content-Encoding: gzip
Connection: close
   httpversion 1.0
   hu_blocking 0
   hu_filecount 6
   hu_port    443
   hu_portSfx
   ignoreredirects 1
   loglevel   4
   path       /index.htm
   protocol   https
   redirects  0
   timeout    2
   url        https://www.meine-webseite.de/index.htm
   value      0
   .attraggr:
   .attrminint:
   .readingParseList:
   .userReadings:
     HASH(0x55a40f106570)
   CompiledRegexes:
   QUEUE:
   READINGS:
     2020-02-11 19:57:33   MELDUNG         Webseite OK
     2020-02-11 19:57:33   webpage-www.meine-webseite.de Seitentitel
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       get01
     url        https://www.meine-webseite.de/index.htm
     value      0
   defptr:
     readingBase:
       webpage-www.meine-webseite.de get
     readingNum:
       webpage-www.meine-webseite.de 01
     readingOutdated:
     requestReadings:
       get01:
         webpage-www.meine-webseite.de get 01
   lastpoll:
     webpage-www.meine-webseite.de 1581447453.35876
   sslargs:
Attributes:
   get01Name  webpage-www.meine-webseite.de
   get01Poll  1
   get01Regex <title>(.................)
   get01URL   https://www.meine-webseite.de/index.htm
   room       1.9_Technik,9.4_System -> Dienste,99-LAB -> TEST,TEST SYSSTAT SYSMON APT2DATE
   stateFormat MELDUNG
   userReadings MELDUNG:webpage-www.meine-webseite.de.* {
  if(ReadingsVal("$NAME","webpage-www.meine-webseite.de",0) == "istnichtOK" ) {
     fhem("set PostIt remove AlarmLevel7 Problem Webseite");
     return "Webseite OK";
  };
  fhem("set PostIt add AlarmLevel7 Problem Webseite");
  return "Problem Webseite"
},
   userattr   get01Name get01Poll:0,1 get01Regex get01URL get02Name get02Poll:0,1 get02Regex get02URL get03Name get03Poll:0,1 get03Regex get03URL get04Name get04Poll:0,1 get04Regex get04URL get05Name get05Poll:0,1 get05Regex get05URL get06Name get06Poll:0,1 get06Regex get06URL get07Na......
   



xenos1984

In Perl werden Zeichenketten nicht mit == verglichen, sondern mit eq.

dirk.k