Hallo,
ich möchte in einem Device ein Icon (Fenster auf/zu) und einen Text (temperatur_real) anzeigen.
Leider bekomme ich es nicht hin.
Das hilft mir nicht weiter:
https://forum.fhem.de/index.php/topic,97586.0.html (https://forum.fhem.de/index.php/topic,97586.0.html)
Internals:
DEF sensor 4 1 IODev=deCONZ
FUUID 5d177d50-f33f-cd72-1dfd-f2982c28fdc08130
FVERSION 31_HUEDevice.pm:0.205260/2019-11-17
ID S4
INTERVAL 1
IODev deCONZ
NAME Fenster_Buero
NR 313
STATE open\
closed\
<br>\
15°C
TYPE HUEDevice
lastupdated 2019-11-21 16:12:06
lastupdated_local 2019-11-21 17:12:06
manufacturername LUMI
modelid lumi.sensor_magnet.aq2
name Fenster_Buero
on 1
reachable 1
swversion 20161128
type ZHAOpenClose
uniqueid 00:15:8d:00:03:09:c1:2f-01-0006
READINGS:
2019-11-21 17:12:06 battery 81
2019-11-21 17:12:06 reachable 1
2019-11-21 17:12:06 state closed
2019-11-21 17:12:06 temperatur_real 15
2019-11-21 17:12:06 temperature 19
helper:
devtype S
reachable 0
update_timeout 1
configList:
setList:
Attributes:
HomeContactType window
HomeModeAlarmActive armaway
HomeOpenMaxTrigger 3
HomeOpenTimeDividers 2 1 2 3
HomeOpenTimes 30
IODev deCONZ
alexaName Bürofenster
alexaRoom Büro
alias Bürofenster
devStateIcon open:fts_window_1w_open@#e56524 closed:fts_window_1w
genericDeviceType contact
group Fenster-/Türkontakte
homebridgeMapping clear ContactSensorState:state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED
icon fts_window_1w
room HUEDevice
stateFormat open\
closed\
<br>\
temperatur_real°C
userReadings temperatur_real:temperature.* {ReadingsVal("Fenster_Buero","temperature",0)-4}
userattr HomeModeAlarmActive HomeReadings HomeValues HomeContactType:doorinside,dooroutside,doormain,window HomeOpenMaxTrigger HomeOpenDontTriggerModes HomeOpenDontTriggerModesResidents HomeOpenTimeDividers HomeOpenTimes
Vielleicht kann mir jemand auf die Sprünge helfen.
Vielen Dank und Gruß
Dieter
ersetze mal die ersten beiden Angabenopen\
closed\
durch "state\", also erste Zeile
attr <device>stateFormat state\
...
Meinst Du so etwas? Klappt mit devStateIcon (in 'seit' ist der readingsText)
{my $icon = FW_makeImage('fts_door@green'); $icon = FW_makeImage('fts_door_open@red') if(ReadingsVal($name, "state", "off") eq "open"); return "<div>" . $icon . " ". (ReadingsVal($name,"seit","")) .'</div>' ; }
Zitat von: Beta-User am 21 November 2019, 18:01:57
ersetze mal die ersten beiden Angabenopen\
closed\
durch "state\", also erste Zeile
attr <device>stateFormat state\
...
Danke für die Hilfe.
Jetzt stimmt nur das devStateicon nicht mehr.
An Stelle des Icon steht jetzt open und closed.
So etwas funktioniert bei mir mit der Batterie auch
Attributes:
devStateIcon devStateIcon ok:measure_battery_100@green low:measure_battery_0@red
model HM-TC-IT-WM-W-EU
room 2.0 Sensor -> Temp
stateFormat [$name:obs] [$name:measured-temp] °C [$name:humidity] % [HM_Thermometer:batteryLevel]
[HM_Thermometer:battery]
Zitat von: jkriegl am 21 November 2019, 19:17:59
So etwas funktioniert bei mir mit der Batterie auch
Attributes:
devStateIcon devStateIcon ok:measure_battery_100@green low:measure_battery_0@red
model HM-TC-IT-WM-W-EU
room 2.0 Sensor -> Temp
stateFormat [$name:obs] [$name:measured-temp] °C [$name:humidity] % [HM_Thermometer:batteryLevel]
[HM_Thermometer:battery]
Auch dir Danke für die Hilfe.
Wie zuvor wird das devStateIcon nicht mehr angezeigt, nur noch der Text open / closed.
Attributes:
devStateIcon open:fts_window_1w_open@#e56524 closed:fts_window_1w
stateFormat [$name:state] [$name:temperatur_real] °C
userReadings temperatur_real:temperature.* {ReadingsVal("Fenster_Gaestezimmer","temperature",0)-4}
Bei mir steht da nocheinmal devStateIcon und im stateFormat ist [HM_Thermometer:battery] in einer neuen Zeile.
So funktioniert es, kann mich aber nicht mehr erinnern warum.
Weil die regex für die Multi-Icon-Variante zeilenweise arbeitet und den mit stateFormat erzeigten STATE analysiert (uU. ist ein Leerzeichen am Ende jeder Zeile sinnvoll). Deswegen war da auch der Zeilenumbruch mit hinter state gestanden, der ist wohl bei der Übernahme in das Device des TE entfallen, was aber nicht klar wird, wenn man kein vollständiges list (oder RAW) liefert...
Weitere Beispiele sind in https://wiki.fhem.de/wiki/DeviceOverview_anpassen#devStateIcon (https://wiki.fhem.de/wiki/DeviceOverview_anpassen#devStateIcon) zu finden.
Kaum macht man´s richtig, funktioniert es ;)
Vielen Dank für die Hilfe und schönes Wochenende.
Gruß Dieter
Bei mir klappt es auch, aber das icon wird nicht wie gewünscht rot, s. Anhang
attr TFK_Bad devStateIcon 1.close:fts_door@green 1.open:fts_door_open@red\ 2.ok:measure_battery_100@green 2.low:measure_battery_0@red
attr TFK_Bad event-on-change-reading state
attr TFK_Bad stateFormat seit\
1:state\
2:battery
edit: mit der Leerstelle klappt das auch.