Hallo Rudi,
nachdem ein alter Wunsch von mir immer noch besteht und der damals in der Wunschliste von mir eröffnete Thread (http://forum.fhem.de/index.php/topic,20961.0/topicseen.html) immer mal wieder hoch kommt, habe ich mich mal an einem Patch zur Umsetzung gewagt.
(Ich weiß ja inzwischen auch, dass du die Wunschliste ignorierst :) )
Eingeführt würde ein neues Attribut an FHEMWEB, über das gesteuert werden kann, wie der Name eines device in Raumübersichten angezeigt wird. Entweder so wie bisher, das Alias, falls gesetzt. Immer nur der eigentliche Device-Name. Oder eine Zusammensetzung aus Alias und Device-Name.
Der Patch enthält neben der Umsetzung auch gleich die Doku.
Gruß Benni.
Jetzt fehlt mir nur noch die Antwort auf die Frage: Und wozu braucht man sowas?
Wenn jemand im Alias den Device-Namen sehen will, wieso schreibt er es nicht direkt rein?
Weil es manchmal für ein Setup von einem System sehr hilfreich sein kann, wenn man in einer Übersicht den Devicenamen sieht und nicht das Alias.
Der Gedanke dahinter ist, dass man sich einfach eine "Entwicklungs"-Instanz von FHEM-Web anlegen kann, in der dann keine Aliase angezeigt werden, da man für den Aufbau von notify, watchdog, etc. sowieso immer nur den device-Namen benötigt und der in den Übersichten eben nicht sichtbar ist, solange das Alias gesetzt ist (ok, als Tooltip ist er das glaube ich)
In anderen Instanzen soll dann aber auch das Alias (Stichwort "WAF") angezeigt werden und nicht (nur) der Device-Name, was ja dann auch der Fall wäre, wenn dieser im Alias eingetragen ist.
Ich habe was kuerzeres, generischeres und kryptischeres unter dem gleichen Attribut-Namen hinzugefuegt:
ZitatThe argument is perl code, which is executed for each single device in the room to determine the name displayed. $d is the name of the current device, and $devName is the value of the alias attribute or the name of the device, if no alias is set. E.g. you can add a a global userattr named alias_hu for the Hungarian translation, and specify nameDisplay for the hungarian FHEMWEB instance as
AttrVal($d, "alias_hu", $devName)
Die Uebersetzung fuer euer Patch:
- devicename: attr FHEMWEB nameDisplay $d
- concat: attr FHEMWEB nameDisplay '$d - "$devName"'
- alias: deleteattr FHEMWEB nameDisplay
@rudi: wäre es vielleicht sinnvoll statt $d und $devName besser $DEVICE und $ALIAS zu verwenden? das ist glaube ich sprechender und wäre konsistent mit readingsGroup, readingsProxy und readingsHistory und es wäre nicht noch einen dritte neue variante (neben $name z.b. in notify und userReadings).
gruß
andre
Danke Rudi!
Gefällt mir sehr gut! Auch der weitere Anwendungsfall zur Lokalisierung!
Den Einwurf von Andre finde ich übrigens auch berechtigt.
Habs geaendert.