Neues Modul readingsGroup

Begonnen von Niko, 24 August 2013, 11:59:11

Vorheriges Thema - Nächstes Thema

Tommy82

So einfach kann es sein.....Keine Ahnung wie ich das darein bekommen hab.

Danke für den Hinweis, jetzt passt es wieder
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

hartenthaler

Ich brauche Hilfe beim Parameter sortFn einer readingsGroup. Bei einer anderen readingsGroup habe ich es bereits einmal hinbekommen, aber dieses Mal sehe ich nicht wie ich es formulieren muss.

Ich habe eine readingsGroup, die aus diversen Devices ein userReading zusammensammelt, das das Datum des letzten Batteriewechsels enthält. Diese Readings sehen so aus:
setstate Tuer.Keller 2016-11-21 00:39:24 batteriewechsel 2016-06-19also ein Datum in der Form yyyy-mm-dd. Müsste sich also leicht chronologisch sortieren lassen.

Hier die Definition der readingsGroup

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:batteriewechsel
attr rg_Batteriewechsel mapping %ALIAS
attr rg_Batteriewechsel notime 1
attr rg_Batteriewechsel valueFormat { substr($VALUE,8,2).".".substr($VALUE,5,2).".".substr($VALUE,0,4) }


Wie muss ich sortFn formulieren, damit die Einträge chronologisch, also nach "batteriewechsel" sortiert werden. Ich bekomme es einfach nicht hin.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

justme1968

damit sortiert wird musst du im define die spalte und den teil des readings angeben nach dem sortiert werden soll:

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:@1,batteriewechsel.(.*)

sortFn musst du nicht setzen. der default ist alphabetisch. das sollte passen. falls du es umgekehrt haben möchtes:@{$b}[1] cmp @{$a}[1]

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

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

hartenthaler

ok, das sieht viel einfacher aus als alles was ich probiert habe. Danke.

Aber: es erfolgt ein sofortiger Absturz von fhem. Im Log steht als letzte Meldung: Can't use an undefined value as an ARRAY reference at ./FHEM/33_readingsGroup.pm line 800.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

cerberus

#1639
Hallo, ich habe seit einiger Zeit Probleme mit meinem Fhem Server und habe die Vermutung das es an meiner Readingsgroup für meine Heizungsregler liegt. Einen Beitrag dazu habe ich hier erstellt.

https://forum.fhem.de/index.php/topic,10607.msg529469.html#msg529469

Wenn ich zu Hause bin, stelle ich dann noch die Group ein. Ich hoffe ihr habt eine Idee dazu warum sich mein Fehm immer aufhängt. Vorerst habe ich die Group für die Heizung erst mal raus genommen, wobei ich auch noch Readingsgroups für andere Funktionen scheinbar problemlos betreiben kann.


So hier noch der Code der ReadingsGroup sowie der LOG Auszug. Wenn ich über die ReadingsGroup z.B. die den Mode Automatik/Manual setze passiert es, dass der Server hängen bleibt und weder die Web Oberfläche erreichbar ist noch eine Funkkommunikation stattfindet.

