Hauptmenü

httpmod reread und MaxAge

Begonnen von ch.eick, 16 Januar 2020, 11:49:03

Vorheriges Thema - Nächstes Thema

ch.eick

Hallo zusammen,
ich mach da mal wieder ein Problem :-)

Ich rufe mit einem httpmod mehrere Wetterstationen mit verschiedenen get**URL ab.
Einige Wetterstationen haben jedoch nicht alle features, sodaß ich dann mit
readingMaxAge 300
readingMaxAgeReplacementMode delete

veraltete readings lösche, was auch gut funktioniert.

Nun habe ich folgendes angegeben
def none 0
wodurch es keinen regelmäßigen Abruf einer bestimmten Httpseite gibt.

Das Problem ist nun, dass dadurch natürlich alle readings veraltern, jedoch kommt kein event, was MaxAge triggert, um die readings zu löschen.

Mit "set device reread" wird anscheinend der alter Puffer erneut gelesen und die timestamps der readings bleiben auch auf der bisherigen Zeit, was ja auch richtig ist.
Nur wird nicht nach MaxAge geschaut und somit bleiben die readings, obwohl die Zeit abgelaufen ist trotzdem erhalten.


Übrigens muss man
     attr device enableControlSet 1
setzen, um
     set device reread
nutzen zu können.


Viele Grüße
     Christian


Internals:
   BUSY       0
   CFGFN     
   DEF        none 0
   FUUID      5e1ee64c-f33f-61a8-0ec7-a7cb7922b2492176
   Interval   0
   LASTSEND   1579167922.5547
   MainURL   
   MaxAgeEnabled 1
   ModuleVersion 3.5.21 - 27.12.2019
   NAME       wetter
   NOTIFYDEV  global
   NR         132541
   NTFY_ORDER 50-wetter
   STATE      10.56 | solarRadiation | solarUV
   TRIGGERTIME 0
   TRIGGERTIME_FMT
   TYPE       HTTPMOD
   addr       https://www.wunderground.com:443
   auth       0
   buf       
   code       200
   compress   1
   conn       
   data       
   displayurl https://www.wunderground.com/dashboard/pws/[Station]
   header     
   host       www.wunderground.com
   httpheader HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Strict-Transport-Security: max-age=15724800; includeSubDomains
X-Powered-By: Express
Access-Control-Allow-Origin: *
X-FRAME-OPTIONS: sameorigin
wxu-next-commit: 786ca5a2
wxu-next-region: fra05
wxu-next-hostname: wu-next-5d555d9d9d-l8rgm
webcakes-app-name: wxu-next
webcakes-app-version: 786ca5a2
webcakes-region: fra05
ETag: W/"904ec-mOw5tJhcJw5sFAi1+P1FQ/ApeYQ"
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 83265
Cache-Control: max-age=300
Expires: Thu, 16 Jan 2020 09:50:23 GMT
Date: Thu, 16 Jan 2020 09:45:23 GMT
Connection: close
Set-Cookie: speedpin=4G; expires=Thu, 16-Jan-2020 10:15:23 GMT; path=/; domain=.wunderground.com; secure
Set-Cookie: ci=TWC-Locale-Group=US&X-Origin-Hint=wu-next-prod&TWC-GeoIP-Country=DE&TWC-Privacy=gdpr; path=/; domain=.wunderground.com
Property-id: drupal-prod
X-Origin-Hint: wu-next-prod
X-RequestSource: AkamaiProdProxy
TWC-Privacy: gdpr
TWC-GeoIP-LatLong: 50.12,8.68
TWC-GeoIP-Country: DE
TWC-Device-Class: desktop
TWC-Locale-Group: US
TWC-Connection-Speed: 4G
X-RequestSource: AkamaiDefaultDNA
   httpversion 1.0
   hu_blocking 0
   hu_filecount 80
   hu_port    443
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /dashboard/pws/[Station]
   protocol   https
   redirects  0
   timeout    2
   url        https://www.wunderground.com/dashboard/pws/[Station]
   value      0
   CompiledRegexes:
   OLDREADINGS:
   QUEUE:
   READINGS:
     2020-01-16 10:45:23   date            January 16, 2020
     2020-01-16 10:45:23   dewpointTemperature -0.90
     2020-01-16 10:45:23   dewpointTemperature_EN 30.38
     2020-01-16 10:45:23   humidity        80
     2020-01-16 10:45:23   precip1hrmetric 0.00
     2020-01-16 10:45:23   preciptodaymetric 0.00
     2020-01-16 10:45:23   pressure        30.38
     2020-01-16 10:45:23   temperature     10.56
     2020-01-16 10:45:23   temperature_EN   51
     2020-01-16 10:45:23   windChill       10.28
     2020-01-16 10:45:23   windChill_EN    50.5
     2020-01-16 10:45:23   windDirection   WNW
     2020-01-16 10:45:23   windDirection_EN WNW
     2020-01-16 10:45:23   windGust        0.3
     2020-01-16 10:45:23   windGust_EN     0.2
     2020-01-16 10:45:23   windSpeed       0.3
     2020-01-16 10:45:23   windSpeed_EN    0.2
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       get01
     url        https://www.wunderground.com/dashboard/pws/[Station]
     value      0
   defptr:
     readingBase:
       date       reading
       dewpointTemperature reading
       dewpointTemperature_EN reading
       dewpointTemperature_F reading
       humidity   reading
       precip1hrmetric reading
       preciptodaymetric reading
       pressure   reading
       reading021 reading
       reading091 reading
       reading101 reading
       reading121 reading
       temperature reading
       temperature_EN reading
       temperature_F reading
       windChill  reading
       windChill_EN reading
       windChill_F reading
       windDirection reading
       windDirection_EN reading
       windGust   reading
       windGust_EN reading
       windGust_M reading
       windSpeed  reading
       windSpeed_EN reading
       windSpeed_M reading
     readingNum:
       date       01
       dewpointTemperature 02
       dewpointTemperature_EN 03
       dewpointTemperature_F 02
       humidity   04
       precip1hrmetric 05
       preciptodaymetric 06
       pressure   07
       reading021 021
       reading091 091
       reading101 101
       reading121 121
       temperature 10
       temperature_EN 11
       temperature_F 09
       windChill  12
       windChill_EN 13
       windChill_F 10
       windDirection 15
       windDirection_EN 16
       windGust   19
       windGust_EN 20
       windGust_M 13
       windSpeed  17
       windSpeed_EN 18
       windSpeed_M 14
     readingOutdated:
     readingSubNum:
     requestReadings:
       get01:
         date       reading 01
         dewpointTemperature reading 02
         dewpointTemperature_EN reading 03
         humidity   reading 04
         precip1hrmetric reading 05
         preciptodaymetric reading 06
         pressure   reading 07
         temperature reading 10
         temperature_EN reading 11
         windChill  reading 12
         windChill_EN reading 13
         windDirection reading 15
         windDirection_EN reading 16
         windGust   reading 19
         windGust_EN reading 20
         windSpeed  reading 17
         windSpeed_EN reading 18
       get02:
       get03:
       get04:
       update:
         dewpointTemperature_F reading 02
         reading021 reading 021
         reading091 reading 091
         reading101 reading 101
         reading121 reading 121
         temperature_F reading 09
         windChill_F reading 10
         windGust_M reading 13
         windSpeed_M reading 14
   sslargs:
