FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: wopl am 07 Juni 2016, 10:48:47

Titel: Default State Icon
Beitrag von: wopl am 07 Juni 2016, 10:48:47
Hallo allerseits,
ich versuche ein Device mit mehreren Icons aufzuhübschen. Das geht ja über das Attribut devStateIcon.
Jetzt möchte ich aber (nehmen wir das Beispiel eines Dimmers) neben "on" und "off" alle restlichen Zustände mit einem dritten Icon belegen. Nachdem ich keinen "Default" gefunden habe, dachte ich mir, es müßte doch mit einer regex funktionieren.
In etwa so:

attr dimmer devStateIcon on:onIcon:off off:offIcon:on ^(?!on)(?!off):defaultIcon:off

Also ich möchte das defaultIcon immer dann anzeigen, wenn der Zustand weder "on" noch "off" ist.

Der Online regex-Tester ist mit meiner Syntax einverstanden, aber in FHEM wird das defaultIcon nicht angezeigt.
Muß ich hier noch was escapen oder klammern... oder oder oder??

Dank für Eure Tips.
Gruß Wolfram
Titel: Antw:Default State Icon
Beitrag von: marvin78 am 07 Juni 2016, 11:22:43
Lass mal ^ weg. Ich habe im Hinterkopf, dass FHEM das automatisch einfügt. Ohne Gewähr.

Sorry. Das funktioniert nicht. Ich habe es getestet.
Titel: Default State Icon
Beitrag von: justme1968 am 07 Juni 2016, 11:53:41
devStateIcon wird von links nach rechts ausgewertet und der erste match verwenden. da on und off schon erledigt sind reicht für alles andere .* als regex.

da FHEM automatisch ein ^ an den anfang und ein $ ans ende der regex baut musst du bei der lookahead version  noch ein .* anhängen.

gruss
  andre
Titel: Antw:Default State Icon
Beitrag von: wopl am 07 Juni 2016, 12:04:22
Klasse meine regex funktioniert so:

attr dimmer devStateIcon on:onIcon:off off:offIcon:on (?!on)(?!off).*:defaultIcon:off

Und der Default via .* ganz rechts ist auch genial... vielleicht ein zusätzlicher Satz in die commandref?

attr dimmer devStateIcon on:onIcon:off off:offIcon:on .*:defaultIcon:off

Vielen Dank, hier bleibt kein Problem unbeantwortet !
Gruß Wolfram