define heatingInfo readingsGroup <%sani_heating>,<Soll>,<Soll neu>,<Ist>,<Feuchte>,<Ventil>,<Modus>,<Lock>,<Bat>\
WT_EG_WO_Climate:desired-temp,<sollsetz>,measured-temp@WT_EG_WO,humidity@WT_EG_WO,actuator@WT_EG_WO,controlMode,R-btnLock@WT_EG_WO,battery@WT_EG_WO \
WT_EG_KU_Climate:desired-temp,<sollsetz>,measured-temp@WT_EG_KU,humidity@WT_EG_KU,actuator@WT_EG_KU,controlMode,R-btnLock@WT_EG_KU,battery@WT_EG_KU \
WT_EG_DU_Climate:desired-temp,<sollsetz>,measured-temp@WT_EG_DU,humidity@WT_EG_DU,actuator@WT_EG_DU,controlMode,R-btnLock@WT_EG_DU,battery@WT_EG_DU \
WT_EG_FL_Climate:desired-temp,<sollsetz>,measured-temp@WT_EG_FL,humidity@WT_EG_FL,actuator@WT_EG_FL,controlMode,R-btnLock@WT_EG_FL,battery@WT_EG_FL \
WT_OG_BA_Climate:desired-temp,<sollsetz>,measured-temp@WT_OG_BA,humidity@WT_OG_BA,actuator@WT_OG_BA,controlMode,R-btnLock@WT_OG_BA,battery@WT_OG_BA \
WT_OG_SC_Climate:desired-temp,<sollsetz>,measured-temp@WT_OG_SC,humidity@WT_OG_SC,actuator@WT_OG_SC,controlMode,R-btnLock@WT_OG_SC,battery@WT_OG_SC \
WT_OG_CH_Climate:desired-temp,<sollsetz>,measured-temp@WT_OG_CH,humidity@WT_OG_CH,actuator@WT_OG_CH,controlMode,R-btnLock@WT_OG_CH,battery@WT_OG_CH \
WT_OG_SA_Climate:desired-temp,<sollsetz>,measured-temp@WT_OG_SA,humidity@WT_OG_SA,actuator@WT_OG_SA,controlMode,R-btnLock@WT_OG_SA,battery@WT_OG_SA
attr heatingInfo cellStyle { "r:1"=>'style="font-weight:bold;;font-size:16px"',"r:2,c:0"=>'style="font-weight:bold"',"r:6,c:0" =>'style="font-weight:bold"',"r:9,c:0"=>'style="font-weight:bold"',"r:12,c:0"=>'style="font-weight:bold"'}
attr heatingInfo commands { 'heatingInfo.sollsetz'=>'desired-temp:', "controlMode.manual"=>"set %DEVICE controlMode auto","controlMode.auto"=>"set %DEVICE controlMode manual", "R-btnLock.on"=>"set %DEVICE regSet btnLock off", "R-btnLock.off"=>"set %DEVICE regSet btnLock on"}
attr heatingInfo group Räume
attr heatingInfo noheading 1
attr heatingInfo room Heizung
attr heatingInfo style style="border:0px;;background:none;;box-shadow:none"
attr heatingInfo valueFormat {if($READING eq "actuator" && $VALUE ne "0"){$VALUE = int($VALUE/10)*10}}
attr heatingInfo valueIcon {'controlMode.manual' => 'sani_heating_manual@795CFF', 'controlMode.auto' => 'sani_heating_automatic@FFC13A', 'controlMode.boost' => 'sani_heating_boost@FB0C02', 'humidity'=>'humidity@6FD9FB', 'R-btnLock.on'=>'secur_locked@F7301D', 'R-btnLock.off'=>'secur_open@0CFB0C','actuator.0' => 'sani_heating_level_0@002AE0', 'actuator.10' => 'sani_heating_level_10@F8D53D','actuator.20' => 'sani_heating_level_20@FF9341', 'actuator.30' => 'sani_heating_level_30@F17F3F','actuator.40' => 'sani_heating_level_40@E46C3C', 'actuator.50' => 'sani_heating_level_50@DE3B3A','actuator.60' => 'sani_heating_level_60@A30D2D', 'actuator.70' => 'sani_heating_level_70@B40A23','actuator.80' => 'sani_heating_level_80@C40619', 'actuator.90' => 'sani_heating_level_90@D4030F','actuator.100' => 'sani_heating_level_100@E50005', 'battery.ok' => 'measure_battery_100@lightgreen', 'battery.low' => 'measure_battery_50@red','controlMode.set_boost' => 'hourglass', 'controlMode.set_auto' => 'hourglass','controlMode.set_manual' => 'hourglass', 'R-btnLock.set_on' => 'hourglass','R-btnLock.set_off' => 'hourglass'}
attr heatingInfo valueStyle {if($READING eq "measured-temp") {my $t=$VALUE;;my $d=ReadingsVal($DEVICE,'desired-temp',0);; if($t-$d>=1){'style="color:rgb(251,63,11);;"'}elsif($t-$d<=-1){'style="color:rgb(79,58,251);;"'} else{'style="color:rgb(12,251,12);;"'}}}
attr heatingInfo valueSuffix {"desired-temp"=>" °C", "measured-temp"=>" °C", "actuator"=>" (".ReadingsVal($DEVICE,$READING,0)." %)", "humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." % ", "batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)"}
attr heatingInfo mapping {WT_EG_WO_Climate=>"Wohnzimmer", WT_EG_KU_Climate=>"Küche", WT_EG_DU_Climate=>"Dusche", WT_EG_FL_Climate=>"Flur",WT_OG_BA_Climate=>"Bad", WT_OG_SC_Climate=>"Schlafzimmer", WT_OG_CH_Climate=>"Chiara", WT_OG_SA_Climate=>"Saskia",'desired-temp' => }
attr heatingInfo verbose 5