Attributes:
   alias      wetter
   enableControlSet 1
   event-on-change-reading dewpointTemperature,humidity,preciptodaymetric,pressure,solarRadiation,solarUV,temperature,windDegrees,windGust,windSpeed,precip1hrmetric
   get01Name  N1
   get01URL   https://www.wunderground.com/dashboard/pws/[Station1]
   get02Name  N2
   get02URL   https://www.wunderground.com/dashboard/pws/[Station2]
   get03Name  N3
   get03URL   https://www.wunderground.com/dashboard/pws/[Station3]
   get04Name  N4
   get04URL   https://www.wunderground.com/dashboard/pws/[Station4]
   icon       weather_sunrise
   reading01Name date
   reading01Regex Summary.*>([[:alpha:]]{1,8} [\d]{1,2}, [\d]{4})<.*Temperature
   reading02Name dewpointTemperature
   reading02OExpr round(($val - 32) * 5/9 , 2)
   reading02Regex DEWPOINT.*>([\d\.]+)<.*HUMIDITY
   reading03Name dewpointTemperature_EN
   reading03Regex DEWPOINT.*>([\d\.]+)<.*HUMIDITY
   reading04Name humidity
   reading04Regex HUMIDITY.*>([\d\.]+)<.*WIND
   reading05Name precip1hrmetric
   reading05Regex PRECIP RATE.*>([\d\.]+)<.*PRECIP TOTAL
   reading06Name preciptodaymetric
   reading06Regex PRECIP TOTAL.*>([\d\.]+)<.*tile-precipitation
   reading07Name pressure
   reading07Regex CURRENT.*>([\d\.]+)<.*tile-pressure
   reading08Name solarRadiation
   reading08Regex SOLAR RADIATION.*CURRENT.*weather__text">([\d\.]+)
   reading09Name solarUV
   reading09Regex CURRENT UV.*>([\d\.]+)<.*UV RISK
   reading10Name temperature
   reading10OExpr round(($val - 32) * 5/9 , 2)
   reading10Regex current-temp.*">([- ]*[\d\.]+).*DEWPOINT
   reading11Name temperature_EN
   reading11Regex current-temp.*">([- ]*[\d\.]+).*DEWPOINT
   reading12Name windChill
   reading12OExpr round(($val - 32) * 5/9 , 2)
   reading12Regex Feels Like.*>([\d\.]+)<.*wind-dial__container
   reading13Name windChill_EN
   reading13Regex Feels Like.*>([\d\.]+)<.*wind-dial__container
   reading15Name windDirection
   reading15OMap E:O, NE:NO, SE:SO, ENE:ONO, NNE:NNO, ESE:OSO, SSE:SSO
   reading15Regex WIND FROM.*>([NESW]+)<.*GUST
   reading16Name windDirection_EN
   reading16Regex WIND FROM.*>([NESW]+)<.*GUST
   reading17Name windSpeed
   reading17OExpr round($val * 1.609 , 1)
   reading17Regex wind-dial__container.*>([\d\.]+)<.*unit-speed
   reading18Name windSpeed_EN
   reading18Regex wind-dial__container.*>([\d\.]+)<.*unit-speed
   reading19Name windGust
   reading19OExpr round($val * 1.609 , 1)
   reading19Regex GUST.*>([\d\.]+)<.*mph
   reading20Name windGust_EN
   reading20Regex GUST.*>([\d\.]+)<.*mph
   readingMaxAge 300
   readingMaxAgeReplacementMode delete
   room       Informationen->Wetter,Rollos
   stateFormat temperature | solarRadiation | solarUV


RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

#1
By the way

kann ich den Inhalt der internen Variable $type im stateFormat verwenden, oder über ein userreadings mit anzeigen lassen?

EDIT:

{InternalVal($name,"url","na")}

Schon gefunden....
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick