[Problem] device-spezifische Attribute erkennen - wie?

Begonnen von betateilchen, 20 Mai 2014, 23:54:42

Vorheriges Thema - Nächstes Thema

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

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 :)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

svenson08

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?

betateilchen

#3
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...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

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

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

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

svenson08

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.

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!