HTTPMOD reading über eingabemaske richtig eingeben

Begonnen von Stelaku, 28 November 2022, 17:26:43

Vorheriges Thema - Nächstes Thema

Stelaku

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



OdfFhem

@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 ...

Stelaku

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