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
Lass mal ^ weg. Ich habe im Hinterkopf, dass FHEM das automatisch einfügt. Ohne Gewähr.
Sorry. Das funktioniert nicht. Ich habe es getestet.
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
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