FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: betateilchen am 20 Mai 2014, 23:54:42

Titel: [Problem] device-spezifische Attribute erkennen - wie?
Beitrag von: betateilchen am 20 Mai 2014, 23:54:42
Inzwischen wird durch unzählige Module (structure, DbLog, usw) die "allgemeine" Attributliste immer länger und unübersichtlicher.

(http://up.picr.de/18349780td.png)

Wie soll man da als Anwender noch erkennen, welche Attribute sich nun wirklich auf das gerade ausgewählte Device in der Detailansiche beziehen? Noch dazu, wo bei weitem nicht alle Attribute überhaupt bei jedem Device Sinn machen (die structure-Attribute haben hier beispielsweise überhaupt keinen Zweck)

Könnte man nicht (künftig) die in einem Modul festgelegten Attribute schon bei der Entwicklung irgendwie so benennen, dass sich ein Zusammenhang zum gerade bearbeiteten Device (bzw. Modul) herstellen lässt? Beispielsweise wäre das durch ein Präfix möglich, wie im Modul GDS bereits von Anfang an umgesetzt:

(http://up.picr.de/18349794eo.png)

Alle Attribute, die sich direkt auf das GDS-Device beziehen, beginnen mit dem Präfix gds und stehen somit auch in der Liste alle hintereinander. Im obigen langen Beispiel wäre beispielsweise ein Präfix "rh" (für readingsHistory) denkbar.
Titel: Antw:[Problem] device-spezifische Attribute erkennen - wie?
Beitrag von: justme1968 am 21 Mai 2014, 00:47:54
die idee ist gut aber ich fürchte nur für neue devices umstzbar.

wie wäre zumindest in der drop down liste (und in der attr ? liste) die device spezifischen attribute zusammen an den anfang zu sortieren und sie globalen erst danach?

das würde auch bei alten devices für etwas mehr übersichtlichkeit sorgen. auch wenn es mal wieder eine frontend ansatz ist :)
Titel: Antw:[Problem] device-spezifische Attribute erkennen - wie?
Beitrag von: svenson08 am 21 Mai 2014, 06:09:42
Zitatdevice spezifischen attribute zusammen an den anfang zu sortieren und sie globalen erst danach
Ich weis nicht ob es nur mir so geht, aber beim suchen eines Attributs gehe ich nach dem Alphabet vor. Die vorgeschlagene Lösung macht das Auffinden von Attributen eher schlechter.

Zitatdie "allgemeine" Attributliste immer länger und unübersichtlicher
Der Vorschlag von betateilchen löst begrenzt die Unübersichtlichkeit nicht aber die "Überlänge" der Attributliste.

Kann man dem Modulautoren nicht eine Möglichkeit geben nur bestimmte Attribute zu erben?
Titel: Antw:[Problem] device-spezifische Attribute erkennen - wie?
Beitrag von: betateilchen am 21 Mai 2014, 09:12:28
Zitat von: svenson08 am 21 Mai 2014, 06:09:42
Ich weis nicht ob es nur mir so geht, aber beim suchen eines Attributs gehe ich nach dem Alphabet vor.

Dazu musst Du aber erstmal wissen, welches Attribut Du überhaupt suchen willst. Und erzähle mir jetzt bitte nicht, dass Du von jedem Modul, das Du verwendest, alle moduleigenen Attribute auswendig kennst.

Achja: Und bei Deiner Vorgehensweise musst Du auch noch exakt wissen, ob das Attribut mit einem Groß- oder einem Kleinbuchstaben beginnt...
Titel: Antw:[Problem] device-spezifische Attribute erkennen - wie?
Beitrag von: justme1968 am 21 Mai 2014, 09:27:10
wenn die lokalen attribute alphabetisch sortiert am anfang stehen ist die chance glaube ich recht hoch das du schnell findest was du suchst wenn hauptsächlich lokale attribute bearbeitet werden und du von oben nach unten suchst.

wenn die liste an sich zu lang wird müssen wir sie kürzer machen. ein ansatz dazu ist lokal und global zu trennen. das ist sicher nicht so gut wie modul weise zu trennen. dafür ist es ohne änderung an den modulen möglich.

man kann ja auch beide ansätze kombinieren. die lange liste wird eine zweistufige hierarchie. zuerst jeweils der modul name aus dem das attribut kommt und erst auf zweiter ebene wirklich die attribute.

was das sortieren angeht: das kann man durchaus aus case insensitiv machen. ich weiß aber nicht ob das besser ist.
Titel: Antw:[Problem] device-spezifische Attribute erkennen - wie?
Beitrag von: betateilchen am 21 Mai 2014, 09:32:30
Zitat von: justme1968 am 21 Mai 2014, 09:27:10
wenn die lokalen attribute alphabetisch sortiert am anfang stehen

tun sie aber nicht.

Zitat von: justme1968 am 21 Mai 2014, 09:27:10
die lange liste wird eine zweistufige hierarchie.

Bitte nicht. Das klingt schon wieder nach einer schlimmen Javascript-Orgie.

Zitat von: justme1968 am 21 Mai 2014, 09:27:10
was das sortieren angeht: das kann man durchaus aus case insensitiv machen. ich weiß aber nicht ob das besser ist.

Weiss ich auch nicht.
Titel: Antw:[Problem] device-spezifische Attribute erkennen - wie?
Beitrag von: justme1968 am 21 Mai 2014, 09:36:08

Zitat von: betateilchen am 21 Mai 2014, 09:32:30
tun sie aber nicht.

könnten sie aber
Titel: Antw:[Problem] device-spezifische Attribute erkennen - wie?
Beitrag von: svenson08 am 21 Mai 2014, 10:07:17
ZitatDazu musst Du aber erstmal wissen, welches Attribut Du überhaupt suchen willst.

Geh mal davon aus das ich ein Attribut in einer Liste suche, und ich in der commandref vorher fündig geworden bin. Dann suche ich gezielt in der Liste. Und darauf bezog sich meine Vorgehensweise. Ich orientiere mich gerne nach dem Alphabet, das liegt mir eben 8)
Jeder mag da anders vorgehen, darum hab ich meine Antwort auf mich bezogen und nicht verallgemeinert.

ZitatUnd erzähle mir jetzt bitte nicht, dass Du von jedem Modul, das Du verwendest, alle moduleigenen Attribute auswendig kennst.
Interpretiert da nicht soviel rein. Ich hab das auch nicht andeuten wollen. Obwohl ich bei den gängigen die meist genutzten sehr wohl kenne und auch deren Funktion, aber zugegeben nicht von jedem Modul.

ZitatAchja: Und bei Deiner Vorgehensweise musst Du auch noch exakt wissen, ob das Attribut mit einem Groß- oder einem Kleinbuchstaben beginnt...
Wäre halt schön wenn die Sortierung nicht casesensitiv erfolgen könnte.
Titel: Antw:[Problem] device-spezifische Attribute erkennen - wie?
Beitrag von: betateilchen am 21 Mai 2014, 10:17:51
Zitat von: svenson08 am 21 Mai 2014, 10:07:17
Geh mal davon aus das ich ein Attribut in einer Liste suche, und ich in der commandref vorher fündig geworden bin.

Ich will nicht vor jeder Attributsuche die commandref durchforsten müssen, zumal dann nicht, wenn ich genau weiß, dass es für aktuelle Anforderung ein Attribut gibt und ich nur den Namen nicht genau weiss.