LOG
2016.11.27 14:03:31.228 3: CUL_HM set WT_EG_WO_Climate desired-temp 21.5
2016.11.27 14:03:48.822 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:04:08.847 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:04:08.870 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:04:54.638 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:07.717 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:08.341 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:10.819 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:13.563 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:14.838 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:14.861 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:23.470 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:23.513 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:23.558 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:23.616 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:23.650 3: CUL_HM set WT_EG_WO_Climate controlMode manual


Gruß cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

justme1968

@hartenthaler: der absturz ist ab der morigen version abgefangen. das problem tritt auf wenn die regex für das reading nicht stimmt und die list leer ist. d.h. batteriewechsel.(.*) passt scheinbar nicht auf deine readings.

@cerberus: was genau heisst hängen bleiben? läuft fhem tatsächlich noch? was siehst du wenn du dich mit strace -p <fhem pid> an den fhem prozess hängst?

das log sagt nur das die readingsGroup gerade nicht angezeigt wird und deshalb auch nichts weiter macht. was komisch ist bzw. gar nicht geht wenn du über die readingsGroup etwas einstellst.

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

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

hartenthaler

Fein, dann werde ich mit der stabilisierten Version dann weiter testen. Danke Dir!

Was funktioniert (aber eben unsortiert)

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:batteriewechsel

Es wird hier nicht sortiert, wenn ich eine sortFn angebe

{ @{$b}[1] cmp @{$a}[1] }


Alle folgenden Versionen führen mit der noch aktuellen Version zum sofortigen Absturz von fhem

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:@1,batteriewechsel.(.*)
defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:@1,batteriewechsel(.*)
defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:@1,batteriewechsel
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

cerberus

Hallo  justme1968, danke für deine Antwort.

Ich habe nun den Fall mal nachgestellt und mit strace einen Log gemacht. Ich habe den Eindruck das nach dem set desired-temp wenn dann automatisch das getConfig durchgeführt wird, der Server überlastet ist. Im Fhem LOG kann man sehen das plötzlich der RS485 LAN Gateway neu startet, das WEB Frontend hängt dann auch und die Funkkommunikation. Nach einer Weile fängt sich der Server wieder, aber oft hatte ich es auch schon das nichts mehr ging.

Grüße
cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

Invers

Ich habe hier https://forum.fhem.de/index.php/topic,61705.msg531630.html#msg531630
ein Problem mit readingsChange und Readingsgroup geschildert. Das Problem könnte im Modul RG liegen.
Ich bitte mal um gelegentliche Prüfung, ob es ein Bug ist. Werte aus readingsChange werden in der RG nicht aktualisiert.
Hat aber keine Eile, da ich das Konstrukt nur einmal zum Test benutzt habe.

Vielen Dank.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Tommy82

Hi, habe heute folgende Warnung im Log.

