Hallo,
bis jetzt dachte ich ich hätte ein falschen reading01Regex.
Das scheint aber nur zum Teil zu stimmen wie ich gesehen habe.
Ich habe bis vor kurzem die Temperatur aus meiner Mobotix Kamera ausgelsen.
Seit kurzem funktioniert das nicht mehr regelmäßig.
Ich habe im LOG gesehen, dass zwischendurch doch die Daten korrekt ausgelesen wurden.
Könnt Ihr mir sagen warum das mal geht und mal nicht.
Logfile:
2020.12.26 12:03:32 4: Temperatur: GetUpdate called (update)
2020.12.26 12:03:32 4: Temperatur: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 120.0 sec at 2020-12-26 12:05:32, interval 120
2020.12.26 12:03:32 5: Temperatur: AddToQueue adds type update to URL http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), no data, no headers, retry 0, initial queue len: 0
2020.12.26 12:03:32 5: Temperatur: HandleSendQueue called from AddToSendQueue, qlen = 1
2020.12.26 12:03:32 4: Temperatur: HandleSendQueue sends update with timeout 10 to http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), No Data, No Header
2020.12.26 12:03:33 5: Temperatur: ReadCallback called from __ANON__
2020.12.26 12:03:33 4: Temperatur: Read callback: request type was update retry 0,
header: HTTP/1.0 200 OK
Content-type: text/plain; charset=utf-8, body length 5
2020.12.26 12:03:33 5: Temperatur: Read callback: body
- 0.2
2020.12.26 12:03:33 4: Temperatur: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2020.12.26 12:03:33 4: Temperatur: BodyDecode is decoding the response body as utf-8 
2020.12.26 12:03:33 5: Temperatur: GetCookies is looking for Cookies
2020.12.26 12:03:33 5: Temperatur: ExtractSid called, context reading, num 0
2020.12.26 12:03:33 4: Temperatur: checking for redirects, code=200, ignore=0
2020.12.26 12:03:33 4: Temperatur: no redirects to handle
2020.12.26 12:03:33 5: Temperatur: Read callback sets LAST_REQUEST to update
2020.12.26 12:03:33 5: Temperatur: CheckAuth decided no authentication required
2020.12.26 12:03:33 5: Temperatur: Read starts parsing response to update with defined readings: 01
2020.12.26 12:03:33 5: Temperatur: ExtractReading state with regex /(?^:\n\s*([-+]?[\d\.]+))/...
2020.12.26 12:03:33 5: Temperatur: ExtractReading state did not match
2020.12.26 12:03:33 4: Temperatur: Read response to update didn't match any Reading
2020.12.26 12:03:33 5: Temperatur: HandleSendQueue called from ReadCallback, qlen = 0
2020.12.26 12:03:33 5: Temperatur: HandleSendQueue found no usable entry in queue
List Temperatur:
Internals:
   .LASTSEND  1608980732.48778
   .LastUpdate 1608980732.48281
   .TRIGGERTIME 1608980852.48281
   .getList   
   .setList   interval reread:noArg stop:noArg start:noArg clearCookies:noArg upgradeAttributes:noArg storeKeyValue 
   .updateRequestHash 1
   BUSY       0
   DEF        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS) 120
   FUUID      5f6b88ec-f33f-7e98-8cad-ca7470639ca5faf7
   Interval   120
   MainURL    http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS)
   ModuleVersion 4.0.16 - 5.12.2020
   NAME       Temperatur
   NOTIFYDEV  global
   NR         451
   NTFY_ORDER 50-Temperatur
   STATE      +10.6
   TYPE       HTTPMOD
   value      
   .attraggr:
   .attrminint:
   .readingParseList:
     01
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       http://192.168.2.12:80
     auth       1
     code       200
     compress   1
     conn       
     data       
     displayurl http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS)
     header     
     host       192.168.2.12
     httpheader HTTP/1.0 200 OK
Content-type: text/plain; charset=utf-8
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    80
     hu_portSfx 
     ignoreredirects 1
     loglevel   4
     path       /control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS)
     protocol   http
     pwd        fhem1234
     redirects  0
     timeout    10
     url        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS)
     user       Fhem
     sslargs:
   QUEUE:
   READINGS:
     2020-12-25 11:37:27   state           +10.6
   REQUEST:
     context    reading
     data       
     header     
     ignoreredirects 0
     num        0
     retryCount 0
     type       update
     url        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS)
   defptr:
     readingBase:
       state      reading
     readingNum:
       state      01
     readingOutdated:
     requestReadings:
       update:
         state      reading 01
