Anregung: Einklappen/Collapse für Bereiche (Internals, Readings...)

Begonnen von Adimarantis, 30 März 2023, 22:24:05

Vorheriges Thema - Nächstes Thema

Adimarantis

Ich fände eine Möglichkeit die einzelnen Bereiche (speziell in f18) ein/ausklappen zu können.
Idealerweise wird der Zustand Raum/Device/Bereichsweise gemerkt.
Anwendung:
-Bei vielen Modulen interessieren die Internals nur gelegentlich. Könnte man die Einklappen wären die Readings deutlich prominenter sichtbar
-Manche Module haben ewig viele Readings (z.B. HM Thermostate) oder Attribute (z.B. HTTPMOD). Ein Einklappen würde die "Scrollerrei" verringern
-In Räumen gibt es Gruppen die man weniger oft braucht. Einklappen erhöht hier die Übersichtlichkeit
....

Ich weiss, wünschen kann man sich viel, aber es ist ja bald Ostern :)

Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

rudolfkoenig


Adimarantis

Das ist tatsächlich was ich suche. Bin nur nicht drauf gekommen das "Hide Pin" etwas mit collapse/expand zu tun hat.
Hatte das sogar schon mal aktiviert aber mit "anpinnen" verbunden (und gar nicht weiter probiert) und nur gesehen, das man diesen "Pin" damit ein/ausblenden kann.

Intuitiver fände ich, ein "+/-" oder ein Dreieck/Pfeil nach oben/unten wie man das sonst häufig sieht (z.B. bei MS OneNote)
Das dann auch eher am linken Rand - aber das ist wohl Geschmackssache. Funktionalität ist zumindest da.

Danke.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

Jetzt hab ichs mir nochmal genau angeschaut.
Wenn ich die "Internals" bei einem Device verstecke, sind die überall versteckt. Das hat mich gleichmal irritiert.
Das wäre besser "by device" - es gibt devices da sind die Internals sehr wichtig (z.B. beim DOIF wo die Definition die wichtigste Stelle ist) - bei anderen eher nicht.

Übrigens Stichwort DOIF und Definition - kann man die Defaulgrösse des Editors für DEF beinflussen? Für komplexe DOIFs muss ich das jedes Mal größer ziehen.

Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

rudolfkoenig

Zitatkann man die Defaulgrösse des Editors für DEF beinflussen?
Ja per CSS:
div#edit textarea { width: 735px; height: 502px;}

TomLee


Adimarantis

Und wieder was gelernt.
Das mit dem Codemirror schaut richtig gut aus. Wie oft bin ich schon an fehlenden Klammern in DOIFs verzweifelt....
Danke.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

Jetzt aber vielleicht nochmal zurück zum Einklappen bzw. der "Hide Pin" Funktion.
Ich denke was ich wirklich suche, ist eine Möglichkeit Dinge auszublenden, die ich normalerweise nicht brauche.
Das sind jetzt nicht zwingend immer ganze Sektionen sondern oft einzelne Internals, Readings, Attribute ....

Jetzt hat hier natürlich jeder seine eigenen Präferenzen. Ich hätte aber eine Idee wie man das hoffentlich recht einfach und auch "rückwärtkompatibel" realisieren könnte. Wollte schon mal sehen ob ich das selber hinkriege, aber dafür verstehe ich zuwenig wie ich in fhemweb.js Attribute des aktuellen Device abfragen könnte.

Idee:
- Statt beim Hide Pin das style="display: none;" auf Ebene der ganzen Tabelle eines Bereichs anzuwenden, kommt dieses in jede Zeile (odd/even class)
- Dabei wird ein Attribut des Device ausgewertet (z.B. "doNotHide") welches eine Liste von Namen enthält
- Wenn der Name eines Internals, Readings, Attributs in dieser Liste vorkommt, wird es mit dem Hide Pin eben NICHT versteckt

Solange man also das neue Attribut nicht setzt, funktioniert alles wie vorher.
Wenn ich dann aber z.B. für DOIF das doNotHide=DEF,cmd,state setze und "Internals und Readings" mit den Hide Pin verstecke, dann sehe ich eben immer noch diese 3 Infos, die mir jetzt die wichtigsten wären. Bei Homematic Devices, wären es dann je nach Device die wichtigsten Readings und wahrscheinlich gar keine Internals etc.

@Rudi: Wäre das so einfach zu realisieren, wie ich mir das vorstelle? Wahrscheinlich steckt der Teufel mal wieder im Detail....

Um FHEM für Einsteiger übersichtlicher zu machen, könnte man dann auch überlegen, dass Modulautoren hier einen Default setzen mit dem das Device erstmal schlanker wird.
Alternativ dazu hier den "Hide Pin" zu verwenden könnte man hier natürlich auch anderweitig zwischen "Expert" und "Simple" Mode umschalten (genereller Switch in der Kopfzeile) und dann "Simple" as Default nehmen. Um Verwirrungen zu vermeiden, solange es noch nicht für alle Module Defaults gibt, sollte allerdings bei leeren Attribut immer noch alles angezeigt werden.


Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

rudolfkoenig

Realisieren kann man diesen Vorschlag vermutlich, nur bin ich noch nicht ueberzeugt, dass ein neuer Mechanismus zum Ausblenden einzelner Zeilen sinnvoll ist.

Modulautoren koennen jetzt schon einzelne Internals/Readings ausblenden, wenn der Name mit einem Punkt anfaengt.

Adimarantis

Wirklich versteckte Readings sind ja auch nicht für die Allgemeinheit gedacht.
Mein Vorschlag dient der Übersichtlichkeit und ggf. auch um FHEM einsteigerfreundlicher zu machen.
Desweiteren gibt es viele Internals die der Modulautor nicht ausblenden kann, weil die standardmässig gesetzt sind - aber für die normale Benutzung nicht benötigt werden (z.B. FUUID, NR).
Liessen sich selten benutzte Zeilen ausblenden, hätte man schnell einen Überblick - ohne zu scrollen und zu suchen.
Wenn man dann aber mehr Details braucht (weil man Fehler sucht, DOIFs, NOTIFYs etc. baut), wären die fehlenden Einträge mit einem Klick wieder da.
Und letztendlich hat hier ja jeder eigene Präferenzen und Anwendungsfälle.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)