Patch: Mehrspalten-Modus in FHEMWEB

Begonnen von Damian, 02 November 2013, 09:38:04

Vorheriges Thema - Nächstes Thema

cwagner

So nun habe ich die neue Version auch begonnen zu testen und kann neben der Wiederholung des Lobs schon mal eine Erfahrung beisteuern. Ich hatte in der vorherigen Version 6 Räume mit bis zu zwei zusätzlichen Spalten definiert und habe ein wenig blauäugig die 01_FHEMWEB.pm einfach mit dieser neuen überschrieben, die Änderung in der CSS nachvollzogen und dann reload.
Da tat sich dann aber erst einmal minutenlang gar nichts, weil ich ja noch die alte Semikolon-Notation drinne hatte, vermute ich mal. Irgendwann sah ich dann wieder mein FHEM, etwas derangiert und einspaltig, die attrib column-Zeile korrigiert und nun "löpt" es.
Beim nächste Mal würde ich die Semikolons vorher durch die Pipe ersetzen, dann den reload (oder Neustart) machen.

Da die Attribut-Zeile schon bei mir sehr umfangreich ist, wäre es aus meiner Sicht positiv, wenn es ein Attribut je Raum gäbe. Vermutlich gibt es ja eine globale Variable, aus der heraus die Liste der Räume auszulesen ist und dann müsste FHEMWEB eben ein attr column_RaumA... attr column RaumZ haben, oder?

Herzliche Grüße

Christian

P.S.: Eine Fehlermeldung wegen der Semikolos habe ich auch gefunden:
2013.11.14 06:35:14 1: reload: Error:Modul 01_FHEMWEB deactivated:
Too many arguments for main::FW_getcolumn at ./FHEM/01_FHEMWEB.pm line 1106, near "%h_maxcol)"
BEGIN not safe after errors--compilation aborted at ./FHEM/01_FHEMWEB.pm line 1155.
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Damian

Zitat von: cwagner am 14 November 2013, 08:01:48
P.S.: Eine Fehlermeldung wegen der Semikolos habe ich auch gefunden:
2013.11.14 06:35:14 1: reload: Error:Modul 01_FHEMWEB deactivated:
Too many arguments for main::FW_getcolumn at ./FHEM/01_FHEMWEB.pm line 1106, near "%h_maxcol)"
BEGIN not safe after errors--compilation aborted at ./FHEM/01_FHEMWEB.pm line 1155.

Hallo Christian,

ich kann die Fehlermeldung bei mir nicht reproduzieren. Hast du noch den column-String, wo dieser Fehler auftrat?

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

cwagner

Hallo Damian,

aus der Datensicherung kann ich Dir die Definition vor dem Wechsel anbieten:
define WEB FHEMWEB 8083 global
attr WEB column InArbeit:at,dummy,eventTypes,notify,threeStateSensor Heizung:Räume,Warmwasser,thermostat Rollladen:at,notify,remote,structure Unsorted:FHEMWEB;;autocreate,switch;;FileLog Wetter:FileLog,THSensor,rain,average,dewpoint PID:PID,dummy;;Heating_Control
attr WEB plotmode SVG
attr WEB plotsize 1400,260
attr WEB stylesheetPrefix dark

Wie gesagt: Es läuft jetzt und ich bin sehr angetan von dieser Anpassung.

Herzliche Grüße Christian
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Damian

Hallo Christian,

dein String liefert bei mir keine Fehlermeldung mit der aktuellen Version.

Da muss noch etwas anders im Argen gelegen haben.

Die Sache mit der langen Definition in einem Attribut habe ich bereits vorher schon befürchtet. Leider gibt es keine Attribute zu Räumen in FHEM.

Den Vorschlag mit column_<Raumname> müsste ich noch eruieren, sonst wird die Definitionszeile bei vielen Räumen wirklich unüberschaubar.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Gerhard

Hallo Damian,

zuerst klasse, für Weitermachen!

Zitat3) inline styles wurden entfernt, statt dessen gibt es eine class column, dadurch lassen sich Anpassungen in der css vornehmen. Der Nachteil ist, dass in den enstprechenden css-Dateien der Eintrag:

.column  { padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top;}

vorgenommen werden muss, damit alle Spalten vertikal oben ausgerichtet sind und kein unnötiger Leerraum zwischen den Spalten entsteht.

in welcher css Datei, und wo genau?

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

Puschel74

Hallo,

das kommt drauf an welchen style du nutzt.

