[patch] - 01_FHEMWEB.pm - Anzeige device-Name und/oder alias

Begonnen von Benni, 21 Mai 2015, 09:13:48

Vorheriges Thema - Nächstes Thema

Benni

Hallo Rudi,

nachdem ein alter Wunsch von mir immer noch besteht und der damals in der Wunschliste von mir eröffnete Thread 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.

rudolfkoenig

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?

gloob

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.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Benni

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.

rudolfkoenig

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

justme1968

#5
@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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Benni

Danke Rudi!

Gefällt mir sehr gut! Auch der weitere Anwendungsfall zur Lokalisierung!

Den Einwurf von Andre finde ich übrigens auch berechtigt.


rudolfkoenig