Guten Morgen,
ich habe in einem HTTPMOD Device ein Reading, das mir Statuswerte über Nummern anzeigt.
z.B. 113,114... usw.
Diese möchte ich nun gerne als Klartext anzeigen lassen
114 = Komfortsollwert, 113 = Schnellaufheizung, 56 - Überhitzschutz aktiv usw.
Habe es mit readingsChange probiert, aber so geht das nicht.
define <name> readingsChange <device> <readingName> <toReplace> <replaceWith>"
define BROETJESTATUS_HK1_Change readingsChange readingsChange (Status Heizkreis 1) 56 (Überhitzschutz aktiv)
Wie mache ich das richtig ? Geht es auch anders ?
In Summe sind es 29 Werte, die ich ersetzen / tauschen müsste.
List vom Device
Internals:
BUSY 0
CHANGED
DEF http://192.168.x.xx/xxxx/700/710/712/720/721/8000 180
Interval 180
LASTSEND 1541145328.90806
MainURL http://192.168.x.xx/xxxx/700/710/712/720/721/8000
ModuleVersion 3.5.1 - 5.7.2018
NAME BROETJESTATUS_HK1
NR 181
STATE ???
TRIGGERTIME 1541145508.9052
TRIGGERTIME_FMT 2018-11-02 08:58:28
TYPE HTTPMOD
addr http://192.168.192.168.x.xx:80
auth 0
code 200
compress 1
conn
data
displayurl http://192.168.x.xx/xxxx/700/710/712/720/721/8000
header
host 192.168.x.xx
httpheader HTTP/1.1 200 OK
Content-Type: text/html
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
httpversion 1.0
hu_blocking 0
hu_filecount 2899
hu_port 80
hu_portSfx
ignoreredirects 0
loglevel 4
path /xxxx/700/710/712/720/721/8000
protocol http
redirects 0
timeout 30
url http://192.168.x.xx/xxxx/700/710/712/720/721/8000
value 0
Helper:
DBLOG:
Betriebsart:
impDbLog:
TIME 1541144704.77301
VALUE 1
Kennlinie Steilheit:
impDbLog:
TIME 1541144704.77301
VALUE 0.92
Kennlinie Verschiebung:
impDbLog:
TIME 1541144704.77301
VALUE 0.0
Komfortsollwert:
impDbLog:
TIME 1541144704.77301
VALUE 22.0
Reduziertsollwert:
impDbLog:
TIME 1541144704.77301
VALUE 20.0
Status Heizkreis 1:
impDbLog:
TIME 1541144524.75486
VALUE 56
reading5:
impDbLog:
TIME 1540229832.65161
VALUE 122
state:
impDbLog:
TIME 1541144968.92265
VALUE start
OLDREADINGS:
QUEUE:
READINGS:
2018-11-02 08:55:30 Betriebsart 1
2018-11-02 08:55:30 Kennlinie Steilheit 0.92
2018-11-02 08:55:30 Kennlinie Verschiebung 0.0
2018-11-02 08:55:30 Komfortsollwert 22.0
2018-11-02 08:55:30 Reduziertsollwert 20.0
2018-11-02 08:55:30 Status Heizkreis 1 56
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url http://192.168.x.xx/xxxx/700/710/712/720/721/8000
value 0
defptr:
readingBase:
Betriebsart reading
Kennlinie Steilheit reading
Kennlinie Verschiebung reading
Komfortsollwert reading
Reduziertsollwert reading
Status Heizkreis 1 reading
reading5 reading
readingNum:
Betriebsart 0
Kennlinie Steilheit 3
Kennlinie Verschiebung 4
Komfortsollwert 1
Reduziertsollwert 2
Status Heizkreis 1 5
reading5 5
readingOutdated:
requestReadings:
update:
Betriebsart reading 0
Kennlinie Steilheit reading 3
Kennlinie Verschiebung reading 4
Komfortsollwert reading 1
Reduziertsollwert reading 2
Status Heizkreis 1 reading 5
reading5 reading 5
sslargs:
Attributes:
disable 0
enableControlSet 1
event-min-interval .*:1800
event-on-change-reading .*
reading0Name Betriebsart
reading0Regex 700 .*:[ \t]+([-]?[\d\.]+)
reading1Name Komfortsollwert
reading1Regex 710 .*:[ \t]+([-]?[\d\.]+)
reading2Name Reduziertsollwert
reading2Regex 712 .*:[ \t]+([-]?[\d\.]+)
reading3Name Kennlinie Steilheit
reading3Regex 720 .*:[ \t]+([-]?[\d\.]+)
reading4Name Kennlinie Verschiebung
reading4Regex 721 .*:[ \t]+([-]?[\d\.]+)
reading5Name Status Heizkreis 1
reading5Regex 8000 .*:[ \t]+([-]?[\d\.]+)
readingOExpr $val=~s/[\r\n]//g;$val
room Heizung
timeout 30
userattr event-min-interval event-on-change-reading reading0Name reading0Regex reading1Name reading1Regex reading2Name reading2Regex reading3Name reading3Regex reading4Name reading4Regex reading5Name reading5Regex reading6Name reading6Regex reading7Name reading7Regex reading8Name reading8Regex reading9Name reading9Regex readingOExpr timeout webCmd
Hallo Jewe,
das müsste laut Modulhilfe mit dem Attribut readingOMap gehen:
ZitatTo map a raw numerical value to a name, you can use the readingOMap attribute. It defines a mapping from raw values read from the device to visible values like "0:mittig, 1:oberhalb, 2:unterhalb".
Example:
attr PM reading02-3OMap 0:kalt, 1:warm, 2:sehr warm
VG Sebastian
Hallo Sebastian,
vielen Dank. So klappt es super. Das habe ich in der Hilfe doch glatt überlesen.
Jens