Autor Thema: HTTPMOD reading über eingabemaske richtig eingeben  (Gelesen 320 mal)

Offline Stelaku

  • Full Member
  • ***
  • Beiträge: 215
HTTPMOD reading über eingabemaske richtig eingeben
« am: 28 November 2022, 17:26:43 »
Hallo alle zusammen

Ich habe ein ganz einfaches HTTPMOD Device welches mir einmal pro Stunde die aktuelle Temperatur aus einer Wetter Seite zurück gibt.

Das funktioniert auch alles.

Was ich aber bis heute nicht geschafft habe ist es das Reading01Name temperature über die normale eingabezeile für attr einzugeben.
reading[0-9]+(-[0-9]+)?Name
bisher habe ich einfach über die raw das attr manuell angelegt sprich so
attr Aussentemperatur reading01Name temperature

Ich habe schon einiges ausprobiert unter attr Aussentemperatur reading[0-9]+(-[0-9]+)?Name Eingabemaske einzugeben, wie unter anderem.
attr reading01Name temperature
reading01Name temperature
01 temperature
01temperature
... .

bekomme aber leider immer diese Fehlermeldung
Aussentemperatur: bad attribute name 'reading[0-9]+(-[0-9]+)?Name' (allowed chars: A-Za-z/\d_\.-)

Vieleicht kann mich einer da draussen erleuchten, wo ich nicht mehr weiterkomme.
oder ist es vieleicht nicht anders möglich als die reading und readingRegex über die raw anzulegen ???

der vollständikeit halber hier eine list des Device

Internals:
   BUSY       0
   DEF        https://www.wetter.de/deutschland/wetter-koeln-18220679.html 3600
   FUUID      6381235c-f33f-4b4d-173f-204db539f601552a
   Interval   3600
   MainURL    https://www.wetter.de/deutschland/wetter-koeln-18220679.html
   ModuleVersion 4.1.14 - 19.8.2022
   NAME       Aussentemperatur
   NOTIFYDEV  global
   NR         168
   NTFY_ORDER 50-Aussentemperatur
   STATE      7
   TYPE       HTTPMOD
   eventCount 67
   value     
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       https://www.wetter.de:443
     auth       0
     buf       
     code       200
     compress   1
     conn       
     data       
     displayurl https://www.wetter.de/deutschland/wetter-koeln-18220679.html
     header     
     host       www.wetter.de
     httpheader HTTP/1.1 200 OK
Content-Encoding: gzip
Date: Mon, 28 Nov 2022 15:38:54 GMT
Etag: "5fcd4-JscE9bEy/+3IKL7oldri+uKGYIU"
Server-Timing: total;dur=183;desc="Nuxt Server Time"
X-Ssr: vue
X-Passed-Varnish: true
Content-Type: text/html;charset=utf-8
Cache-Control: public, max-age=120
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
Vary: Accept-Encoding
Accept-Ranges: bytes
Content-Length: 58643
Connection: close
X-Content-Type-Options: nosniff
X-XSS-Protection: 1
Content-Security-Policy: default-src * data: blob: 'unsafe-inline' 'unsafe-eval';
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    443
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /deutschland/wetter-koeln-18220679.html
     protocol   https
     redirects  0
     timeout    2
     url        https://www.wetter.de/deutschland/wetter-koeln-18220679.html
     sslargs:
   QUEUE:
   READINGS:
     2022-11-28 17:07:47   temperature     7
   REQUEST:
     context    reading
     data       
     header     
     ignoreredirects 0
     num        unknown
     retryCount 0
     type       update
     url        https://www.wetter.de/deutschland/wetter-koeln-18220679.html
   defptr:
     readingBase:
       temperature reading
     readingNum:
       temperature 01
     readingOutdated:
     requestReadings:
       update:
         temperature reading 01
Attributes:
   enableControlSet 1
   group      AussenTemperatur
   reading01Name temperature
   reading01Regex (?s)<div class="weather-background__temp"[^0-9]+([0-9\.]+)
   room       Test
   stateFormat temperature

und die kpl. raw

defmod Aussentemperatur HTTPMOD https://www.wetter.de/deutschland/wetter-koeln-18220679.html 3600
attr Aussentemperatur enableControlSet 1
attr Aussentemperatur group AussenTemperatur
attr Aussentemperatur reading01Name temperature
attr Aussentemperatur reading01Regex (?s)<div class="weather-background__temp"[^0-9]+([0-9\.]+)
attr Aussentemperatur room Test
attr Aussentemperatur stateFormat temperature

Viele Grüsse

Stephan



Offline OdfFhem

  • Hero Member
  • *****
  • Beiträge: 1349
Antw:HTTPMOD reading über eingabemaske richtig eingeben
« Antwort #1 am: 28 November 2022, 20:23:34 »
@Stelaku

reading[0-9]+(-[0-9]+)?Name
Anzeige in der Attribut-Auswahlbox dient in diesem Fall nicht direkt zur Eingabe, sondern eher als Maskendarstellung für mögliche Attribute

attr Aussentemperatur userattr reading01Name
Verwendet man das Attribut userattr, kann man die Attribut-Auswahl um benötigte Attribute erweitern ...

Offline Stelaku

  • Full Member
  • ***
  • Beiträge: 215
Antw:HTTPMOD reading über eingabemaske richtig eingeben
« Antwort #2 am: 29 November 2022, 14:59:33 »
Hallo OdfFhem

Vielen dank für Deine Antwort.

Dann weiß ich jetzt ja bescheid und werde mir statt immer über die raw zu gehen ein userattr nach meinen wünschen anlegen.

Viele Grüsse

Stephan