Attributes:
   reading01Name state
   reading01Regex \n\s*([-+]?[\d\.]+)
   room       Haus
   timeout    10
   verbose    5
FileLog:
2020-12-22_21:33:18 Temperatur +10.0
2020-12-22_21:35:18 Temperatur +10.0
2020-12-22_21:37:17 Temperatur +10.0
2020-12-22_21:39:18 Temperatur +10.0
2020-12-22_21:41:18 Temperatur +10.0
2020-12-22_21:43:18 Temperatur +10.0
2020-12-25_11:01:27 Temperatur +10.0
2020-12-25_11:03:27 Temperatur +10.2
2020-12-25_11:05:27 Temperatur +11.8
2020-12-25_11:07:27 Temperatur +11.8
2020-12-25_11:09:27 Temperatur +12.6
2020-12-25_11:11:27 Temperatur +13.7
2020-12-25_11:13:27 Temperatur +13.7
2020-12-25_11:15:27 Temperatur +13.7
2020-12-25_11:17:27 Temperatur +13.7
2020-12-25_11:19:27 Temperatur +13.7
2020-12-25_11:21:27 Temperatur +13.7
2020-12-25_11:23:27 Temperatur +13.7
2020-12-25_11:25:27 Temperatur +12.4
2020-12-25_11:27:27 Temperatur +11.8
2020-12-25_11:29:27 Temperatur +11.8
2020-12-25_11:31:27 Temperatur +11.8
2020-12-25_11:33:27 Temperatur +11.8
2020-12-25_11:35:27 Temperatur +11.8
2020-12-25_11:37:27 Temperatur +10.6
Vielen Dank,
Hoffi
			
			
			
				Weil bei den negativen Werten anscheinend ein Leerzeichen nach dem Minus kommt.
			
			
			
				Hallo amenomade,
ganz so einfach ist doch wohl doch nicht. Auch bei Plusgraden wird der REGEX nicht immer übergeben.
Wenn ich den Link im Explorer eingebe, antwortet die Kamera korrekt.
Auch wenn das Leerzeichen evtl. mit übergeben wird, wie kann es sein das mal übermittelt wird?
Gibt es ein "besseren" reading01Regex als \n\s*([-+]?[\d\.]+)
2020.12.28 08:43:37 4 : Temperatur: GetUpdate called (update)
2020.12.28 08:43:37 4 : Temperatur: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 120.0 sec at 2020-12-28 08:45:37, interval 120
2020.12.28 08:43:37 5 : Temperatur: AddToQueue adds type update to URL http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), no data, no headers, retry 0, initial queue len: 0
2020.12.28 08:43:37 5 : Temperatur: HandleSendQueue called from AddToSendQueue, qlen = 1
2020.12.28 08:43:37 4 : Temperatur: HandleSendQueue sends update with timeout 10 to http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), No Data, No Header
2020.12.28 08:43:38 5 : Temperatur: ReadCallback called from __ANON__
2020.12.28 08:43:38 4 : Temperatur: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2020.12.28 08:43:38 4 : Temperatur: BodyDecode is decoding the response body as utf-8 
2020.12.28 08:43:38 5 : Temperatur: GetCookies is looking for Cookies
2020.12.28 08:43:38 5 : Temperatur: ExtractSid called, context reading, num 0
2020.12.28 08:43:38 4 : Temperatur: checking for redirects, code=200, ignore=0
2020.12.28 08:43:38 4 : Temperatur: no redirects to handle
2020.12.28 08:43:38 5 : Temperatur: Read callback sets LAST_REQUEST to update
2020.12.28 08:43:38 5 : Temperatur: CheckAuth decided no authentication required
2020.12.28 08:43:38 5 : Temperatur: Read starts parsing response to update with defined readings: 01
2020.12.28 08:43:38 5 : Temperatur: ExtractReading state with regex /(?^:\n\s*([-+]?[\d\.]+))/...
2020.12.28 08:43:38 5 : Temperatur: ExtractReading state did not match
2020.12.28 08:43:38 4 : Temperatur: Read response to update didn't match any Reading
2020.12.28 08:43:38 5 : Temperatur: HandleSendQueue called from ReadCallback, qlen = 0
2020.12.28 08:43:38 5 : Temperatur: HandleSendQueue found no usable entry in queue
2020.12.28 08:43:38 4 : Temperatur: Read callback: request type was update retry 0, header: HTTP/1.0 200 OK Content-type: text/plain; charset=utf-8, body length 5
2020.12.28 08:43:38 5 : Temperatur: Read callback: body + 1.6
			
			
			
				Ich würde einfach mit 
([-+ ]*[\d\.]+)
probieren
Wenn es nicht geht, bitte die Log mit verbose 5 zeigen.
			
			
			
				Das klappt leider auch nicht.
Jetzt bekomme ich den Wert "1" ausgegeben.
Bei Abfrage über die Explorer wird "+ 1.6" angezeigt.
2020.12.28 11:33:37 4 : Temperatur: GetUpdate called (update)
2020.12.28 11:33:37 4 : Temperatur: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 120.0 sec at 2020-12-28 11:35:37, interval 120
2020.12.28 11:33:37 5 : Temperatur: AddToQueue adds type update to URL http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), no data, no headers, retry 0, initial queue len: 0
2020.12.28 11:33:37 5 : Temperatur: HandleSendQueue called from AddToSendQueue, qlen = 1
2020.12.28 11:33:37 4 : Temperatur: HandleSendQueue sends update with timeout 10 to http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), No Data, No Header
2020.12.28 11:33:38 5 : Temperatur: ReadCallback called from __ANON__
2020.12.28 11:33:38 4 : Temperatur: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2020.12.28 11:33:38 4 : Temperatur: BodyDecode is decoding the response body as utf-8 
2020.12.28 11:33:38 5 : Temperatur: GetCookies is looking for Cookies
2020.12.28 11:33:38 5 : Temperatur: ExtractSid called, context reading, num 0
2020.12.28 11:33:38 4 : Temperatur: checking for redirects, code=200, ignore=0
2020.12.28 11:33:38 4 : Temperatur: no redirects to handle
2020.12.28 11:33:38 5 : Temperatur: Read callback sets LAST_REQUEST to update
2020.12.28 11:33:38 5 : Temperatur: CheckAuth decided no authentication required
2020.12.28 11:33:38 5 : Temperatur: Read starts parsing response to update with defined readings: 01
2020.12.28 11:33:38 5 : Temperatur: ExtractReading state with regex /(?^:([-+ ]*[\d\.]+))/...
2020.12.28 11:33:38 5 : Temperatur: ExtractReading for reading01-1 sets state to 1.0
2020.12.28 11:33:38 5 : Temperatur: ExtractReading value as hex is 312e30
2020.12.28 11:33:38 4 : Temperatur: Read response matched 1, unmatch 0 Reading(s)
2020.12.28 11:33:38 5 : Temperatur: Read response to update matched state
2020.12.28 11:33:38 5 : Temperatur: HandleSendQueue called from ReadCallback, qlen = 0
2020.12.28 11:33:38 5 : Temperatur: HandleSendQueue found no usable entry in queue
2020.12.28 11:33:38 4 : Temperatur: Read callback: request type was update retry 0, header: HTTP/1.0 200 OK Content-type: text/plain; charset=utf-8, body length 5
2020.12.28 11:33:38 5 : Temperatur: Read callback: body + 1.6</div>2020-12-28 11:33:38 HTTPMOD Temperatur 1.0
			
			
			
				ZitatBei Abfrage über die Explorer wird "+ 1.6" angezeigt.
Kannst Du mit Rechklick in der Expkorer Seite den ganzen Quellcode der Seite  schauen und hier in Code Tags kopieren?
Ich vermute, der parst etwas wie "HTTP/1.0"
			
 
			
			
				Hallo,
mit der rechten Maustaste wird mir nicht das angezeigt wie ich es erwartet hätte.
Anbei ein Foto, das ist die Seiteninformation.
mit rechter Maustaste Quelltext anzeigen wird einfach nur 
+ 1.6
angezeigt
Hoffi
			
			
			
				Komisch. Er hat aber doch ein Header:
Zitatheader HTTP/1.0 200 OK Content-type: text/plain; charset=utf-8, body length 5
Dies sollte im Quelltext erscheinen.
Und er hat auch zusätzliche Sachen im body:
Zitatbody + 1.6</div>
Wo ist denn der <div> Tag, und wo kommt der </div> Tag her?
Aber gut. Wir probieren blind. Entweder:
(^[-+ ]*[\d\.]+)oder
<div>([-+ ]*[\d\.]+)Schlimmsten Fall (weniger performant, aber die Seite ist ja sehr kurz):
([-+ ]*[\d\.]+)<\/div
			
				Ganz kurze Anmerkung:
schon mal das Attribut 'showBody' gesetzt?
Dann sollte man doch sehen, was dem HTTPMOD "zur Verfügung steht"?
Gruß, Joachim
			
			
			
				Zitat von: MadMax-FHEM am 29 Dezember 2020, 11:34:14
Dann sollte man doch sehen, was dem HTTPMOD "zur Verfügung steht"?
Bis auf die Headers, und die "1.0" kommt höchstwahrscheinlich vom Header ;) Aber trotzdem ein guter Hinweis: damit könnte man vielleicht diese "div" Geschichte klären.
Allerdings sieht man mit verbose 5 schon die Headers und das body in der Log.
			
 
			
			
				Drum ja auch: ganz kurze Anmerkung ;)
Viel Erfolg noch, Joachim
			
			
			
				Hallo,
ich habe alle Vorschläge einmal ausprobiert.
Leider ändert sich da noch nicht einmal der State (die Uhrzeit bleibt gleich)
Anbei Vorschlag und log:
<div>([-+ ]*[\d\.]+)
2020.12.29 15:41:41 4 : Temperatur: GetUpdate called (update)
2020.12.29 15:41:41 4 : Temperatur: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 120.0 sec at 2020-12-29 15:43:41, interval 120
2020.12.29 15:41:41 5 : Temperatur: AddToQueue adds type update to URL http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), no data, no headers, retry 0, initial queue len: 0
2020.12.29 15:41:41 5 : Temperatur: HandleSendQueue called from AddToSendQueue, qlen = 1
2020.12.29 15:41:41 4 : Temperatur: HandleSendQueue sends update with timeout 10 to http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), No Data, No Header
2020.12.29 15:41:42 5 : Temperatur: ReadCallback called from __ANON__
2020.12.29 15:41:42 4 : Temperatur: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2020.12.29 15:41:42 4 : Temperatur: BodyDecode is decoding the response body as utf-8 
2020.12.29 15:41:42 5 : Temperatur: GetCookies is looking for Cookies
2020.12.29 15:41:42 5 : Temperatur: ExtractSid called, context reading, num 0
2020.12.29 15:41:42 4 : Temperatur: checking for redirects, code=200, ignore=0
2020.12.29 15:41:42 4 : Temperatur: no redirects to handle
2020.12.29 15:41:42 5 : Temperatur: Read callback sets LAST_REQUEST to update
2020.12.29 15:41:42 5 : Temperatur: CheckAuth decided no authentication required
2020.12.29 15:41:42 5 : Temperatur: Read starts parsing response to update with defined readings: 01
2020.12.29 15:41:42 5 : Temperatur: ExtractReading state with regex /(?^:<div>([-+ ]*[\d\.]+))/...
2020.12.29 15:41:42 5 : Temperatur: ExtractReading state did not match
2020.12.29 15:41:42 4 : Temperatur: Read response to update didn't match any Reading
2020.12.29 15:41:42 5 : Temperatur: HandleSendQueue called from ReadCallback, qlen = 0
2020.12.29 15:41:42 5 : Temperatur: HandleSendQueue found no usable entry in queue
2020.12.29 15:41:42 4 : Temperatur: Read callback: request type was update retry 0, header: HTTP/1.0 200 OK Content-type: text/plain; charset=utf-8, body length 5
2020.12.29 15:41:42 5 : Temperatur: Read callback: body + 1.5</div>
(^[-+ ]*[\d\.]+)
2020.12.29 15:43:41 4 : Temperatur: GetUpdate called (update)
2020.12.29 15:43:41 4 : Temperatur: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 120.0 sec at 2020-12-29 15:45:41, interval 120
2020.12.29 15:43:41 5 : Temperatur: AddToQueue adds type update to URL http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), no data, no headers, retry 0, initial queue len: 0
2020.12.29 15:43:41 5 : Temperatur: HandleSendQueue called from AddToSendQueue, qlen = 1
2020.12.29 15:43:41 4 : Temperatur: HandleSendQueue sends update with timeout 10 to http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), No Data, No Header
2020.12.29 15:43:42 5 : Temperatur: ReadCallback called from __ANON__
2020.12.29 15:43:42 4 : Temperatur: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2020.12.29 15:43:42 4 : Temperatur: BodyDecode is decoding the response body as utf-8 
2020.12.29 15:43:42 5 : Temperatur: GetCookies is looking for Cookies
2020.12.29 15:43:42 5 : Temperatur: ExtractSid called, context reading, num 0
2020.12.29 15:43:42 4 : Temperatur: checking for redirects, code=200, ignore=0
2020.12.29 15:43:42 4 : Temperatur: no redirects to handle
2020.12.29 15:43:42 5 : Temperatur: Read callback sets LAST_REQUEST to update
2020.12.29 15:43:42 5 : Temperatur: CheckAuth decided no authentication required
2020.12.29 15:43:42 5 : Temperatur: UpdateReadingList created list of reading.* nums to parse during getUpdate as 01
2020.12.29 15:43:42 5 : Temperatur: Read starts parsing response to update with defined readings: 01
2020.12.29 15:43:42 5 : Temperatur: ExtractReading state with regex /(?^:([-+ ]*[\d\.]+)<\/div)/...
2020.12.29 15:43:42 5 : Temperatur: ExtractReading state did not match
2020.12.29 15:43:42 4 : Temperatur: Read response to update didn't match any Reading
2020.12.29 15:43:42 5 : Temperatur: HandleSendQueue called from ReadCallback, qlen = 0
2020.12.29 15:43:42 5 : Temperatur: HandleSendQueue found no usable entry in queue
2020.12.29 15:43:42 4 : Temperatur: Read callback: request type was update retry 0, header: HTTP/1.0 200 OK Content-type: text/plain; charset=utf-8, body length 5
2020.12.29 15:43:42 5 : Temperatur: Read callback: body + 1.5
([-+ ]*[\d\.]+)<\/div
2020.12.29 15:45:41 4 : Temperatur: GetUpdate called (update)
2020.12.29 15:45:41 4 : Temperatur: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 120.0 sec at 2020-12-29 15:47:41, interval 120
2020.12.29 15:45:41 5 : Temperatur: AddToQueue adds type update to URL http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), no data, no headers, retry 0, initial queue len: 0
2020.12.29 15:45:41 5 : Temperatur: HandleSendQueue called from AddToSendQueue, qlen = 1
2020.12.29 15:45:41 4 : Temperatur: HandleSendQueue sends update with timeout 10 to http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), No Data, No Header
2020.12.29 15:45:42 5 : Temperatur: ReadCallback called from __ANON__
2020.12.29 15:45:42 4 : Temperatur: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2020.12.29 15:45:42 4 : Temperatur: BodyDecode is decoding the response body as utf-8 
2020.12.29 15:45:42 5 : Temperatur: GetCookies is looking for Cookies
2020.12.29 15:45:42 5 : Temperatur: ExtractSid called, context reading, num 0
2020.12.29 15:45:42 4 : Temperatur: checking for redirects, code=200, ignore=0
2020.12.29 15:45:42 4 : Temperatur: no redirects to handle
2020.12.29 15:45:42 5 : Temperatur: Read callback sets LAST_REQUEST to update
2020.12.29 15:45:42 5 : Temperatur: CheckAuth decided no authentication required
2020.12.29 15:45:42 5 : Temperatur: UpdateReadingList created list of reading.* nums to parse during getUpdate as 01
2020.12.29 15:45:42 5 : Temperatur: Read starts parsing response to update with defined readings: 01
2020.12.29 15:45:42 5 : Temperatur: ExtractReading state with regex /(?^:(^[-+ ]*[\d\.]+))/...
2020.12.29 15:45:42 5 : Temperatur: ExtractReading state did not match
2020.12.29 15:45:42 4 : Temperatur: Read response to update didn't match any Reading
2020.12.29 15:45:42 5 : Temperatur: HandleSendQueue called from ReadCallback, qlen = 0
2020.12.29 15:45:42 5 : Temperatur: HandleSendQueue found no usable entry in queue
2020.12.29 15:45:42 4 : Temperatur: Read callback: request type was update retry 0, header: HTTP/1.0 200 OK Content-type: text/plain; charset=utf-8, body length 5
2020.12.29 15:45:42 5 : Temperatur: Read callback: body + 1.5
und einmal
([-+ ]*[\d\.]+)<\/div mit ShowBody
2020.12.29 15:51:41 4 : Temperatur: GetUpdate called (update)
2020.12.29 15:51:41 4 : Temperatur: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 120.0 sec at 2020-12-29 15:53:41, interval 120
2020.12.29 15:51:41 5 : Temperatur: AddToQueue adds type update to URL http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), no data, no headers, retry 0, initial queue len: 0
2020.12.29 15:51:41 5 : Temperatur: HandleSendQueue called from AddToSendQueue, qlen = 1
2020.12.29 15:51:41 4 : Temperatur: HandleSendQueue sends update with timeout 10 to http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), No Data, No Header
2020.12.29 15:51:42 5 : Temperatur: ReadCallback called from __ANON__
2020.12.29 15:51:42 4 : Temperatur: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2020.12.29 15:51:42 4 : Temperatur: BodyDecode is decoding the response body as utf-8 
2020.12.29 15:51:42 5 : Temperatur: GetCookies is looking for Cookies
2020.12.29 15:51:42 5 : Temperatur: ExtractSid called, context reading, num 0
2020.12.29 15:51:42 4 : Temperatur: checking for redirects, code=200, ignore=0
2020.12.29 15:51:42 4 : Temperatur: no redirects to handle
2020.12.29 15:51:42 5 : Temperatur: Read callback sets LAST_REQUEST to update
2020.12.29 15:51:42 5 : Temperatur: CheckAuth decided no authentication required
2020.12.29 15:51:42 5 : Temperatur: Read starts parsing response to update with defined readings: 01
2020.12.29 15:51:42 5 : Temperatur: ExtractReading state with regex /(?^:(^[-+ ]*[\d\.]+))/...
2020.12.29 15:51:42 5 : Temperatur: ExtractReading state did not match
2020.12.29 15:51:42 4 : Temperatur: Read response to update didn't match any Reading
2020.12.29 15:51:42 5 : Temperatur: HandleSendQueue called from ReadCallback, qlen = 0
2020.12.29 15:51:42 5 : Temperatur: HandleSendQueue found no usable entry in queue
2020.12.29 15:51:42 4 : Temperatur: Read callback: request type was update retry 0, header: HTTP/1.0 200 OK Content-type: text/plain; charset=utf-8, body length 5
2020.12.29 15:51:42 5 : Temperatur: Read callback: body + 1.5
list Temperatur:
Internals:
   .LASTSEND  1609253501.47049
   .LastUpdate 1609253501.46044
   .TRIGGERTIME 1609253621.46044
   .getList   
   .setList   interval reread:noArg stop:noArg start:noArg clearCookies:noArg upgradeAttributes:noArg storeKeyValue 
   .updateRequestHash 1
   BUSY       0
   DEF        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS) 120
   FUUID      5f6b88ec-f33f-7e98-8cad-ca7470639ca5faf7
   Interval   120
   MainURL    http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS)
   ModuleVersion 4.0.16 - 5.12.2020
   NAME       Temperatur
   NOTIFYDEV  global
   NR         451
   NTFY_ORDER 50-Temperatur
   STATE      1.0
   TYPE       HTTPMOD
   httpbody   + 1.5
   value      
   .attraggr:
   .attrminint:
   .readingParseList:
     01
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       http://192.168.2.12:80
     auth       1
     code       200
     compress   1
     conn       
     data       
     displayurl http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS)
     header     
     host       192.168.2.12
     httpheader HTTP/1.0 200 OK
