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