2016.12.02 22:29:40.589 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 528.
2016.12.02 22:29:40.590 1: stacktrace:
2016.12.02 22:29:40.590 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (527)
2016.12.02 22:29:40.591 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1048)
2016.12.02 22:29:40.591 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1137)
2016.12.02 22:29:40.592 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (2838)
2016.12.02 22:29:40.592 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1547)
2016.12.02 22:29:40.592 1:     main::FW_makeDeviceLine             called by ./FHEM/01_FHEMWEB.pm (1655)
2016.12.02 22:29:40.592 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (913)
2016.12.02 22:29:40.593 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (456)
2016.12.02 22:29:40.593 1:     main::FW_Read                       called by fhem.pl (3264)
2016.12.02 22:29:40.593 1:     main::CallFn                        called by fhem.pl (672)
2016.12.02 22:30:00.259 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 528.
2016.12.02 22:30:00.260 1: stacktrace:
2016.12.02 22:30:00.260 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (527)
2016.12.02 22:30:00.261 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1048)
2016.12.02 22:30:00.261 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1137)
2016.12.02 22:30:00.261 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (2838)
2016.12.02 22:30:00.262 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1547)
2016.12.02 22:30:00.262 1:     main::FW_makeDeviceLine             called by ./FHEM/01_FHEMWEB.pm (1655)
2016.12.02 22:30:00.262 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (913)
2016.12.02 22:30:00.263 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (456)
2016.12.02 22:30:00.263 1:     main::FW_Read                       called by fhem.pl (3264)
2016.12.02 22:30:00.263 1:     main::CallFn                        called by fhem.pl (672)


Wo hab ich meinen Fehler?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

hartenthaler

#1645
Zitat von: hartenthaler am 27 November 2016, 16:55:39
Ich habe eine readingsGroup, die aus diversen Devices ein userReading zusammensammelt, das das Datum des letzten Batteriewechsels enthält. Diese Readings sehen so aus:
setstate Tuer.Keller 2016-11-21 00:39:24 batteriewechsel 2016-06-19also ein Datum in der Form yyyy-mm-dd. Müsste sich also leicht chronologisch sortieren lassen.

Hier die Definition der readingsGroup

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:batteriewechsel
attr rg_Batteriewechsel mapping %ALIAS
attr rg_Batteriewechsel notime 1
attr rg_Batteriewechsel valueFormat { substr($VALUE,8,2).".".substr($VALUE,5,2).".".substr($VALUE,0,4) }


Das ergibt eine Liste in folgender Form

Gerät mit Batterie              Datum des Batteriewechsels
-----------------------------------------------------------
Balkontür Schlafzimmer Flügel   07.08.2016
Balkontür Wohnzimmer Flügel     10.08.2016
Tür Keller                      19.06.2016
...

Wie kann ich diese eigentlich schon fast perfekte Liste nun noch nach dem Datum sortieren (älteste zuerst)? Die Angabe einer sortFn hat nicht funktioniert bzw. ich habe es nicht hinbekommen.

Andre, Du hattest mir folgenden Rat gegeben:
Zitat von: justme1968 am 27 November 2016, 17:25:50
damit sortiert wird musst du im define die spalte und den teil des readings angeben nach dem sortiert werden soll:

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:@1,batteriewechsel.(.*)
Das hatte zum Absturz von fhem geführt. Nachdem mit der neuen Version des Moduls dieses Problem nun behoben ist, konnte ich weiter testen, aber alle Versuche führten zu keinem brauchbaren Ergebnis. Entweder ist die Liste dann ganz leer oder die erste Spalte mit den Gerätenamen ist leer. Und sortiert wird auch nicht. Eigentlich ist die Liste doch so einfach strukturiert, da müsste ich es doch hinbekommen. Tue ich aber nicht. Grrr. Hilfe!
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

justme1968

wir hatten aneinander vorbei geredet.

mit der sortFn kann man nach (teilen) der reading namen sortieren. nicht nach dem inhalt der readings.

nach dem inhalt der readings zu sortieren ist aktuell nicht möglich. unter anderem weil ja die readings per longpoll aktualisiert werden und dann eigentlich auch die reihenfolge korrigiert werden muss.

da die readingsGroup die readings einfach der reihenfolge nach durchgeht und die tabelle aufbaut ist ein weiteres problem. hier zu sortieren würde ein zweistufiges vorgehen nötig machen.