Content-type: text/plain; charset=utf-8
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    80
     hu_portSfx 
     ignoreredirects 1
     loglevel   4
     path       /control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS)
     protocol   http
     pwd        fhem1234
     redirects  0
     timeout    10
     url        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS)
     user       Fhem
     sslargs:
   QUEUE:
   READINGS:
     2020-12-29 15:29:42   state           1.0
   REQUEST:
     context    reading
     data       
     header     
     ignoreredirects 0
     num        0
     retryCount 0
     type       update
     url        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS)
   defptr:
     readingBase:
       state      reading
     readingNum:
       state      01
     readingOutdated:
     requestReadings:
       update:
         state      reading 01
Attributes:
   reading01Name state
   reading01Regex (^[-+ ]*[\d\.]+)
   room       Haus
   showBody   1
   timeout    10
   verbose    5
Die Temperatur (+ 1.5) wird überall mit ausgegeben, doch sie wird nicht als "Reading" übernommen.
Hoffi
			
			
			
				Kannst Du bitte mit F12 Tools im Netzwerk Reiter zeigen, was er genau macht bei einer Abfrage der Seite im Browser?
			
			
			
				Guten Morgen,
anbei 3 Fotos. Ich hoffe das man daraus etwss erkennen kann.
Vielen lieben Dank für die Mühen.
Hoffi
			
			
			
				Kannst Du noch bitte aus dem 2. Bild (network edge) auf dem Reiter Response klicken und das Bild vom 2. Abschnitt ("raw" Antwort) schicken?
			
			
			
				Anbei der Screenshot. Ich hoffe, dass dies der richtige ist.