Ich hab z.B. den darkstyle also muss in der darkstyle.css die Zeile eingefügt werden.
Die Dateien findest du unter fhem/www/pgm2.
Eingefügt habe ich die Zeile hier

Zitata { color: #CCCCCC; text-decoration: none;}
a:hover { color: #ffffff; }
.wide { width:100%; }
.column  { padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top;}
table.block { border:1px solid #ffffff; width: 100%;

und klappt auch ohne einen reload bzw. neustart von fhem.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Gerhard

o.k.

danke Puschel74!

@Damian: habe umgestellt und funktioniert Alles wie die Version davor, also wie erwartet, cool!

wie geht es weiter? @all: könntet ihr auch euer feedback geben, wenn getestet?

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

rudolfkoenig

Habe den Code angepasst und eingecheckt.

Semantische Aenderung: Falls ein Raum in column erwaehnt wird, dann muessen alle Gruppen spezifiert werden, also auch die erste Spalte.

Keine Aenderung, aber man sollte es wissen: manche Elemente wie readingsGroup und Plots werden erst dann mehrspaltig, falls man diesen Elementen ein group Attribut zuweist (mit den bekannten Seiteneffekten)

Fuer Smallscreen ist zwar dieser feature auch aktiv, wird aber nicht unterstuetzt, also bitte keine Beschwerden.

justme1968

wie wäre es wenn man für plots, readingsGroup, weblink und co den namen nicht vor sondern unter oder über den rahmen schreibt sobald das element in einer group ist? das würde sehr viel platz sparen.

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

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

rudolfkoenig

Ja, weiss ich aber nicht wie (ohne extra Tabelle, etc). Wenn jemand was kleines, elegantes hat, wieso nicht.
Gegenvorschlag: fuer solches Elemente gar keinen Namen anzeigen.

justme1968

#55
für die readingsGroup ist ohne namen gar kein problem. ich blende sowieso den Namen als klickbaren link darüber ein. bei den plots könnte zumindest ich auch auf den namen verzichten. dir haben ja alle einen titel. oder man baut den namen ins datum mit ein und ist da ja auch anklickbar.

den weblinks könnte man unabhängig von einer group mitgliedschaft  auch einen solchen klickbbaren label verpassen. ich hab mich schon ein paar man geärgert das man nicht einfach in die detailansicht eines weblink kommt.

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

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

rudolfkoenig

Ich habe jetzt fuer solche Elemente (normalerweise am Ende, aber mit group Attribut) jetzt den Namen entfernt. Ist noch nicht perfekt, weil der Tabellenrahmen fuer solche Faelle eigentlich auch ueberfluessig ist. Allerdings nicht, wenn da auch andere "normale" Elemente in der Grupe sind.

Damian

#57
Hallo Rudi,

es freut mich, und sicherlich viele FHEMer auch, dass du den Mehrspalten-Modus eingebaut hast.

Dass man jetzt alle Räume angeben muss ist sicherlich konsequent, wird aber auf der anderen Seite das Problem einer langen und damit unübersichtlichen column-Zeile eher verschärfen. Es fehlen eigentlich Attribute der Räume, dann könnte man so etwas elegant pro Raum definieren.

Während der Default-Style sauber funktioniert, wird der Dark-Style im Mehrspaltenmodus mit den von dir angepassten css-Files ohne Abstand nicht sauber dargestellt (siehe Anhang).

Dass die Namen der Plots in der Gruppe nicht angezeigt werden, finde ich ok, aber wie kann ich nun meine Plots editieren, wenn sie alle in einer Gruppe liegen?

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

wkarl

Hallo,

hab nun angefangen die Funktion column umzusetzen. Allerdings nutze ich diese pro Raum was dazu führt, dass dieattr WEB column ... Zeile immens lang wird.

Gibt es eine Möglichkeit die Definition 'strukturierter' darzustellen? Mit '\' habe ich es schon versucht, das funktioniert leider nicht.

Danke schon mal und ciao
walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

Jaydee

Wie schafft ihr es, dass eure Spalten so schmal sind? Bei mir wird beim FHEM-Web immer ewig viel Platz durch Lücken verschenkt (siehe Anhang). Und das ist jetzt nicht nur bei der normalen einspaltigen Ansicht, sondern auch bei mehreren Spalten, wodurch das Ganze für mich eingentlich nicht wirklich nutzbar ist, da schon eine zweite Spalte weit aus dem sichtbaren Bild rausscrollt...

Gruß
Jan