Hallo,
ich habe eine readingsGroup für die Termine aus dem Abfallkalender. Die Tabelle soll jetzt nach dem nächsten fälligen Termin sortiert werden. Dazu habe ich "sortColumn" gesetzt. Es wird aber nur sortiert, wenn ich die Spalte anklicke. Beim ersten Anzeigen sieht die Liste so aus wie im Screenshot. Hier mal ein list:
Internals:
CFGFN
DEF Abfall:<Tag>,<Datum>,<>,<Ereignis>,<Tage>
Abfall:Restabfall_wochentag,Restabfall_datum,<%dustbin>,Restabfall_text,Restabfall_tage
Abfall:Altpapier_wochentag,Altpapier_datum,<%dustbin@04D921>,Altpapier_text,Altpapier_tage
Abfall:Bioabfall_wochentag,Bioabfall_datum,<%dustbin@D2691E>,Bioabfall_text,Bioabfall_tage
Abfall:GelberSack_wochentag,GelberSack_datum,<%dustbin@FFFF00>,GelberSack_text,GelberSack_tage
Abfall:Sperrmuell_wochentag,Sperrmuell_datum,<%scene_livingroom@01A3F5>,Sperrmuell_text,Sperrmuell_tage
Abfall:Gruenabfall_wochentag,Gruenabfall_datum,<%christmas_tree@2B6B17>,Gruenabfall_text,Gruenabfall_tage
Abfall:Weihnachtsbaeume_wochentag,Weihnachtsbaeume_datum,<%christmas_tree@2B6B17>,Weihnachtsbaeume_text,Weihnachtsbaeume_tage
NAME rgAbfallkalender
NR 17
NTFY_ORDER 50-rgAbfallkalender
STATE Initialized
TYPE readingsGroup
mayBeVisible 1
Content:
Abfall 1
Content2:
DEVICES:
ARRAY(0x5261e48)
ARRAY(0x51a5810)
ARRAY(0x52617b8)
ARRAY(0x52f2080)
ARRAY(0x1a2e330)
ARRAY(0x5221530)
ARRAY(0x5221518)
ARRAY(0x160ed80)
Fhem:
lastDefChange 4
last_update 1483602702.23965
Helper:
DEF
valueStyle { if ($READING eq "*._tage" && $VALUE == 0) { 'style="color:red"'}
elsif ($READING eq "*._tage" && $VALUE == 1 ) { 'style="color:yellow"'}
elsif ($READING eq "*._tage" && $VALUE > 1 && $VALUE < 8) { 'style="color:green"'} }
Positions:
Abfall.Altpapier_datum 3:2
Abfall.Altpapier_tage 3:5
Abfall.Altpapier_text 3:4
Abfall.Altpapier_wochentag 3:1
Abfall.Bioabfall_datum 4:2
Abfall.Bioabfall_tage 4:5
Abfall.Bioabfall_text 4:4
Abfall.Bioabfall_wochentag 4:1
Abfall.GelberSack_datum 5:2
Abfall.GelberSack_tage 5:5
Abfall.GelberSack_text 5:4
Abfall.GelberSack_wochentag 5:1
Abfall.Gruenabfall_datum 7:2
Abfall.Gruenabfall_tage 7:5
Abfall.Gruenabfall_text 7:4
Abfall.Gruenabfall_wochentag 7:1
Abfall.Restabfall_datum 2:2
Abfall.Restabfall_tage 2:5
Abfall.Restabfall_text 2:4
Abfall.Restabfall_wochentag 2:1
Abfall.Sperrmuell_datum 6:2
Abfall.Sperrmuell_tage 6:5
Abfall.Sperrmuell_text 6:4
Abfall.Sperrmuell_wochentag 6:1
Abfall.Weihnachtsbaeume_datum 8:2
Abfall.Weihnachtsbaeume_tage 8:5
Abfall.Weihnachtsbaeume_text 8:4
Abfall.Weihnachtsbaeume_wochentag 8:1
Values:
formated:
undef
ARRAY(0x5261170)
ARRAY(0x4f10f48)
undef
ARRAY(0x51a4fb8)
ARRAY(0x5233e40)
orig:
undef
ARRAY(0x51fde30)
ARRAY(0x525b2b8)
undef
ARRAY(0x52f02f8)
ARRAY(0x53197f0)
prefixsuffix:
undef
ARRAY(0x516a068)
ARRAY(0x183ee40)
undef
ARRAY(0x51a4f10)
ARRAY(0x52522d8)
Attributes:
alias Müllabfuhr
group Termine
nonames 1
room Allgemein
sortColumn 5
sortby 1
valueStyle { if ($READING eq "*._tage" && $VALUE == 0) { 'style="color:red"'}
elsif ($READING eq "*._tage" && $VALUE == 1 ) { 'style="color:yellow"'}
elsif ($READING eq "*._tage" && $VALUE > 1 && $VALUE < 8) { 'style="color:green"'} }
Wo ich schon dabei bin, ist an meinem "valueStyle" irgendwas falsch? Ich bekomme die Werte für die Tage nämlich gar nicht gefärbt.
{ if ($READING eq "*._tage" && $VALUE == 0) { 'style="color:red"'}
elsif ($READING eq "*._tage" && $VALUE == 1 ) { 'style="color:yellow"'}
elsif ($READING eq "*._tage" && $VALUE > 1 && $VALUE < 8) { 'style="color:green"'} }
bitte ändere in fhemweb_readingsGroup.js in zeile 10 die 100 mal auf 500
noch größer und schau ob es dann geht.
eine regex wird nicht mit eq verglichen sondern mit =~
wenn du das $READING nur ein mal anfang mit !~ auf ungleich .*tage vergleichst und hier $VALUE zurück gibts sparrst du dir die anderen regex vergleiche später.
gruss
andre
Ich habe den Wert auf 500 geändert, aber ohne Verbesserung.
Der Wert von sortColumn soll doch die Spalte angeben, nach der sortiert wird, oder? Nach der Änderung kann ich nämlich jetzt jede Spalte anklicken und es wird entsprechend sortiert. Nur die Vorgabe von "sortiere nach Spalte 5" wird nicht ausgeführt.
Regex klappt jetzt auch. Beim Sortieren wird übrigens die Einfärbung der Zeilen nicht angepaßt. Unsortiert sind die Zeilen abwechselnd hell und dunkel gefärbt, nach dem Sortieren behalten die jeweiligen Zeilen aber ihren Hintergrund, wodurch dann z.B. 2x hell hintereinander kommt. (vorher - nachher Screenshots im Anhang)
dann geh mal auf 1000. browser cache löschen nicht vergessen.
der wert gibt an das überhaupt sortiert werden darf und ob automatisch nach einer bestimmten spalte sortiert wird.
schau mal ob es mit einer anderen spalte geht und ob du irgendwelche meldungen in der javascript console hast.
das mit dem zeilen hintergrund steht noch auf der todo liste.
So, hab jetzt 1000 eingestellt. Jetzt wird die RG zwar erst unsortiert angezeigt, wird dann aber sortiert. Auf der JS-Konsole kommt 19:25:47.561 Loading script /fhem/pgm2/sorttable.js
fhem_niceclocks.js:268 niceclocks: Ready. Processing Clock.
fhemweb.js:329 19:25:48.508 Longpoll with filter .*fhemweb.js:329 19:25:53.543 Rcvd:
Auch mit anderen Spalten und negativen Zahlen zur umgekehrten Sortierung funktioniert es jetzt. :)
Wenn es jetzt noch die Möglichkeit gibt, den kleinen Pfeil an der sortierten Spalte auszublenden, wäre das top. ;)
Hallo Andre,
auch wenn es mittlerweile (meistens) funktioniert mit der Sortierung, bekomme ich seit heute Fehlermeldungen als Popup. Siehe seit Update heute (10.01.17): Fehlermeldungen in Popups (https://forum.fhem.de/index.php/topic,64541.0.html)
die pfeile bekommst du so weg: https://forum.fhem.de/index.php/topic,62440.msg539874.html#msg539874 (https://forum.fhem.de/index.php/topic,62440.msg539874.html#msg539874)
zeig mal bitte einen screenshot von der meldung und die javascript console wenn das passiert.
Hallo,
nach dem Update (gestern?) wird wieder nicht sortiert. Nachdem ich wieder die JS-Fehlermeldungen eingeschaltet habe, kommt beim Öffnen der Seite:
sorttable.js line 203:
Uncaught TypeError: Cannot read property 'rows' of null
In der Konsole steht dazu:
Uncaught TypeError: Cannot read property 'rows' of null
at Object.doSort (sorttable.js:203)
at HTMLTableElement.<anonymous> (fhemweb_readingsGroup.js:18)
at Function.each (jquery.min.js:2)
at m.fn.init.each (jquery.min.js:2)
at fhemweb_readingsGroup.js:15
Und hier nochmal ein list der rg:
Internals:
CFGFN
DEF Abfall:<Tag>,<Datum>,<>,<Ereignis>,<Tage>
Abfall:Restabfall_wochentag,Restabfall_datum,<%dustbin>,Restabfall_text,Restabfall_tage
Abfall:Altpapier_wochentag,Altpapier_datum,<%dustbin@04D921>,Altpapier_text,Altpapier_tage
Abfall:Bioabfall_wochentag,Bioabfall_datum,<%dustbin@D2691E>,Bioabfall_text,Bioabfall_tage
Abfall:GelberSack_wochentag,GelberSack_datum,<%dustbin@FFFF00>,GelberSack_text,GelberSack_tage
Abfall:Sperrmuell_wochentag,Sperrmuell_datum,<%scene_livingroom@01A3F5>,Sperrmuell_text,Sperrmuell_tage
Abfall:Gruenabfall_wochentag,Gruenabfall_datum,<%christmas_tree@2B6B17>,Gruenabfall_text,Gruenabfall_tage
Abfall:Weihnachtsbaeume_wochentag,Weihnachtsbaeume_datum,<%christmas_tree@2B6B17>,Weihnachtsbaeume_text,Weihnachtsbaeume_tage
NAME rgAbfallkalender
NR 15
NTFY_ORDER 50-rgAbfallkalender
STATE Initialized
TYPE readingsGroup
mayBeVisible 1
Content:
Abfall 1
Content2:
DEVICES:
ARRAY(0x49554a0)
ARRAY(0x52b2748)
ARRAY(0x4ba3078)
ARRAY(0x4d728b8)
ARRAY(0x5279660)
ARRAY(0x4babd10)
ARRAY(0x46534e0)
ARRAY(0x4f16e18)
Fhem:
lastDefChange 61
last_update 1484718738.79671
Helper:
DEF
valueStyle { if ($READING =~ ".*tage" && $VALUE == 0) { 'style="color:red"'}
elsif ($READING =~ ".*tage" && $VALUE == 1 ) { 'style="color:yellow"'}
elsif ($READING =~ ".*tage" && $VALUE > 1 && $VALUE < 8) { 'style="color:green"'} }
Positions:
Abfall.Altpapier_datum 3:2
Abfall.Altpapier_tage 3:5
Abfall.Altpapier_text 3:4
Abfall.Altpapier_wochentag 3:1
Abfall.Bioabfall_datum 4:2
Abfall.Bioabfall_tage 4:5
Abfall.Bioabfall_text 4:4
Abfall.Bioabfall_wochentag 4:1
Abfall.GelberSack_datum 5:2
Abfall.GelberSack_tage 5:5
Abfall.GelberSack_text 5:4
Abfall.GelberSack_wochentag 5:1
Abfall.Gruenabfall_datum 7:2
Abfall.Gruenabfall_tage 7:5
Abfall.Gruenabfall_text 7:4
Abfall.Gruenabfall_wochentag 7:1
Abfall.Restabfall_datum 2:2
Abfall.Restabfall_tage 2:5
Abfall.Restabfall_text 2:4
Abfall.Restabfall_wochentag 2:1
Abfall.Sperrmuell_datum 6:2
Abfall.Sperrmuell_tage 6:5
Abfall.Sperrmuell_text 6:4
Abfall.Sperrmuell_wochentag 6:1
Abfall.Weihnachtsbaeume_datum 8:2
Abfall.Weihnachtsbaeume_tage 8:5
Abfall.Weihnachtsbaeume_text 8:4
Abfall.Weihnachtsbaeume_wochentag 8:1
Values:
formated:
undef
ARRAY(0x4a19f10)
ARRAY(0x5284528)
undef
ARRAY(0x4f3bc38)
ARRAY(0x52fc958)
orig:
undef
ARRAY(0x41c4578)
ARRAY(0x4e4f2b8)
undef
ARRAY(0x4dd9b80)
ARRAY(0x4d62ff0)
prefixsuffix:
undef
ARRAY(0x4b99258)
ARRAY(0x49f9230)
undef
ARRAY(0x4cda670)
ARRAY(0x4dfe568)
Attributes:
alias Müllabfuhr
group Termine
nonames 1
room Allgemein
sortColumn 5
sortby 1
valueStyle { if ($READING =~ ".*tage" && $VALUE == 0) { 'style="color:red"'}
elsif ($READING =~ ".*tage" && $VALUE == 1 ) { 'style="color:yellow"'}
elsif ($READING =~ ".*tage" && $VALUE > 1 && $VALUE < 8) { 'style="color:green"'} }
Hallo,
ich habe beim Öffnen eines Raumes mit einer readingsGroup auch den Fehler:
Uncaught TypeError: Cannot read property 'rows' of null
Dies tritt nur auf, wenn sich auch ein Plot im gleichen Raum befindet.
Gibt es hierzu eine Lösung?
Hi,
ich habe den selben Fehler:
sorttable.js line 203:
Uncaught TypeError: Cannot read property 'rows' of null
Hat jemand dafür eine Lösung gefunden?
Grüße,
Christian
Ich habe derzeit ebenfalls den Fehler bei readingsgroup mit dem nmap Modul.
Gibt es mittlerweile eine Lösung dazu?
Moin,
dito, habe die Sortierung momentan aus der NMAP-Übersicht rausgeschmissen.
Ebenfalls das gleiche Thema, gibt es schon eine Lösung außer das sortColumns zu entfernen?
BUMP :)
Also wenn ich es richtig identifiziert habe, könnte das Problem der Timeout von 100ms für das Laden des Skripts sein. Zumindest bei mir kommt der Fehler:
sorttable.js line 203:
TypeError: null is not an object (evaluating 'table.tHead.rows')
Wenn ich den Timeout auf, sagen wir 500ms erhöhe, klappt es.
Irgendwie scheint es da (zumindest bei mir in Safari) etwas länger zu dauern.
Vielleicht liegt es daran, dass der Tabellen-Kopf erst erstellt und eingefügt werden muss, da der originale Markup von der Komponente kein <thead> schreibt. 🤷🏽♂️
Wow, super dass der Bug endlich gefunden ist.
Kommt der Fix mit einem Update?
Danke