Hoffi
			
			
			
				Na gut, die "Response" ist aber doch simpel... Ich weiss immer noch nicht wo dieses /div herkommt.
Versuche dann mit 
(?s)\/head.*?([-+ ]*[\d\.]+)
oder
(?s)body.*?([-+ ]*[\d\.]+)
			
			
			
				Ich würde vielleicht noch mal schauen, ob das, was da wie ein Leerzeichen aussieht, wirklich eins ist, und nicht irgendein gleich aussehendes Zeichen wie z.B. ein "non-breaking space" oder ähnliches. In dem Fall würde die RegEx nicht passen und man bräuchte eher sowas:
^[-+\s]*[\d\.]+
			
			
			
				Zitat von: xenos1984 am 30 Dezember 2020, 17:50:10
Ich würde vielleicht noch mal schauen, ob das, was da wie ein Leerzeichen aussieht, wirklich eins ist, und nicht irgendein gleich aussehendes Zeichen wie z.B. ein "non-breaking space" oder ähnliches. In dem Fall würde die RegEx nicht passen und man bräuchte eher sowas:
^[-+\s]*[\d\.]+
Hast recht
			
 
			
			
				Hallo,
ich habe alle 3 Vorschläge ausprobiert. Die Temperatur wird wohl schon ausgelesen. Der httpbody ist passend gefüllt.
Leider wird der Wert aber nicht in den State übergeben.
Hier die vorgeschlagenen Regex und der passende Log:
^[-+\s]*[\d\.]+
2020.12.31 08:21:47 4 : Temperatur: GetUpdate called (update)
2020.12.31 08:21:47 4 : Temperatur: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 120.0 sec at 2020-12-31 08:23:47, interval 120
2020.12.31 08:21:47 5 : Temperatur: AddToQueue adds type update to URL http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), no data, no headers, retry 0, initial queue len: 0
2020.12.31 08:21:47 5 : Temperatur: HandleSendQueue called from AddToSendQueue, qlen = 1
2020.12.31 08:21:47 4 : Temperatur: HandleSendQueue sends update with timeout 10 to http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), No Data, No Header
2020.12.31 08:21:47 5 : Temperatur: ReadCallback called from __ANON__
2020.12.31 08:21:47 4 : Temperatur: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2020.12.31 08:21:47 4 : Temperatur: BodyDecode is decoding the response body as utf-8 
2020.12.31 08:21:47 5 : Temperatur: GetCookies is looking for Cookies
2020.12.31 08:21:47 5 : Temperatur: ExtractSid called, context reading, num 0
2020.12.31 08:21:47 4 : Temperatur: checking for redirects, code=200, ignore=0
2020.12.31 08:21:47 4 : Temperatur: no redirects to handle
2020.12.31 08:21:47 5 : Temperatur: Read callback sets LAST_REQUEST to update
2020.12.31 08:21:47 5 : Temperatur: CheckAuth decided no authentication required
2020.12.31 08:21:47 5 : Temperatur: Read starts parsing response to update with defined readings: 01
2020.12.31 08:21:47 5 : Temperatur: ExtractReading state with regex /(?^:^[-+\s]*[\d\.]+)/...
2020.12.31 08:21:47 5 : Temperatur: ExtractReading state did not match
2020.12.31 08:21:47 4 : Temperatur: Read response to update didn't match any Reading
2020.12.31 08:21:47 5 : Temperatur: HandleSendQueue called from ReadCallback, qlen = 0
2020.12.31 08:21:47 5 : Temperatur: HandleSendQueue found no usable entry in queue
2020.12.31 08:21:47 4 : Temperatur: Read callback: request type was update retry 0, header: HTTP/1.0 200 OK Content-type: text/plain; charset=utf-8, body length 5
2020.12.31 08:21:47 5 : Temperatur: Read callback: body + 3.1
^[-+\s]*[\d\.]+
2020.12.31 08:25:47 4 : Temperatur: GetUpdate called (update)
2020.12.31 08:25:47 4 : Temperatur: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 120.0 sec at 2020-12-31 08:27:47, interval 120
2020.12.31 08:25:47 5 : Temperatur: AddToQueue adds type update to URL http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), no data, no headers, retry 0, initial queue len: 0
2020.12.31 08:25:47 5 : Temperatur: HandleSendQueue called from AddToSendQueue, qlen = 1
2020.12.31 08:25:47 4 : Temperatur: HandleSendQueue sends update with timeout 10 to http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), No Data, No Header
2020.12.31 08:25:47 5 : Temperatur: ReadCallback called from __ANON__
2020.12.31 08:25:47 4 : Temperatur: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2020.12.31 08:25:47 4 : Temperatur: BodyDecode is decoding the response body as utf-8 
2020.12.31 08:25:47 5 : Temperatur: GetCookies is looking for Cookies
2020.12.31 08:25:47 5 : Temperatur: ExtractSid called, context reading, num 0
2020.12.31 08:25:47 4 : Temperatur: checking for redirects, code=200, ignore=0
2020.12.31 08:25:47 4 : Temperatur: no redirects to handle
2020.12.31 08:25:47 5 : Temperatur: Read callback sets LAST_REQUEST to update
2020.12.31 08:25:47 5 : Temperatur: CheckAuth decided no authentication required
2020.12.31 08:25:48 5 : Temperatur: Read starts parsing response to update with defined readings: 01
2020.12.31 08:25:48 5 : Temperatur: ExtractReading state with regex /(?^:(?s)body.*?([-+ ]*[\d\.]+))/...
2020.12.31 08:25:48 5 : Temperatur: ExtractReading state did not match
2020.12.31 08:25:48 4 : Temperatur: Read response to update didn't match any Reading
2020.12.31 08:25:48 5 : Temperatur: HandleSendQueue called from ReadCallback, qlen = 0
2020.12.31 08:25:48 5 : Temperatur: HandleSendQueue found no usable entry in queue
2020.12.31 08:25:47 4 : Temperatur: Read callback: request type was update retry 0, header: HTTP/1.0 200 OK Content-type: text/plain; charset=utf-8, body length 5
2020.12.31 08:25:47 5 : Temperatur: Read callback: body + 3.1
(?s)\/head.*?([-+ ]*[\d\.]+)
2020.12.31 08:27:47 4 : Temperatur: GetUpdate called (update)
2020.12.31 08:27:47 4 : Temperatur: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 120.0 sec at 2020-12-31 08:29:47, interval 120
2020.12.31 08:27:47 5 : Temperatur: AddToQueue adds type update to URL http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), no data, no headers, retry 0, initial queue len: 0
2020.12.31 08:27:47 5 : Temperatur: HandleSendQueue called from AddToSendQueue, qlen = 1
2020.12.31 08:27:47 4 : Temperatur: HandleSendQueue sends update with timeout 10 to http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.TIN.CELSIUS), No Data, No Header
2020.12.31 08:27:48 5 : Temperatur: ReadCallback called from __ANON__
2020.12.31 08:27:48 4 : Temperatur: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2020.12.31 08:27:48 4 : Temperatur: BodyDecode is decoding the response body as utf-8 
2020.12.31 08:27:48 5 : Temperatur: GetCookies is looking for Cookies
2020.12.31 08:27:48 5 : Temperatur: ExtractSid called, context reading, num 0
2020.12.31 08:27:48 4 : Temperatur: checking for redirects, code=200, ignore=0
2020.12.31 08:27:48 4 : Temperatur: no redirects to handle
2020.12.31 08:27:48 5 : Temperatur: Read callback sets LAST_REQUEST to update
2020.12.31 08:27:48 5 : Temperatur: CheckAuth decided no authentication required
2020.12.31 08:27:48 5 : Temperatur: UpdateReadingList created list of reading.* nums to parse during getUpdate as 01
2020.12.31 08:27:48 5 : Temperatur: Read starts parsing response to update with defined readings: 01
2020.12.31 08:27:48 5 : Temperatur: ExtractReading state with regex /(?^:(?s)\/head.*?([-+ ]*[\d\.]+))/...
2020.12.31 08:27:48 5 : Temperatur: ExtractReading state did not match
2020.12.31 08:27:48 4 : Temperatur: Read response to update didn't match any Reading
2020.12.31 08:27:48 5 : Temperatur: HandleSendQueue called from ReadCallback, qlen = 0
2020.12.31 08:27:48 5 : Temperatur: HandleSendQueue found no usable entry in queue
2020.12.31 08:27:48 4 : Temperatur: Read callback: request type was update retry 0, header: HTTP/1.0 200 OK Content-type: text/plain; charset=utf-8, body length 5
2020.12.31 08:27:48 5 : Temperatur: Read callback: body + 3.1
Hoffi
			
			
			
				OK, hab's mit mocky.io getestet. Mit
\n([-+ ]*[\d\.]+)
scheint es zu gehen
			
			
			
				Das war´s.
Die Temperatur wird wieder angezeigt.
Der FileLog wird auch beschrieben.
Ein Superherzlichen Dank
Hoffi