aber: das was du möchtest lässt sich vermutlich hiermit: https://forum.fhem.de/index.php/topic,61020.0.html besser lösen. ich habe es aber noch nicht probiert und weiss nicht ob und wie man eine default sortierung vorgeben kann.

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

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

Tommy82

Hab heute noch ein paar Meldungen mehr im LOG:
2016.12.04 20:10:56.027 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1310.
2016.12.04 20:10:56.028 1: stacktrace:
2016.12.04 20:10:56.029 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (1307)
2016.12.04 20:10:56.029 1:     main::readingsGroup_Notify          called by fhem.pl (3264)
2016.12.04 20:10:56.030 1:     main::CallFn                        called by fhem.pl (3186)
2016.12.04 20:10:56.030 1:     main::DoTrigger                     called by fhem.pl (4077)
2016.12.04 20:10:56.031 1:     main::readingsEndUpdate             called by ./FHEM/70_ENIGMA2.pm (2246)
2016.12.04 20:10:56.032 1:     main::ENIGMA2_ReceiveCommand        called by FHEM/HttpUtils.pm (89)
2016.12.04 20:10:56.032 1:     main::HttpUtils_Err                 called by fhem.pl (2866)
2016.12.04 20:10:56.033 1:     main::HandleTimeout                 called by fhem.pl (604)
2016.12.04 20:11:22.305 2: Cul433 IT_set: Steckdose_Buero_Schrank_Licht off
2016.12.04 20:31:14.050 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 528.
2016.12.04 20:31:14.051 1: stacktrace:
2016.12.04 20:31:14.051 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (527)
2016.12.04 20:31:14.052 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1048)
2016.12.04 20:31:14.052 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1519)
2016.12.04 20:31:14.052 1:     main::readingsGroup_Get             called by fhem.pl (3264)
2016.12.04 20:31:14.053 1:     main::CallFn                        called by fhem.pl (1690)
2016.12.04 20:31:14.053 1:     main::CommandGet                    called by fhem.pl (1085)
2016.12.04 20:31:14.053 1:     main::AnalyzeCommand                called by fhem.pl (955)
2016.12.04 20:31:14.054 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2274)
2016.12.04 20:31:14.054 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (728)
2016.12.04 20:31:14.054 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (456)
2016.12.04 20:31:14.054 1:     main::FW_Read                       called by fhem.pl (3264)
2016.12.04 20:31:14.055 1:     main::CallFn                        called by fhem.pl (672)


Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

hartenthaler

Zitat von: justme1968 am 04 Dezember 2016, 18:30:48
...
aber: das was du möchtest lässt sich vermutlich hiermit: https://forum.fhem.de/index.php/topic,61020.0.html besser lösen. ich habe es aber noch nicht probiert und weiss nicht ob und wie man eine default sortierung vorgeben kann.

Danke Andre, das war's genau. Funktionierte auf Anhieb. Es gibt keine Standardvorgabe für die Sortierung, man klickt auf einen Spaltenkopf und es erscheint ein kleiner Pfeil und die Tabelle ist sortiert. Nochmal klicken sortiert in der anderen Reihenfolge. Allerdings natürlich entsprechend des angezeigten Inhalts. Ich musste also mein angepasstes Format dd.mm.yyyy wieder wegnehmen, damit die Originalinhalte mit yyyy-mm-dd angezeigt und so nach Datum sortierbar sind. Wenn ich in die .js einsteigen würde, ginge das sicher auch noch anders. Aber der Hauptzweck zu sehen welche Batterie am ältesten ist, ist nun gut erfüllt.

Danke für den Hinweis!
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

justme1968

@hartenthaler: ich habe eine erste version eingecheckt die die sortier funktionalität aus dem anderen thread direkt eingebaut hat. mit der zusätzlichen möglichkeit automatisch nach dem seitenaufbau schon nach einer spalte zu sortieren. mehr hier: https://forum.fhem.de/index.php/topic,62440.0.html
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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